Top.Mail.Ru

ETL: что такое и зачем нужно?

1. Что такое ETL и для чего нужно
2. Как устроена ETL-система
3. Хранилище, озеро и витрина данных
4. Преимущества и проблемы ETL-систем
5. Примеры использования ETL

Что такое ETL и для чего нужно

Система ETL (англ. Extract, Transform, Load — «извлечение, преобразование, загрузка») позволяет выполнять интеграционные задачи, среди которых наполнение хранилищ данных, миграция данных, межсистемная интеграция. Система позволяет извлекать данные из внешних источников, преобразовывать их и загружать в другую систему. На сегодняшний день технологии ETL являются одними из ключевых решений для построения отчетности и формирования бизнес-аналитики.

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

Когда используется ETL:

  • при интеграции данных во время наполнения озер и хранилищ данных, облачных решений;
  • при перемещении информации в хранилище;
  • при отправке данных для последующего машинного обучения;
  • во время объединения и структуризации данных о спросе, покупках и т.п.;
  • при интеграции информации “интернета вещей” в одну систему;
  • во время репликации данных и отправки их в облако;
  • при подготовке информации для анализа работы бизнеса.

Как устроена ETL-система

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

В работе ETL можно выделить несколько этапов:

  1. Загрузка данных из источника

Источники бывают разных типов: сайты, мобильные приложения, базы данных SQL- или NoSQL, инструменты передачи данных с датчиков IoT и многое другое. Наиболее часто источниками данных являются OLTP–системы (Online Transaction Processing) для обработки непрерывного потока транзакций: приложения для банков, биржи, ERP-, MES-системы и т.п.

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

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

Также необходимо учитывать:

  • требования по времени, отведенному для загрузки данных;
  • особенности загрузки: информация иногда загружается волнами с регулярным обновлением, к примеру, раз в сутки, в таком случае полезно иметь справочник о периоде загрузки, в котором будет храниться история всех изменений;
  • многократную перезагрузку данных, в таком случае удобно иметь справочник версий для контроля потоков загрузки;
  • загрузку данных с ошибками, а чтобы не загружать повторно весь пакет файлов, если в одном из них обнаружили ошибку, можно разделить пакет на файлы по исполнителям, работающим с ними.
  1. Трансформация данных

Цель этого этапа – подготовить данные к загрузке: происходит преобразование структуры данных, их агрегирование, перевод значений и т.п.

  1. Загрузка данных в целевую систему

Существуют разные варианты загрузки:

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

Хранилище, озеро и витрина данных

ETL участвует в передаче информации в корпоративное хранилище данных (КХД или DWH – Data Warehouse). Оно не решает аналитических задач, а лишь предоставляет доступ к данным, поддерживая их хронологию и целостность. КХД представляет собой базу данных, используемую для создания отчетов и бизнес-аналитики. Основа хранилища – реляционные базы данных с жесткой структурой показателей.

Существует несколько принципов организации КХД, которые определяют, как работать с ним:

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

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

Информация из КХД широко используется в data mining, при работе с искусственным интеллектом, в машинном обучении. В государственных и городских службах в хранилищах данных собрана информация об электронных транзакциях, получаемая от департаментов (информация о штрафах за превышение скорости, уплате акцизов).

Срез КХД, представляющий узкоспециализированную или тематическую информацию, ориентированную на определенный департамент или сотрудников, называется “витрина данных”. Она позволяет работать с агрегированными данными в определенном тематическом и временном разрезе. Информацию можно сформировать в список и распечатать. Например, витрина данных может использоваться отделом маркетинга в компании для разработки маркетинговой стратегии и анализа аудитории. Производственные отделы могут использовать витрину данных при анализе производительности и для улучшения процесса производства.

Существует три вида витрин данных:

  1. Зависимая – состоит из частей КХД. В ней содержатся первичные данные хранилища;
  2. Независимая – является отдельной системой и относится к определенной части компании;
  3. Гибридная – включает в себя информацию из хранилища и независимых источников.

Также компании используют озера данных. Хранилище данных отличается от озера тем, что оно нуждается в доработке при добавлении новых показателей. В озере данных хранится разрозненная информация для аналитики. Её используют при аналитике в «песочнице». Когда нужно найти зависимости в данных, например, для понимания поведения клиентов. Для этого необходимо проанализировать большое количество разных видов данных. При необходимости ненужную аналитикам информацию можно легко удалить. Чаще всего хранилище данных и озеро используются вместе и дополняют друг друга. Хранилище эффективно при составлении строгой отчетности (финансовой, управленческой и др.), а озеро данных – при исследованиях.

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

Преимущества и проблемы ETL-систем

Системы ETL имеют ряд преимуществ:

  • Высокая скорость разработки;
  • Высокая производительность и масштабируемость решения;
  • Возможность извлечения и трансформации данных из любых баз, систем, XML- и плоских файлов, а также доставки данных в большинство из существующих информационных систем;
  • Возможности для командной разработки;
  • Возможности сетевой многосерверной обработки данных с автоматическим управлением и восстановлением работоспособности в случае сбоя одного из серверов;
  • Визуальная среда разработки интеграционных проектов;
  • Быстрое обучение работе с продуктом;
  • Простота поддержки, сопровождения и внесения изменений в разработанные процессы.

Одно из важных преимуществ системы: она может работать в режиме реального времени (при этом не является шиной данных). В чем их отличие? ETL перемещает и трансформирует большой объем данных в максимально сжатые сроки (обычно по расписанию или по запросу). А шина данных не предназначена для перемещения больших объемов информации. Она перемещает её транзакционно (по событию) с гарантией доставки, в отличие от систем ETL. Эти решения эффективно работают вместе и не взаимозаменяемы.

По опыту компаний, внедривших решения 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-решения. И это их главное преимущество. Они автоматически передают информацию в хранилище из разных источников, структурируют ее и повышают качество данных для аналитики.

Автор: Олег Гиацинтов, технический директор DIS Group



Поделиться
{{ responsive_img( url='/../../static/upload/news/detail-image.jpg',lazy=true, img_attrs={ class: "img-fluid lazy" }, formats=['webp'] ) }}

Рассылка новостей

    Продолжая пользоваться сайтом, вы даёте Согласие на автоматический сбор и анализ ваших данных, необходимых для работы сайта и его улучшения, использование файлов cookie.