ETL (Extract, Transform, Load — извлечение, преобразование, загрузка) был традиционным подходом к работе с хранилищами данных. Однако ELT (Extract, Load, Transform — извлечение, загрузка, преобразование) меняет эту парадигму. Оба подхода решают одну и ту же задачу: сбор, обработку и анализ больших объемов данных. Данные должны быть чистыми, управляемыми и готовыми к анализу, требуя обогащения, формирования и преобразования перед использованием. Отличие заключается в последовательности выполнения этапов.
Технологические различия
Рассмотрим три ключевых этапа:
- Извлечение (Extraction): Получение необработанных данных из различных источников и их перемещение во временное хранилище.
- Преобразование (Transformation): Структурирование, обогащение и преобразование необработанных данных для соответствия целевому хранилищу.
- Загрузка (Loading): Загрузка структурированных данных в хранилище данных для анализа.
ETL: Традиционный подход
ETL требует управления необработанными данными, включая извлечение необходимой информации и выполнение преобразований. Каждый этап требует взаимодействия инженеров и разработчиков. Работа ведется с ограничениями емкости традиционных хранилищ данных, что зачастую приводит к длительному ожиданию доступа к информации.
ELT: Современная альтернатива
В ELT после извлечения данных начинается загрузка — перемещение всех данных в единое централизованное хранилище. Современные облачные технологии позволяют обрабатывать большие объемы данных и обеспечивать масштабируемые вычисления. Это позволяет хранить все извлеченные необработанные данные и обеспечивает быструю обработку. ELT — современная альтернатива ETL, однако инструменты для поддержки процесса ELT не всегда подходят для обработки всех объемов данных. Потенциал роста ELT высок, обещая неограниченный доступ ко всем данным и экономию ресурсов.
Практический пример: ETL vs ELT
Рассмотрим пример с двумя таблицами: «Покупки» и «Валюты». Цель — рассчитать сводную таблицу со средней покупкой в каждой стране на основе IP-адреса.
ETL: Преобразование данных
В ETL применяются правила или функции для извлечения данных и создания таблицы, которая будет загружена. Процесс включает:
- Сопоставление IP-адресов с соответствующими странами.
- Расчет суммы, умножая значения из обеих таблиц, с учетом валюты.
- Сортировку данных по столбцу «Страна».
- Объединение данных из таблиц «Покупки» и «Валюты».
- Суммирование среднего значения по странам.
Это преобразование приводит к новой таблице со средней суммой по каждой стране.
ELT: Преобразование данных во время запроса
В ELT данные загружены и могут быть использованы в любой момент. Преобразование выполняется во время запроса:
- Выбор IP-адреса и страны.
- Умножение суммы из таблицы «Покупки» на курс из таблицы «Валюты».
- Вычисление средней суммы.
- Объединение обеих таблиц.
- Группировка по странам.
Результат — та же выходная таблица, что и в ETL, но с более гибким подходом, позволяющим выполнять другие запросы. ELT эффективнее и гибче ETL, позволяя запускать новые преобразования на необработанных данных.
Управление данными
Современные потребности в управлении данными требуют работы как с малыми, так и с большими объёмами структурированных и неструктурированных данных. Существуют два режима работы бизнес-аналитики: традиционный (с четкими целями) и гибкий (с непредвиденным обнаружением данных). Концепция озера данных — новый взгляд на большие объемы неструктурированных данных, предназначенных для бесконечного масштабирования. Хранилища данных, такие как Redshift и BigQuery, могут использоваться для ELT.
Gartner выделяет пять ключевых аспектов современных проектов больших данных (5V):
- Объем (Volume): Объем сырых данных.
- Разнообразие (Variety): Типы данных (структурированные, неструктурированные, полуструктурированные).
- Скорость (Velocity): Скорость обработки, сбора и анализа данных.
- Достоверность (Veracity): Уровень доверия к данным.
- Значение (Value): Цель и ценность данных.
ELT лучше подходит для работы с большими объемами неструктурированных данных, высокой скоростью обработки и другими аспектами 5V. Его гибкость позволяет реализовать множество концепций, включая неструктурированные данные в решения бизнес-аналитики.
Сравнение ETL и ELT
Критерий | ETL | ELT |
---|---|---|
Время загрузки | Дольше | Быстрее |
Время преобразования | Дольше, особенно для больших объемов данных | Быстрее |
Время обслуживания | Высокое | Низкое |
Сложность реализации | Меньше на ранних этапах | Требует глубоких знаний |
Анализ данных | Сложнее | Проще |
Ограничение данных | Предполагает выбор данных априори | Нет ограничений |
Поддержка ХД | Преимущественно устаревшие модели | Адаптирована для облачной инфраструктуры |
Поддержка Озер Данных | Нет | Да |
Удобство использования | Менее гибко | Более гибко |
Рентабельность | Нерентабельно для малого бизнеса | Масштабируемо, доступно для бизнеса любого размера |
ETL устарел, хотя и помог справиться с ограничениями традиционных инфраструктур. ELT — важная часть будущего хранилищ данных. С помощью ELT компании любого размера могут анализировать большие данные с большей гибкостью и меньшими затратами.