ETL (англ. Extract, Transform, Load – Извлечь, преобразовать и загрузить) группа процессов, происходящих при переносе данных из нескольких систем в одно хранилище.
Если у вас есть данные из нескольких источников, которые вы хотите перенести в централизованную базу данных, вам необходимо:
Как правило, один инструмент ETL выполняет все три из этих шагов и является критически важной частью обеспечения полноты и пригодности данных, необходимых для отчетности, аналитики, а теперь и для Машинного обучения (ML). Природа процесса сильно изменилась за последнее десятилетие.
ETL уходит своими корнями в 1970-е годы к появлению централизованных хранилищ данных. Но только в конце 1980-х и начале 1990-х годов, когда они заняли центральное место, мир ощутил потребность в специализированных инструментах, помогающих загружать данные в эти новые хранилища. Первым пользователям нужен был способ «извлекать» информацию из разрозненных систем, «преобразовывать» ее в целевой формат и «загружать». Первые инструменты ETL были примитивными, но они выполняли свою работу. Конечно, объем данных, которые они обрабатывали, был скромным по сегодняшним меркам.
По мере роста объема данных росли и хранилища данных, а программные инструменты ETL множились и становились все более сложными. Но до конца 20-го века хранение и преобразование данных осуществлялось в основном в локальных хранилищах. Однако произошло нечто, навсегда изменившее наш взгляд на хранение и обработку.
Объем данных, которые мы генерируем и собираем, продолжает расти с экспоненциальной скоростью. Более того, у нас есть все более сложные инструменты, которые позволяют нам использовать все наши данные для получения реального представления о нашем бизнесе и клиентах. Традиционная инфраструктура хранилища данных не может масштабироваться для хранения и обработки такого большого объема данных — по крайней мере, неэффективно с точки зрения затрат и своевременно. Если мы хотим выполнять высокоскоростную, сложную аналитику и анализ всех наших данных, облако — единственное место, где это можно сделать. Облачные хранилища данных, такие как Amazon Redshift, Snowflake и Google BigQuery, могут бесконечно масштабироваться для размещения практически любого объема данных. Облачное хранилище данных также поддерживает Массовую параллельную обработку (MPP), которая позволяет координировать огромные рабочие нагрузки между горизонтально масштабируемыми кластерами вычислительных ресурсов. Локальные инфраструктуры просто не обладают такой скоростью или масштабируемостью. Облако меняет то, как мы обрабатываем данные, а также то, как мы определяем и доставляем ETL.
Многие спрашивают, зачем нам ETL? Это все еще важно? Ответ – да. ETL имеет несколько бизнес-преимуществ, которые выходят за рамки простого извлечения, очистки, согласования и доставки данных из точки A (источник) в точку B (назначение):
Причина, по которой вам нужен ETL в облаке, такая же, как и в традиционном хранилище данных. Ваши данные по-прежнему должны быть доставлены в центральный репозиторий — теперь из большего количества источников, чем когда-либо, в структурированной и полуструктурированной форме. Эти огромные хранилища данных необходимо преобразовать в форматы, наиболее подходящие для анализа. ETL подготавливает данные для быстрого доступа и, таким образом, быстрого анализа. Данные должны быть собраны и подготовлены для использования в инструментах бизнес-аналитики, таких как программное обеспечение для визуализации данных, иначе в облаке они будут не более полезны, чем в необработанном формате в каком-либо центре обработки данных.
Традиционно ETL извлекает данные из одной или нескольких баз данных оперативной обработки транзакций. Такие приложения содержат большой объем транзакционных данных, которые необходимо преобразовать и интегрировать с операционными данными, чтобы их можно было использовать в дальнейшем.
Эти данные обычно извлекаются в промежуточную область, хранилище, которое находится между источником данных и целью данных. В этой промежуточной области инструмент ETL преобразует данные, очищает, объединяет и иным образом оптимизирует их для анализа.
Затем инструмент загружает данные в базу данных системы поддержки принятия решений (DSS), где группы бизнес-аналитики могут выполнять запросы к ним и представлять результаты и отчеты бизнес-пользователям, чтобы помочь им принимать решения и определять стратегию.
Часто, несмотря на полезность инструментов ETL, процесс ETL все еще несколько запутан и сложен, поскольку сами данные запутаны и сложны. Традиционный ETL по-прежнему требует от специалистов по работе с данными значительных трудозатрат в виде ручного кодирования, повторной обработки и других задач ручного обслуживания.
Для современной аналитики данных и ELT облако навсегда изменило все. Несмотря на то, что в локальных хранилищах данных все еще есть некоторая бизнес-аналитика и ELT, только облако обладает сочетанием скорости, масштабируемости и практичности, необходимым для обработки огромных объемов структурированных и полуструктурированных данных буквально из десятков или сотен источников.
Мощные облачные хранилища данных, такие как Amazon Redshift, Snowflake и Google BigQuery, не нуждаются во внешних ресурсах (например, в промежуточном сервере ETL) для выполнения преобразований. Данные можно анализировать из предварительно рассчитанных сводок, что еще больше упрощает и ускоряет процесс ETL (или, на данном этапе, ELT, поскольку данные загружаются, а затем преобразуются в облачном хранилище данных).
Преобразования и моделирование данных выполняются с помощью SQL — языка, общего для профессионалов в области бизнес-аналитики, специалистов по данным и аналитиков.
ETL может быть невероятно сложным процессом, и у него есть некоторые неотъемлемые проблемы. Помните об этих проблемах и о том, как они могут повлиять на ваш бизнес, выбирая продукт ETL. Различные продукты используют разные подходы, но то, что вы выберете, зависит от ваших бизнес-требований и того, как вы используете данные.
Как используется ETL?
Существует несколько различных способов наиболее частого использования ETL:
Автор оригинальной статьи: matillion.com
© Лена Капаца. Все права защищены.