ETL: что такое и зачем нужно?
- Что такое ETL и для чего нужно
- Как устроена ETL-система
- Этапы ETL
- Как реализовать ETL-процесс
- С какими задачами поможет ETL
- Хранилище, озеро и витрина данных
- Преимущества и проблемы ETL-систем
- Кто и как использует ETL
- Примеры использования ETL
Что такое ETL и для чего нужно
Система ETL (англ. Extract, Transform, Load — «извлечение, преобразование, загрузка») позволяет выполнять интеграционные задачи, среди которых наполнение хранилищ данных, миграция данных, межсистемная интеграция. Система позволяет извлекать данные из внешних источников, преобразовывать их и загружать в другую систему. На сегодняшний день технологии ETL являются одними из ключевых решений для построения отчетности и формирования бизнес-аналитики.
Система ETL способствует решению разных бизнес-задач, главная из которых – получение достоверной информации для аналитики. Компании внедряют решения ETL при построении хранилищ и озер данных, разного рода миграций данных, когда одна система прекращает свою работу и необходимо наполнить информацией другую. Это актуально, когда нужно унифицировать данные из разных баз. ETL приводит данные к единой системе значений, обеспечивает их детализацию, качество и достоверность.
Когда используется ETL:
- при интеграции данных во время наполнения озер и хранилищ данных, облачных решений;
- при перемещении информации в хранилище;
- при отправке данных для последующего машинного обучения;
- во время объединения и структуризации данных о спросе, покупках и т.п.;
- при интеграции информации “интернета вещей” в одну систему;
- во время репликации данных и отправки их в облако;
- при подготовке информации для анализа работы бизнеса.
Как устроена ETL-система
Для успешной работы системы необходимо выполнять настройку логики перемещения данных или мэппинг. Это визуальная разработка правил интеграции данных, их трансформации и процессов последовательности загрузки. Задействуются формулы и скрипты.
В работе ETL можно выделить несколько этапов:
- Загрузка данных из источника
Источники бывают разных типов: сайты, мобильные приложения, базы данных SQL- или NoSQL, инструменты передачи данных с датчиков IoT и многое другое. Наиболее часто источниками данных являются OLTP–системы (Online Transaction Processing) для обработки непрерывного потока транзакций: приложения для банков, биржи, ERP-, MES-системы и т.п.
Данные, собранные из многих источников, могут иметь разные форматы. Поэтому важно не только определиться с целевыми данными, но и составить логическую карту, которая определяет взаимосвязь этих данных с источником. На этом этапе проверяют, соответствует ли извлеченная информация исходной, есть ли нежелательные данные, соответствует ли информация требованиям целевого хранилища.
При загрузке информации важно сравнить количество и состав данных, загруженных из источника: если они не совпадают, то во время загрузки могла произойти ошибка, и данные не будут являться валидными.
Также необходимо учитывать:
- требования по времени, отведенному для загрузки данных;
- особенности загрузки: информация иногда загружается волнами с регулярным обновлением, к примеру, раз в сутки, в таком случае полезно иметь справочник о периоде загрузки, в котором будет храниться история всех изменений;
- многократную перезагрузку данных, в таком случае удобно иметь справочник версий для контроля потоков загрузки;
- загрузку данных с ошибками, а чтобы не загружать повторно весь пакет файлов, если в одном из них обнаружили ошибку, можно разделить пакет на файлы по исполнителям, работающим с ними.
- Трансформация данных
Цель этого этапа – подготовить данные к загрузке: происходит преобразование структуры данных, их агрегирование, перевод значений и т.п.
- Загрузка данных в целевую систему
Существуют разные варианты загрузки:
- Первичный – данные загружаются в систему-приемник впервые;
- Инкрементальный – данные загружаются или обновляются периодически (система сравнивает поступающие данные с существующими и создает записи только для новых данных);
- Полное обновление – все содержимое удаляется из системы-приемника, и загружаются последние данные.
Этапы ETL
В работе ETL можно выделить несколько этапов:
- Загрузка данных из источника
Источники бывают разных типов: сайты, мобильные приложения, базы данных SQL- или NoSQL, инструменты передачи данных с датчиков IoT и многое другое. Наиболее часто источниками данных являются OLTP–системы (Online Transaction Processing) для обработки непрерывного потока транзакций: приложения для банков, биржи, ERP-, MES-системы и т.п.
Данные, собранные из многих источников, могут иметь разные форматы. Поэтому важно не только определиться с целевыми данными, но и составить логическую карту, которая определяет взаимосвязь этих данных с источником. На этом этапе проверяют, соответствует ли извлеченная информация исходной, есть ли нежелательные данные, соответствует ли информация требованиям целевого хранилища.
При загрузке информации важно сравнить количество и состав данных, загруженных из источника: если они не совпадают, то во время загрузки могла произойти ошибка, и данные не будут являться валидными.
Также необходимо учитывать:
- требования по времени, отведенному для загрузки данных;
- особенности загрузки: информация иногда загружается волнами с регулярным обновлением, к примеру, раз в сутки, в таком случае полезно иметь справочник о периоде загрузки, в котором будет храниться история всех изменений;
- многократную перезагрузку данных, в таком случае удобно иметь справочник версий для контроля потоков загрузки;
- загрузку данных с ошибками, а чтобы не загружать повторно весь пакет файлов, если в одном из них обнаружили ошибку, можно разделить пакет на файлы по исполнителям, работающим с ними.
2. Трансформация данных
Цель этого этапа – подготовить данные к загрузке: происходит преобразование структуры данных, их агрегирование, перевод значений и т.п.
3. Загрузка данных в целевую систему
Существуют разные варианты загрузки:
- Первичный – данные загружаются в систему-приемник впервые;
- Инкрементальный – данные загружаются или обновляются периодически (система сравнивает поступающие данные с существующими и создает записи только для новых данных);
- Полное обновление – все содержимое удаляется из системы-приемника, и загружаются последние данные.
Как реализовать ETL-процесс
Реализация ETL-процесса включает в себя несколько шагов:
1. Анализ данных (какие данные надо извлечь, откуда, как будут использоваться в дальнейшем), определение требований к ним, исходя из целей их использования;
2. Извлечение данных: определение источников данных, инструментов для извлечения данных, реализация процесса извлечения;
3. Преобразование: очистка данных, преобразование форматов, объединение данных;
4. Загрузка данных в целевую систему, определение метода загрузки и мониторинг процесса загрузки для отслеживания ошибок;
5. Тестирование и проверка извлеченных и преобразованных данных;
6. Документирование процессов и поддержка документации в актуальном состоянии при изменениях в процессе;
7. Автоматизация процессов;
8. Мониторинг производительности и оптимизация процессов.
С какими задачами поможет ETL
ETL помогает решать задачи, связанные с обработкой и анализом данных. Вот некоторые из них:
1. Интеграция данных, их слияние из разных источников для создания единого представления информации;
2. Очистка данных, удаление дубликатов, заполнение пропусков, приведение к единому формату;
3. Преобразование данных: агрегация и трансформация данных;
4. Загрузка данных в необходимую систему;
5. Поддержка бизнес-аналитики: создание отчетов и анализ производительности на основе интегрированных данных;
6. Соответствие нормативным требованиям законодательства;
7. Оптимизация рабочих процессов за счет автоматизации процесса ETL.
Хранилище, озеро и витрина данных
ETL участвует в передаче информации в корпоративное хранилище данных (КХД или DWH – Data Warehouse). Оно не решает аналитических задач, а лишь предоставляет доступ к данным, поддерживая их хронологию и целостность. КХД представляет собой базу данных, используемую для создания отчетов и бизнес-аналитики. Основа хранилища – реляционные базы данных с жесткой структурой показателей.
Существует несколько принципов организации КХД, которые определяют, как работать с ним:
- проблемно-предметная ориентация – данные объединены в категории и хранятся согласно областям, которые они описывают;
- интеграция – данные объединяются по принципу удовлетворения требований компании в целом, а не определенной функции бизнеса;
- некорректируемость – информация загружается из внешних источников, не корректируется и не удаляется;
- временная зависимость – данные в хранилище считаются корректными, когда они привязаны к определенному промежутку времени.
В архитектуре хранилища существует несколько уровней. На верхнем уровне – интерфейс с использованием инструментов создания отчетов, поиска и анализа данных. На среднем – аналитический механизм для доступа к данным и их анализу. Нижний уровень – сервер базы данных, который отвечает за их загрузку и хранение.
Информация из КХД широко используется в data mining, при работе с искусственным интеллектом, в машинном обучении. В государственных и городских службах в хранилищах данных собрана информация об электронных транзакциях, получаемая от департаментов (информация о штрафах за превышение скорости, уплате акцизов).
Срез КХД, представляющий узкоспециализированную или тематическую информацию, ориентированную на определенный департамент или сотрудников, называется “витрина данных”. Она позволяет работать с агрегированными данными в определенном тематическом и временном разрезе. Информацию можно сформировать в список и распечатать. Например, витрина данных может использоваться отделом маркетинга в компании для разработки маркетинговой стратегии и анализа аудитории. Производственные отделы могут использовать витрину данных при анализе производительности и для улучшения процесса производства.
Существует три вида витрин данных:
- Зависимая – состоит из частей КХД. В ней содержатся первичные данные хранилища;
- Независимая – является отдельной системой и относится к определенной части компании;
- Гибридная – включает в себя информацию из хранилища и независимых источников.
Также компании используют озера данных. Хранилище данных отличается от озера тем, что оно нуждается в доработке при добавлении новых показателей. В озере данных хранится разрозненная информация для аналитики. Её используют при аналитике в «песочнице». Когда нужно найти зависимости в данных, например, для понимания поведения клиентов. Для этого необходимо проанализировать большое количество разных видов данных. При необходимости ненужную аналитикам информацию можно легко удалить. Чаще всего хранилище данных и озеро используются вместе и дополняют друг друга. Хранилище эффективно при составлении строгой отчетности (финансовой, управленческой и др.), а озеро данных – при исследованиях.
При внедрении решений ETL в компании необходимо учитывать особенности корпоративного управления хранилищами, озёрами и витринами данных. Например, когда с некоторыми данными аналитики работают чаще всего, и они считаются важными, тогда в регламент переноса информации вносятся соответствующие приоритеты. Это позволяет значительно ускорить работу сотрудников.
Преимущества и проблемы ETL-систем
Системы ETL имеют ряд преимуществ:
- Высокая скорость разработки;
- Высокая производительность и масштабируемость решения;
- Возможность извлечения и трансформации данных из любых баз, систем, XML- и плоских файлов, а также доставки данных в большинство из существующих информационных систем;
- Возможности для командной разработки;
- Возможности сетевой многосерверной обработки данных с автоматическим управлением и восстановлением работоспособности в случае сбоя одного из серверов;
- Визуальная среда разработки интеграционных проектов;
- Быстрое обучение работе с продуктом;
- Простота поддержки, сопровождения и внесения изменений в разработанные процессы.
Одно из важных преимуществ системы: она может работать в режиме реального времени (при этом не является шиной данных). В чем их отличие? ETL перемещает и трансформирует большой объем данных в максимально сжатые сроки (обычно по расписанию или по запросу). А шина данных не предназначена для перемещения больших объемов информации. Она перемещает её транзакционно (по событию) с гарантией доставки, в отличие от систем ETL. Эти решения эффективно работают вместе и не взаимозаменяемы.
По опыту компаний, внедривших решения ETL, они способны значительно увеличить прибыль бизнеса и повысить рентабельность инвестиций.
Основные проблемы эксплуатации систем ETL связаны с их внедрением. Зачастую компании работают с десятками источников данных разных форматов. И данные могут быть полностью или только частично структурированы. Для их преобразования потребуются разные режимы конвертации. Поэтому очень важно определить, какое именно техническое решение подойдет бизнесу, и учитывать, чтобы оно масштабировалось: со временем локальной базы данных и пакетной загрузки может быть недостаточно. Компаниям рекомендуется подумать об этом заранее и рассмотреть возможности облачного хранилища.
Некоторые задачи не решаются автоматически, поэтому при внедрении ETL понадобится помощь сотрудников:
- при выборе источников данных. Необходимо определить, как и где содержится информация, которая должна попасть в хранилище. Аналитик оценивает значимость данных, сложность их получения, целостность и достоверность, и принимает решение, насколько выгодно работать с этой информации и нужно ли ее загружать.
- при разрозненности конечных данных. Когда сотрудники создают собственные хранилища данных, не интегрированные с основным КХД. Таким образом, данные могут не совпадать у разных сотрудников. Все локальные хранилища информации придется определить вручную.
- при появлении новых источников и форматов данных. Этот пункт актуален при работе с неструктурированной информацией. Тогда внутри компании используют технологии больших данных, а это влечет за собой дополнительные временные, финансовые и трудовые затраты.
Кто и как использует ETL
Инструменты ETL используются разными категориями пользователей, среди которых:
- бизнес-аналитики и BI-аналитики для подготовки и анализа данных, создания отчетов и визуализаций;
- разработчики и инженеры данных для интеграции данных из разных источников в целевую систему и обеспечения их доступности для других подразделений;
- маркетологи для анализа поведения клиентов и оценки эффективности рекламных кампаний;
- финансовые аналитики для подготовки финансовых отчетов и анализа данных о транзакциях;
- специалисты по качеству данных для проверок и обеспечения качества данных на всех этапах ETL-процесса.
Инструменты ETL используются в разных бизнес-процессах:
- При создании финансовой отчетности: для сбора данных о транзакциях из различных банковских систем при создании отчетности;
- Во время анализа продаж: ведется работа с интегрированными данными о продажах из CRM-систем и систем управления запасами;
- Во время маркетинговой аналитики: объединенные данные о клиентских взаимодействиях из разных каналов используются для оценки эффективности маркетинговых кампаний;
- Для управления запасами товаров: в компании объединяют данные о запасах из разных источников, чтобы улучшить управление цепочками поставок;
- Для анализа клиентского опыта: ETL помогает собрать данные о взаимодействии клиентов с продуктами и услугами (отзывы, обращения в службу поддержки) для улучшения качества обслуживания;
- Для управления рисками: финансовые учреждения задействуют ETL для анализа данных о транзакциях и поведении клиентов, чтобы выявить мошеннические действия;
- При создании медицинской аналитики: в здравоохранении ETL используется для интеграции данных из различных систем (электронные медицинские записи, лабораторные результаты и другое) для анализа эффективности лечения пациентов.
Примеры использования ETL
ETL-системы широко используются в самых разных сферах, особенно среди банков, телекоммуникационных корпораций, на предприятиях.
Дирекция Региональных Продаж Нефть» построила озеро данных с помощью систем ETL. Такое озеро имеет два ландшафта (тестовый и продуктивный) и три зоны («Сырой слой» для хранения копий данных из источников, «Продуктивная фабрика данных» с фокусом на оптимизацию, производительность и управление, «Исследовательская лаборатория» для задач прототипирования аналитических моделей) с разным уровнем управления данными. В каталоге данных производится паспортизация источников данных, таблиц и витрин, разметка данных по доменам с помощью настроенных шаблонов, профилирование данных. Как результат, более 50% аналитических проектов и инициатив реализуются в контуре озера данных, затраты на интеграцию данных и аналитические проекты снизились за счет централизованных инфраструктуры и сервисов, возросла и доступность данных, что положительно повлияло на эффективность работы аналитиков. Изначально задачи озера данных включали в себя обработку транзакций сети АЗС компании, расчет сегментов для клиентской аналитики и анализ обратной связи от клиентов. Позднее в озеро были интегрированы данные из других источников: Санкт-Петербургской товарно-сырьевой биржи, географических и метеорологических ресурсов, метрики и отзывы Google, «Яндекс» и др.
В банковской сфере ETL широко применяется для интеграции данных о партнерах и клиентах. Промсвязьбанк использует возможности ETL-системы для унификации информации о партнёрах банка и чёрных списков клиентов. Эти данные используются, чтобы оптимизировать операционную деятельность при взаимодействии с партнёрами. Информация о них консолидирована и интегрирована из разных источников в единое хранилище. Это ускорило получение информации о партнерах и позволило избежать ошибок из-за неточных данных. Унификация «черных списков» клиентов понадобилась, чтобы снизить риски банка в области мошенничества клиентов и оптимизировать работу с проблемными клиентами и неплательщиками. При формировании «чёрных списков» данные интегрировались из систем («Экстремисты», «Недействительные паспорта», K4Loans) и передавались в банковские системы PSB-Retail и др.
Банк ВТБ использовал ETL-систему для создания целевого единого хранилища, чтобы эффективно управлять информационными активами банка. ETL применяется компанией для интеграции и синхронизации данных в проекте и для миграции данных в новые приложения, обмена информацией с контрагентами. В итоге была создана единая аналитическая экосистема и платформа для управления информационными активами банка. Она представляет собой сервис, адаптированный под работу с регламентами и требованиями по доступности данных в рамках большого MPP-кластера, способного масштабироваться в любой момент времени.
В телекоммуникационном бизнесе использование ETL также широко распространено. «ВымпелКом» использовал ETL, чтобы быстрее вывести новый продукт на рынок. Интеграция данных понадобилась, когда «ВымпелКом» завершил сделку по приобретению 100% пакета акций компании «Голден Телеком». На основе ее продуктов был создан бренд «Билайн бизнес» для обслуживания корпоративных пользователей. Процесс интеграции компании «Голден Телеком» в информационную среду «ВымпелКом» потребовал интеграции системы 1С и финансовой системы «ВымпелКом» Oracle E-Business Suite. Решения ETL справились с этой задачей, поэтому поглощение «Голден Телеком» компанией «ВымпелКом» прошло легче, а новый сервис удалось быстрее вывести на рынок.
С помощью ETL оператор мобильной связи Tele2 повысил качество клиентского опыта. В проекте провели миграцию данных для кампаний целевого маркетинга и аналитических запросов пользователей. Теперь эта информация регулярно обновляется, в результате компания стала эффективнее привлекать новых клиентов и удерживать текущих. Также была скорректирована стратегия развития бизнеса: стала возможна детализация стратегических показателей и автоматизированное формирование отчетов.
В индустрии сельского хозяйства решения ETL не менее эффективны. Группа компаний «АгроТерра» использовала их для интеграции данных из ERP, ГИС, CRM и других систем (они не были синхронизированы между собой и не предполагали автоматический обмен информацией). Также ETL обеспечивает обмен мастер-данными по всей группе компаний. Мастер-данные – ключевая информация по основным бизнес-объектам компании, которая регулярно совместно используется большим количеством бизнес-процессов. Благодаря ETL качество отчетов увеличилось и принимать управленческие решения стало проще.
Решения ETL используются и в сфере культуры. Один из лидеров российского рынка онлайн-кинотеатров Ivi.ru обладает большим каталогом фильмов, мультфильмов и сериалов. Компании необходимо было создать аналитическую платформу для оптимизации развития бизнеса, сократить количество финансовых и временных издержек, связанных с получением отчетов, обеспечить корректное и быстрое перемещение информации для ее использования в критически важных процессах подготовки отчётности. Система ETL помогла быстро осуществить миграцию данных из СУБД, NoSQL в целевые хранилища Vertica и Yandex Clickhouse. В результате работы унифицированы процессы загрузки и преобразования данных, создана единая система мониторинга процесса загрузки данных в хранилища, что повысило прозрачность получения данных. Это позволило бизнесу своевременно получать необходимые данные для подготовки финансовой отчетности, а также снизить затраты на техподдержку.
Чем дольше работает компания, тем большее количество данных образуется, и их необходимо отслеживать и анализировать. Когда рабочих рук для этого не хватает, помогают ETL-решения. И это их главное преимущество. Они автоматически передают информацию в хранилище из разных источников, структурируют ее и повышают качество данных для аналитики.
Обновлено: 17.09.2024
Опубликовано: 01.11.2022
Автор