ETL (Extract, Transform, Load) и ELT (Extract, Load, Transform) – это две распространенные техники, используемые для заполнения хранилища данных. В то время как ETL был традиционным методом интеграции данных, ELT предлагает более гибкий и эффективный подход. В этой статье мы рассмотрим основные особенности и различия между ETL и ELT, а также обсудим, почему ELT становится предпочтительным выбором для современных рабочих нагрузок аналитики.
ETL: Extract, Transform, Load
ETL – это техника, которая включает подключение к исходным данным, извлечение данных, их преобразование для поддержки требований отчетности, а затем загрузку преобразованных данных в хранилище данных. В типичной рабочей нагрузке ETL инструмент периодически подключается к исходным базам данных и извлекает данные. Извлеченные данные затем преобразуются в памяти перед загрузкой в хранилище. Инструменты ETL находятся на рынке уже более двух десятилетий и относительно легко найти разработчиков с опытом проектирования систем ETL.
ELT: Extract, Load, Transform
ELT – это еще одна техника, при которой данные извлекаются и загружаются непосредственно в хранилище без каких-либо преобразований. После завершения процесса извлечения и загрузки применяется логика преобразования к хранилищу, где хранятся данные. Затем преобразованные данные загружаются обратно в хранилище для отчетности и принятия других бизнес-решений. ELT более ориентирован на облачные хранилища и подходит для обработки данных высокой скорости и достоверности.
Почему выбирать ELT?
Существует несколько причин, по которым организации предпочитают ELT перед традиционным методом ETL:
- Доступность данных: В рабочей нагрузке ETL в хранилище загружаются только данные, необходимые для аналитики или отчетности, оставляя другие ненужные данные в исходных системах. В системе ELT все загружается в хранилище или озеро данных, что позволяет проводить анализ в более позднее время.
- Сложности преобразования: ETL позволяет реализовывать сложные преобразования данных в памяти. ELT, с другой стороны, больше фокусируется на анализе высокоизменяемых структурированных и неструктурированных данных, поступающих с высокой скоростью.
- Инфраструктура: Традиционные инструменты ETL часто требуют установки на месте, что приводит к дополнительным затратам на рабочие нагрузки аналитики. ELT в основном основан на облачных технологиях и не требует установки на месте.
- Поддержка послепроизводственного обслуживания: Трубопроводы ETL, установленные на месте, требуют частого обслуживания. ELT, работающий на основе облачных технологий или безсерверный, требует минимального или отсутствующего обслуживания.
- Поддержка полуструктурированных и неструктурированных данных: Хотя инструменты ETL могут читать данные из полуструктурированных или неструктурированных источников, они обычно преобразуют данные в промежуточном слое перед сохранением их в хранилище. ELT разработан для обработки всех типов структур данных, что позволяет проводить дальнейший анализ в озерах данных.
Пример рабочей нагрузки ELT в SQL Server
Давайте посмотрим, как типичная рабочая нагрузка ELT может быть реализована в SQL Server. В этом примере данные с места нахождения загружаются в хранилище блобов, которое является файловой системой в облаке. Затем они вычисляются и сохраняются в хранилище данных SQL для дальнейшего анализа. Data Factory используется для импорта данных из различных источников, а Azure Analysis Services используется для создания семантической модели. Наконец, Power BI используется для визуализации данных.

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