Практический опыт использования решения Oracle GoldenGate
Программное обеспечение Программное обеспечение

Практический опыт использования решения GoldenGate от компании Oracle – мощного инструмента для онлайн-репликации, обработки данных и дополнительной аналитики

Главная>Программное обеспечение>Опыт использования решения Oracle GoldenGate
Программное обеспечение Тема номера

Опыт использования решения Oracle GoldenGate

Дата публикации:
14.11.2016
Посетителей:
3192
Просмотров:
2988
Время просмотра:
2.3

Авторы

Автор
Роман Давыдов Aрхитектор Центра внедрения бизнес-систем компании "Инфосистемы Джет"
Современные темпы развития бизнеса диктуют свои условия получения данных. Бизнесу для принятия оперативных решений требуется самая актуальная информация по текущему состоянию компании практически в режиме онлайн (в зависимости от отрасли: retail – количество продаж за день, service – количество обращений клиентов за день и т.д.). Для решения таких задач (построение онлайн-баз данных для анализа) корпорация Oracle выпустила и достаточно активно развивает продукт GoldenGate, который мы подробно изучили. К сожалению, мы не можем в данной статье называть имена наших заказчиков, но хотим описать свой практический опыт использования GoldenGate на нескольких проектах.

 

 

Oracle GoldenGate – это не просто решение по репликации данных, а решение для создания real-time-приложений. GoldenGate обеспечивает сбор, маршрутизацию, преобразование и доставку транзакционных данных между гетерогенными средами в реальном времени c минимальной дополнительной нагрузкой. Данное решение можно использовать для построения сложной отчетности или как исходную систему для ETL (система выгрузки, загрузки и преобразования данных). При этом GoldenGate имеет широкие возможности интеграции c Oracle Data Integrator, расширяя функциональность последнего.

 

Немного практики, или с чего все начиналось?

 

До момента запуска решения процесс обеспечения данными бизнес-аналитиков заказчика выглядел приблизительно так:

 

  • из учетных систем делались ночные выгрузки, загружаемые затем в отчетные базы;
  • пользователям предоставлялся доступ к репликам.

 

Все эти варианты, конечно, работали до некоторого момента роста бизнеса и требований к оперативности построения отчетности. Затем минусы решений стали слишком большим сдерживающим фактором развития.

 

Начну с минусов второго варианта. Даже если реплика содержит данные с маленьким отставанием по времени, архитектура данных в ней OLTP-шная, не предназначенная для анализа большого объема данных. Специалисту, работающему с программой, хочется иметь возможность добавлять поля в те или иные таблицы: в одну таблицу – секции по дате, в другую – битовый индекс, а в таблицу клиентов – еще несколько полей для денормализации. Но ничего этого сделать нельзя, да и сервер реплики – не всегда шустрая машина.

 

Минус первого варианта – отставание по времени, хотя архитектура, скорее всего, уже заложена под массовый анализ данных. Да и выгрузки не могут быть всеобъемлющими – задан конечный набор сущностей и атрибутов. Добавление новых сущностей для более обширного анализа – задача не всегда решаемая, так как она упирается в ресурсы сервера и окно выгрузки. Внедрение GoldenGate нашей командой помогло заказчику справиться с этими минусами. Кроме этого, решение предоставило дополнительный функционал для анализа работы с клиентами.

 

Ниже мы расскажем о принципах работы GoldenGate и нашем опыте его настройки.

 

Принцип работы GoldenGate

 

Рисунок 1. Схема работы GoldenGate

 

В рамках работ мы должны были установить GoldenGate и на источники, и на приемник данных (в случае невозможности прямой связи источника и приемника обычно выделяется дополнительный промежуточный сервер, после чего проводится настройка нескольких параметров баз систем источников – все!). GoldenGate был быстро установлен и готов к настройке и запуску в эксплуатацию.

 

После запуска программного обеспечения на источнике стали собираться изменения из redo-log- или archive redo-log-файлов, пересылаться посредством так называемых передаточных trail-файлов на сервер-приемник и применяться в базе аналитической системы.

 

Вся прелесть GoldenGate заключается в том, что для получения данных он использует журналы повторного выполнения. Никаких запросов к базе, никаких триггеров и т.д. Нагрузка на источники минимальна! Для особо требовательных систем есть режим downstream, снижающий нагрузку на исходную систему практически до нуля.

 

Этапы использования GoldenGate

 

Отчетность

Когда у бизнеса заказчика созрела потребность в изменении отчетности и на основе этого были сформулированы пожелания по увеличению оперативности предоставления данных (онлайн), содержанию отчетности и сокращению времени ее формирования, GoldenGate позволил нам легко справиться с первой задачей, а вот со второй, конечно, пришлось повозиться.

 

Несмотря на то что GoldenGate отлично реплицирует данные, когда структуры источника и приемника различаются, нужно учитывать, что это все же не ETL/ELT-инструмент, хотя на нем можно решать некоторые подобные задачи. И здесь нам на помощь пришла интеграция с полноценным и мощным ELT-инструментом все того же производителя – Oracle Data Integrator. Связка этих двух «монстров» позволила нам решить задачи по формированию любых форматов отчетности.

 

Итогом стало то, что бизнес получил обновляемую в режиме реального времени отчетно-ориентированную базу данных (с дополнительными индексами, секциями, денормализованными сущностями), которую можно использовать для быстрого выполнения запросов аналитиков и формирования отчетов.

 

Обратная связь от представителей заказчика показывает, что, поработав некоторое время с новой отчетностью, бизнес определил для себя следующие шаги повышения эффективности своей работы.

 

Хранилище данных

Следующая потребность, сформулированная представителями заказчика, заключалась в обеспечении возможности выполнения анализа данных во временном разрезе. И тут перед нами встал вопрос построения хранилища данных.

 

Но как получать данные для хранилища, да еще в режиме реального времени? Триггеры отпадают сразу же. Включать штатное логирование изменений на источнике не всегда возможно, да и накладно это по ресурсам – это могут позволить не все системы.

 

И в данном случае нам на выручку опять пришел GoldenGate. Это решение позволяет получать все изменения данных в режиме онлайн и привязывать их к дате и времени, когда эти изменения произошли в базе данных.

 

Для загрузки изменений мы обычно рекомендуем использовать, например, Oracle Data Integrator, тогда на выходе получится онлайн-хранилище данных. Конечно, для его реализации потребуются определенные навыки работы с GoldenGate и Oracle Data Integrator, а также сервер соответствующей мощности. Часто заказчики не готовы к такому повороту событий, они продолжают по старинке загружать информацию, используя для этого регламентные окна и пакетный режим загрузки.

 

В нашем случае после внедрения GoldenGate бизнес-заказчик получил хранилище данных с детальным ведением истории изменений, без доработки систем-источников. Созданное хранилище данных позволяет отслеживать историю поведения клиентов – заинтересованность в разных продуктах компании и т.д.

 

Хранилище данных есть, онлайн-отчетность есть!

 

Данные времени выполнения

Но как быть, спросите вы, если представители заказчика хотят получать данные о времени выполнения определенных действий? В нашем случае это касалось, в частности, заявок на кредиты. Сотрудник заказчика работал с информацией по заявке на кредиты, момент работы фиксировался в одном из полей USER_ID, но информации о дате начала и окончании работы не было. Иногда поле USER_ID дополнялось полем «дата модификации» UPD_DT. Но данная ситуация приводила к тому, что нельзя было однозначно рассчитать KPI работы сотрудников и выявить причины зависания заявок на определенных шагах и/или этапах прохождения заявки.

 

Рисунок 2. Прием работы с заявкой

Кроме этого, заявки время от времени передавались другим сотрудникам. Значения полей USER_ID, UPD_DT менялось на нового сотрудника и дату изменения, без сохранения истории о предыдущем сотруднике. Казалось бы, дата изменения была, сотрудник тоже был указан, все можно получить. Дело в том, что между интервалами загрузки данных в BI может происходить несколько изменений, и тогда промежуточные изменения будут потеряны. Уменьшение интервалов загрузки тоже не помогало, так как заявка могла переходить от сотрудника к сотруднику несколько раз в течение нескольких секунд.

 

Не буду утверждать, что во всех системах был реализован такой алгоритм сохранения информации по заявкам, но с большой долей вероятности можно предположить, что в любой системе есть информация по действиям сотрудников, для которых не хранится история изменений, так как все-таки это OLTP-система, а не хранилище данных.

 

Вернемся к заявке… той, дополнительно полученной информацией было время работы сотрудника с заявкой, его напрямую можно было использовать при расчете KPI сотрудников и для выявления причин длительных интервалов в работе с заявкой. Не этого ли добивался бизнес? Уменьшения времени обслуживания и устранения неэффективных этапов…

 

Бывалые знатоки репликации вспомнят еще один инструмент от Oracle – Oracle Streams. Конечно, определенный функционал GoldenGate можно повторить на Oracle Streams, но Oracle перестал развивать этот продукт, сделав ставку на GoldenGate, перенеся наработки Streams в ядро GoldenGate.

 

Описанные выше показатели времени выполнения есть не только у заявок. У многих других сущностей также можно найти такие нюансы сохранения информации (работа выездной бригады по устранению неполадок, работа менеджера продаж по заявкам) опять-таки по причине того, что архитектура OLTP-системы не всегда подразумевает сохранение истории изменений.

 

Рисунок 3.Работа сотрудников с заявками через GoldenGate

 

После внедрения GoldenGate бизнес заказчика получил дополнительную информацию для расчета эффективности сотрудников и выявления узких мест обслуживания клиентов. Для конкурентной работы финансовой организации это очень важные показатели.

 

С помощью решения GoldenGate мы смогли не только решить технологическую задачу онлайн-репликации, но и обеспечили реализацию крайне актуальной потребности для бизнеса – предоставили быстрый и мощный инструмент для обработки данных и дополнительной аналитики. Конкурирующих продуктов по производительности, особенно при работе с базами данных Oracle, у него практически нет.

Уведомления об обновлении тем – в вашей почте

Наши проекты: «Внедрение системы управления взаимоотношениями с клиентами на основе Oracle Siebel CRM в КБ «Транспортный»

ООО КБ «Транспортный» создан в 1994 г. и осуществляет банковскую деятельность в Москве и Центральном Федеральном округе. Банк является универсальным коммерческим банком, предоставляющим своим клиентам весь спектр современных банковских услуг.

Думы об аутсорсинге

Начать эту статью мне хотелось бы перифразом Владимира Маяковского: если ИТ-аутсорсинг выбирают, значит это кому-нибудь нужно. Возникают вопросы - кому именно и в каких ситуациях?

«Что это у нас за газета», или Специфика BI на российском рынке

Наш герой Джети еще ни разу в жизни не был в мегаполисе, образ кипящей жизни миллионов людей создавал в его голове интернет

Проблема 2000

До наступления 2000 года остается все меньше времени. Все более заметны усилия компаний и государственных организаций, стремящихся найти за оставшиеся месяцы адекватное решение проблем, вызванных наступлением нового тысячелетия. Вполне ...

Аутсорсинг бизнес-систем: pro без contra

Классический аутсорсинг, подразумевающий передачу ИТ-инфраструктуры компании на внешнее обслуживание, достаточно банален. В свою очередь, выгоды, которые дает подобная схема, очевидны и многократно обсуждались экспертами и СМИ

Интеграционные решения Oracle: обзор важнейших направлений

Когда речь заходит об интеграции, в голове обычного представителя ИТ-профессии начинает проноситься куча понятий: сервисы, шина данных, единый интерфейс, консолидация данных, сквозные процессы, единая точка входа и т.д.

Open UI: инновации для бизнеса

Было время, когда эргономика промышленных интерфейсов АСУ и ERP систем стояла на последнем плане… В те далекие времена требовалось автоматизировать бизнес-процессы и перенести информацию с бумаги в информационные системы.

Принцип службы поддержки - преемственность опыта

Если углубляться в историю Сервисного центра, то в конце 90-х годов мы сделали себе имя на том, что являлись, по сути, "точечным" сервисом: практически каждый из наших специалистов был известен на рынке. Этот факт обусловлен в том числе тем, что экспертов в ИТ-сфере было не так много, и практически всех из них знали поименно.

Self-Service — новый вектор эволюции платформ BI

Сроки проектов BI не соответствуют темпам изменения бизнес-требований, и причины не только в циклах согласования, но и функциональных ограничениях BI-продуктов.

Спасибо!
Вы подписались на обновления наших статей
Предложить
авторский материал





    Спасибо!
    Вы подписались на обновления наших статей
    Подписаться
    на тему







      Спасибо!
      Вы подписались на обновления наших статей
      Оформить
      подписку на журнал







        Спасибо!
        Вы подписались на обновления наших статей
        Оформить
        подписку на новости







          Спасибо!
          Вы подписались на обновления наших статей
          Задать вопрос
          редактору








            Оставить заявку

            Мы всегда рады ответить на любые Ваши вопросы

            * Обязательные поля для заполнения

            Спасибо!

            Благодарим за обращение. Ваша заявка принята

            Наш специалист свяжется с Вами в течение рабочего дня