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

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

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

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

Дата публикации:
14.11.2016
Посетителей:
8464
Просмотров:
8052
Время просмотра:
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 завершили проект по автоматизации программ лояльности и маркетинга на основе решений Oracle Siebel CRM и Oracle BI. Проект охватил более 220 магазинов «Рив Гош» по всей России – от Калининграда до Петропавловска-Камчатского.

BI - всегда? BI - везде?

Под термином Business Intelligence (BI) чаще всего понимается набор программных средств, позволяющих производить анализ данных (как оперативных, так и исторических) из информационных систем компании и прочих источников

Выбор BI-инструментов для SAP HANA

Не так давно одна российская компания – крупный игрок сферы розничной торговли – обратилась к нам с просьбой увеличить скорость работы ее аналитических отчетов

Шлюзы как средство интеграции баз данных. Практический подход

Практика показывает, что сейчас в целом завершается этап создания оперативных баз данных организаций. В том или ином виде (в виде персональных или промышленных реляционных БД) во многих из них сформировались центры актуальных данных, ...

Теперь можно Exadata’ться по полной

В ноябре прошлого года наша компания получила авторизацию на оказание услуг «Installation & Configuration» для программно-аппаратных комплексов Oracle Exadata Database Machine и Oracle Exadata Storage Expansion Rack

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

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

Защита персональных данных в бизнес-приложениях средствами Oracle Identity Management и смежными решениями

Нормативные документы по информационной безопасности, в том числе по защите персональных данных, рекомендуют использование прошедших в установленном порядке процедуру оценки соответствия (сертифицированных) средств защиты информации (СЗИ) для обеспечения информационной безопасности автоматизированной системы (АС) предприятия.

На чем стоим

Реализация вычислительного комплекса, сочетающего в себе оперативность, гибкость и надежность предоставляемых ИТ-сервисов, была непростой задачей

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





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







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







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







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








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

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

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

            Спасибо!

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

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