ELT расшифровывается как извлечение, загрузка, преобразование. Это обратный порядок традиционного ETL. Данные извлекаются из источников и загружаются непосредственно в целевую систему в необработанном виде. Преобразования происходят внутри целевой системы, обычно облачного хранилища данных, с использованием её вычислительных мощностей. Этот подход стал популярным по мере масштабирования облачных хранилищ и снижения затрат на их обработку. Зачем преобразовывать данные на отдельном сервере, если хранилище может сделать это быстрее и дешевле?
У ELT есть преимущества. Исходные данные сохраняются в хранилище, поэтому преобразования можно запускать повторно без повторного извлечения из источников. Новые преобразования можно применять ретроспективно. Целевая система берет на себя основную работу, что упрощает архитектуру конвейера. Такие инструменты, как dbt, перенесли принципы разработки программного обеспечения в процесс преобразования: контроль версий, тестирование, документирование и модульный код. Компромисс заключается в том, что хранилище должно быть достаточно мощным, чтобы справляться как с хранением, так и с преобразованием. Это также означает, что исходные, потенциально конфиденциальные данные хранятся в хранилище до преобразования. Контроль доступа должен обеспечивать их защиту. ELT не всегда лучше, чем ETL. Для некоторых рабочих нагрузок преобразование перед загрузкой уменьшает объем данных, поступающих в хранилище. Для других гибкость ELT является преимуществом. Выбор зависит от возможностей целевой системы и предпочтений команды.
Характеристики ELT
- Загрузка в необработанном виде — данные попадают в хранилище данных без изменений.
- Преобразования выполняются на месте — вычисления в хранилище данных обрабатывают сами преобразования.
- Возможность повторной обработки — преобразования можно повторно выполнить на исходных данных.
- Более простые трубопроводы — меньше движущихся частей.
- Зависит от склада — требует масштабируемых вычислительных мощностей.
ELT — это ETL, перевернутый с ног на голову. Работу выполняет хранилище данных. Конвейер просто перемещает данные.
Comments
No comments yet. Be the first to share a thought.
Leave a comment