ETL и ELT

Это способы доставки данных из источников в централизованную систему (хранилище). Ключевое отличие: ГДЕ и КОГДА выполняются преобразование и загрузка данных.
- в ETL данные трансформируются перед загрузкой в целевую систему.
- в ELT данные загружаются сначала, а трансформируются уже в целевой системе.
ETL (Extract, Transform, Load)
Как работает по шагам:
- Извлечение "сырых" данных из различных источников (БД, файлов, API).
- Трансформация их в нужный формат или структуру, включая очистку, нормализацию, объединение.
- Загрузка в целевую систему (например, хранилище данных).
Когда эффективны:
- Когда данные поступают из разнородных источ ников и требуют преобразований перед загрузкой в целевую систему.
- Данные более точные, качественные и совместимы с аналитическими инструментами.
- Удобнее проводить дальнейший анализ.
- При работе с хранилищами данных OLAP, легаси-системами и реляционными БД. Не имеет поддержки озёр данных.
Примеры применения:
- Банковская система извлекает данные о транзакциях из филиалов, очищает их и загружает в центральную систему для построения отчетов.
- Объединение данных о продажах, клиентах и товарах из различных источников в аналитическое хранилище для прогнозирования спроса и анализа покупательского поведения.
Минусы:
- Процесс может быть медленным из-за преобразования данных до загрузки.
- Нужно использовать выделенные ресурсы для трансформации данных.
ELT (Extract, Load, Transform)
Как работает по шагам:
- Извлечение данных из источников.
- Загрузка в целевую систему без предварительной обработки (промежуточной БД нет).
- Трансформация в целевой системе (например, с помощью SQL-запросов в хранилище данных).
Когда эффективны:
- Для быстрой загрузки и обработки больших объемов данных.
- Извлекает и загружает в целевую систему сырые данные.
- Трансформация происходит после загрузки, что позволяет использовать мощности целевой системы.
- Для работы с большими объемами данных, где важна бы страя загрузка.
- Когда целевая система обладает достаточными ресурсами для выполнения преобразований данных.
- Можно использовать с облачными хранилищами и озёрами данных.
Примеры применения:
- Загрузка логов серверов, данных из соцсетей или IoT-устройств в хранилище данных, а затем их трансформация для аналитики.
- Загрузка сырых данных из различных бирж в облачное хранилище, где выполняется очистка, агрегация и анализ данных для создания инвестиционных стратегий.
Минусы:
- Целевая система должна быть достаточно мощной для выполнения трансформаций.
- Могут появиться неконсистентные данные в целевой системе до выполнения всех трансформаций.