Собрал, трансформировал, загрузил
Любой бизнес — это живой организм, который растет, развивается, присоединяет к себе другие компании, открывает новые рынки и осваивает новые направления деятельности, либо рано или поздно сам становится частью какой-либо компании или холдинга. На каждом предприятии существует свой ИТ-ландшафт, состоящий из определенного набора информационных систем, работающих с теми или иными данными. Любые организационные изменения в жизни бизнеса заставляют решать целый ряд задач, связанных с интеграцией различных ИТ-систем. Похожие задачи стоят и перед государственными структурами. Федеральные органы власти взаимодействуют с региональными, а те, в свою очередь, с муниципальными структурами и органами местного самоуправления. Интеграция — это объединение различных информационных систем, благодаря которому они могут использовать единый поток данных, обмениваться информацией, обрабатывать и анализировать ее для последующего принятия решений. В последние годы, в связи с бурным развитием «Интернета вещей», количество источников данных многократно выросло. К информационным системам добавились датчики «умных» устройств, большие данные, социальные сети и множество других генераторов данных. Учитывая современные реалии, в которых приходится работать бизнесу, важно, чтобы этот обмен и анализ проходили в режиме, максимально приближенном к реальному времени, без каких-либо дополнительных нагрузок на инфраструктуру или временных задержек.
Эксперт бизнес-IT интегратора RedSys директор департамента бизнес-приложений Aнатолий Семин рассказывает о существующих методах интеграции данных (репликация, федерализация, универсальная шина), о плюсах и минусах каждого из них.
Интеграция для анализа
Для обмена потоковыми данными наиболее целесообразен интеграционный метод ETL (Extract Transformation Loading). Как можно догадаться по названию, при его использовании данные проходят три этапа: извлечение, трансформацию и загрузку. Технология ориентирована на пакетную обработку данных. Особенность ее применения в проектах построения хранилищ заключается в регулярном использовании механизмов загрузки для обеспечения согласованности данных источников и хранилища, а также витрин. Так, ETL-интеграция предпочтительна при организации процесса переноса данных из разнородных приложений, например, унаследованных и устаревших систем. Нередко на предприятиях можно встретить устаревшие информационные системы, внедренные еще в 1990-е и 2000-е годы. В этих системах уже никто не работает, однако содержащиеся в них сведения еще нужны бизнесу. Чтобы выполнить аналитику для принятия решений, сведения из подобных систем необходимо собрать и разместить в хранилище, где c ними уже будут работать BI-алгоритмы. По опыту RedSys наиболее востребованным сценарием применения ETL-интеграции можно назвать построение аналитических хранилищ данных.
Одно из наиболее крупных проектов, реализованных компанией RedSys, — организация аналитического хранилища данных в Пенсионном Фонде РФ, собирающего информацию из 15 различных источников, один из которых является территориально-распределенным и представлен в 85 регионах.
Как работает ETL
На этапе извлечения данных можно воспользоваться несколькими способами. К примеру, источник применяется как в качестве сервера, так и в качестве клиента. Если мы выбираем вариант с сервером, к нему обращается ETL, осуществляющая выборку и извлечение данных. Из основных недостатков нужно отметить повышенную нагрузку на сервер (то есть на источник), которая возникает при выборке данных. Если источник в данный момент необходим для выполнения других задач либо с ним работают пользователи, нагрузка может быть для них ощутима. В таком случае на помощь приходит метод отслеживания измененных данных (CDC, Change Data Capture). На сервер устанавливается агент CDC, занятый сбором логов СУБД. В результате в режиме онлайн, без какой-либо дополнительной нагрузки, формируется копия инкремента всех источников, с которыми работает ETL.
Можно назначить источник данных и в качестве клиента. Подобный способ распространен, в частности, при работе с базами «1С». В этом случае система, служащая источником данных, сама переводит информацию в CSV, XML или другой универсальный промышленный формат, а ETL периодически забирает файлы для дальнейшей обработки. Источники могут представлять собой разные СУБД с различными форматами представления данных. Задача ETL состоит в том, чтобы унифицировать их. Особенно это актуально при синхронизации мастер-данных.
Этап трансформации происходит уже в хранилище данных и содержит три слоя. Первый (staging) представляет собой копии источников данных с добавлением специальных ключей, обеспечивающих уникальность и историчность информации. Второй слой (детальный) отвечает за логическую обработку и унификацию. Он формирует из данных объектную модель в аналитическом разрезе. Третий слой осуществляет загрузку витрин данных для анализа, с приведением всех показателей к нужным разрезам, всеми необходимыми расчетами и т. д. В дальнейшем пользователь уже может с ними работать так, как ему необходимо.
Инструменты ETL
Средства ETL разрабатывают все ведущие поставщики промышленных СУБД (IBM DataStage, Oracle Data Integrator и другие). Активно используются на рынке и ETL-продукты на базе OpenSource. Но лидером магического квадранта Gartner по технологии ETL является компания Informatica. Ее решения используют, преимущественно финансовые организации, поскольку они лучше всего приспособлены для работы с большими объемами данных и легко масштабируются.
Таким образом, интеграция позволяет бизнесу получить единую картину происходящего в компании, включающую результаты деятельности различных подразделений (производственного, коммерческого, логистического и т. д.), с привязкой всех показателей и максимальной детализацией конкретного продукта или услуги. А использование ETL предоставляет возможность получать качественные, стандартизированные и актуальные данные для последующей обработки в аналитическом хранилище. Все это ускоряет процесс принятия решений и делает работу компании более прозрачной, гибкой и конкурентоспособной.
Опубликовано 07.03.2018