Что такое ETL?

Извлечение, преобразование и загрузка (ETL) — это процесс, используемый организациями, управляющими данными, для сбора данных из различных источников и последующего их объединения для исследования, отчетности, анализа и принятия решений.

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

Три отдельных этапа ETL

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

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

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

ELT или ETL: в чем разница?

Этап преобразования, безусловно, является самым сложным в процессе ETL. Таким образом, ETL и ELT различаются по двум основным вещам.

  • Когда происходит преобразование
  • Где происходит преобразование

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

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

Однако по мере развития технологий хранения и обработки данных, лежащих в основе хранилищ данных, стало возможным проводить преобразования внутри целевой системы. Процессы ETL и ELT включают в себя области технологической подготовки. В ETL эти области находятся в инструменте, независимо от того, является он собственным или специализированным. Они находятся между исходной системой (например, CRM-системой) и целевой системой (хранилищем данных).

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

ETL и корпоративные хранилища данных

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

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

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

ETL и витрины данных

Витрины данных — это меньшие по размеру и более сфокусированные по сравнению с корпоративными хранилищами данных целевые хранилища данных. Например, они могут быть сфокусированы на информации об одном отделе или одном продуктовом направлении. В связи с этим пользователями инструментов ETL для витрин данных часто являются специалисты одной предметной области (LOB), аналитики данных и (или) исследователи данных.

Инструменты ETL для работы с витринами данных должны быть удобны для использования скорее бизнес-сотрудниками компании и менеджерами данных, нежели программистами и ИТ-персоналом. Поэтому в этих инструментах должен иметься визуальный рабочий процесс, чтобы облегчить настройку конвейеров ETL.

Подробнее о проектировании потоков данных без кода

ETL или ELT и озера данных

В озерах данных используется другая модель, чем в хранилищах данных и витринах данных. Озера данных обычно хранят свои данные в объектных хранилищах или распределенных файловых системах Hadoop (HDFS), поэтому они могут хранить менее структурированные данные без схемы; кроме того, они поддерживают множество инструментов для запросов к этим неструктурированным данным.

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

  • Все данные записываются; сигнал не теряется из-за агрегации или фильтрации
  • Данные могут поступать очень быстро, что полезно для Интернета вещей (IoT) потоковой передачи, аналитики журналов, метрик веб-сайта и т. д.
  • Таким образом можно обнаружить тенденции, которых не ожидалось в момент сбора данных.
  • Это позволяет внедрять новые методы искусственного интеллекта (AI), которые отлично справляются с обнаружением закономерностей в больших неструктурированных массивах данных.

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

  • Облачные потоковые сервисы, которые могут передавать большие потоки данных в реальном времени в озера данных для обмена сообщениями, журналов приложений, оперативной телеметрии, отслеживания маршрутов переходов по веб-сайтам, обработки событий и анализа безопасности. Совместимость с Kafka гарантирует, что эти сервисы могут получать данные практически из бесконечного числа источников данных.
  • Облачные сервисы на базе технологии Spark, способные быстро выполнять задачи по обработке и преобразованию данных на очень больших наборах данных. Сервисы Spark могут загружать наборы данных из объектного хранилища или HDFS, обрабатывать и преобразовывать их в памяти на масштабируемых кластерах вычислительных экземпляров и записывать выходные данные обратно в озеро данных или в витрины данных и (или) хранилища данных.

Сценарии применения ETL

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

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

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

Автомобильная отрасль
Решения ETL позволяют дилерским центрам и производителям понять структуру продаж, скорректировать свои маркетинговые кампании, пополнить запасы и следить за привлечением клиентов.

Телекоммуникации
Учитывая беспрецедентный объем и разнообразие данных, генерируемых сегодня, поставщики телекоммуникационных услуг используют решения ETL для лучшего управления этими данными и их понимания. После обработки и анализа этих данных предприятия могут использовать их для оптимизации рекламы, социальных сетей, SEO, повышения удовлетворенности клиентов, прибыльности и многого другого.

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

Естественные науки
Клинические лаборатории используют решения ETL и искусственный интеллект (ИИ) для обработки различных типов данных, создаваемых исследовательскими учреждениями. Например, для совместной работы по разработке вакцин требуется собрать, обработать и проанализировать огромный объем данных.

Государственный сектор
Благодаря быстрому развитию возможностей Интернета вещей (IoT) умные города используют ETL и возможности искусственного интеллекта для оптимизации дорожного движения, мониторинга качества воды, улучшения парковок и многого другого.

Продукты и решения ETL

Комплекс Service Oriented Architecture (SOA)
Как упростить интеграцию приложений? Благодаря упрощенным возможностям интеграции облачных, мобильных, локальных и IoT-систем (все в рамках единой платформы) это решение позволяет ускорить время интеграции и повысить производительность, а также снизить совокупную стоимость владения (TCO). Многие корпоративные приложения, включая Oracle E-Business Suite, активно используют этот продукт для оркестровки потоков данных.

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

Cloud Streaming
Наше решение Cloud Streaming предоставляет полностью управляемое, масштабируемое и надежное решение для приема и потребления потоков данных большого объема в режиме реального времени. Используйте этот сервис для обмена сообщениями, получения журналов приложений, операционной телеметрии, данных о посещении или в любых других случаях, когда данные создаются и обрабатываются непрерывно и последовательно по модели обмена сообщениями «публикация-подписка». Решение полностью совместимо со Spark и Kafka.