✨ ETL и ELT
Это способы доставки данных из источников в централизованную систему (хранилище)
Ключевое отличие: ГДЕ и КОГДА выполняются преобразование и загрузка данных:
🟠в ETL данные трансформируются перед загрузкой в целевую систему
🟢в ELT данные загружаются сначала, а трансформируются уже в целевой системе
⏺ ETL (Extract, Transform, Load)
Как работает по шагам:
1⃣Извлечение "сырых" данных из различных источников (БД, файлов, API)
2⃣Трансформация их в нужный формат или структуру, включая очистку, нормализацию, объединение
3⃣Загрузка в целевую систему (например, хранилище данных)
Когда эффективны
✨Когда данные поступают из разнородных источников и требуют преобразований перед загрузкой в целевую систему
➡ данные более точные, качественные и совместимы с аналитическими инструментами
➡ удобнее проводить дальнейший анализ
✨При работе с хранилищами данных OLAP, легаси-системами и реляционными БД. Не имеет поддержки озёр данных
Примеры применения
➡️банковская система извлекает данные о транзакциях из филиалов, очищает их и загружает в центральную систему для построения отчетов
➡️объединение данных о продажах, клиентах и товарах из различных источников в аналитическое хранилище для прогнозирования спроса и анализа покупательского поведения
Минусы
— процесс может быть медленным из-за преобразования данных до загрузки
— нужно использовать выделенные ресурсы для трансформации данных
⭕️ ELT (Extract, Load, Transform)
Как работает по шагам:
❤️Извлечение данных из источников
🩷Загрузка в целевую систему без предварительной обработки (промежуточной БД нет)
🩷Трансформация в целевой системе (например, с помощью SQL-запросов в хранилище данных)
Когда эффективны
Для быстрой загрузки и обработки больших объемов данных, т.к. извлекает и загружает в целевую систему (например, облачное ХД) сырые данные.
А трансформация происходит после загрузки
➡️ это позволяет при преобразовании данных использовать мощности целевой системы
Когда использовать
✨для больших объемов данных, где важна быстрая загрузка
✨когда целевая система обладает достаточными ресурсами для выполнения преобразований данных
✨можно использовать с облачными хранилищами и озёрами данных
Примеры применения
➡️ загрузка логов серверов, данных из соц сетей или IoT-устройств в хранилище данных, а затем их трансформация для аналитики
➡️ загрузка сырых данных из различных бирж в облачное хранилище, где выполняется очистка, агрегация и анализ данных для создания инвестиционных стратегий
Минусы
— целевая система должна быть достаточно мощной для выполнения трансформаций
— могут появится неконсистентные данные в целевой системе до выполнения всех трансформаций
⭐️ Подборки материалов по этой и другим темам доступны в базе знаний по системному анализу
#архитектура #проектирование
Post #428
16.9K