редакции Выбор
Чем ETL отличается от ELT, и какой подход лучше?
BI помогает компаниям отслеживать показатели эффективности деятельности, оптимизировать бизнес-процессы, снижать издержки и увеличивать прибыль.
Select an Image
BI-инструменты собирают, структурируют и нормализуют бизнес-данные, на основе которых далее строится отчетность и визуализации.
Информация, необходимая для процессов бизнес-аналитики, обычно находится в разных базах данных, файлах, API, информационных системах. Сами источники также могут размещаться локально или в облаке. Каждая система, файл или БД хранят данные в разном формате, структурированно или не структурированно.
Например, для оценки процессов продаж необходимо получить данные из нескольких изолированных друг от друга систем: из CRM — информацию о клиентах и продажах, из POS — историю покупок клиентов, из Яндекс Метрики — информацию о трафике на сайте, и так далее.
Сбор данных из этих источников вручную — трудоемкий процесс, в котором возможны ошибки из-за человеческого фактора, к тому же, некоторые источники могут не хранить исторические данные, что еще сильнее усложняет их сведение и анализ.
Для получения данных из разрозненных внутренних и внешних источников, их перемещения в единый репозиторий (например, в КХД) и достижения их единого унифицированного представления используются ETL и ELT процессы.
Эти процессы максимально тесно связаны с BI и являются фундаментом для любой работы с данными. Они могут быть как встроены в BI-платформу, так и реализованы с помощью внешних инструментов.
Благодаря ETL и ELT вся ценная информация собирается воедино, обеспечивая демократизацию данных для всех бизнес-пользователей.
В статье расскажем, в чем разница этих двух подходов, и на что она влияет.
Этапы Extract, Transform и Load
Названия ETL и ELT — аббревиатуры от наименований этапов этих процессов: Extract (извлечение), Transform (преобразование) и Load (загрузка).
Очевидная разница между ETL и ELT- разный порядок шагов извлечения, преобразования и загрузки данных. Для понимания того, что вообще происходит с данными в процессах, рассмотрим эти шаги вне зависимости от их порядка
Select an Image
Extract — Извлечение
Сырые данные (Raw Data) произвольного качества загружаются для дальнейшей обработки из источников:
- Баз данных (MySQL, PostgreSQL, ClickHouse, GreenPlum)
- Excel, XML, PDF и иных табличных файлов
- CRM-систем: Битрикс24, amoCRM, Salesforce, Мегаплан, SAP и т. д.
- ERP-систем: 1С: ERP, SAP, Галактика ERP, Парус и т. д.
- Маркетплейсов: Wildberries, Ozon, Сбермаркет, Яндекс Маркет
- Маркетинговых платформ для управления рекламными кампаниями, соцсетями, взаимодействием со СМИ и другими активностями
- Инструментов интернет-аналитики, таких, как Google Analytics и Яндекс Метрика
- Данных из внешних источников — государственных статистических служб или открытых баз данных
- ... и других
При этом может выполняться первичная проверка данных на соответствие ожиданиям, например, проверки на null значения, проверка валидных значений в поле «Статус», наличия поля в данных и т. д. Это позволяет службе поддержки реагировать на изменения и ошибки в данных до того, как они попадут в систему-потребитель.
Transform — Преобразование
Данные преобразуются в нужный формат и структуру для их последующего использования. На этом этапе осуществляется очистка, конвертация в единый формат, нормализация, агрегирование и разделение данных.
Load — Загрузка
Копирование сырых или преобразованных данных в целевую OLAP (Online Analytical Processing) — систему оперативной аналитической обработки данных или анализа данных, такую как хранилище данных или аналитическая платформа.
Что такое ETL?
ETL (Extract, Transform, Load) — это конвейер для извлечения «сырых» данных из различных источников, их преобразования и загрузки в целевую систему. Преобразование данных в ETL происходит в области временного хранения данных вне целевой системы.
Select an Image
ETL-процессы используются для подготовки данных для анализа, отчетности и визуализации. Они обладают следующими преимуществами:
- Обеспечивают высокую степень контроля и стандартизации данных в процессе обработки. Набор данных соответствует требованиям о работе с реляционными структурами для OLAP-инструментов и запросов SQL.
- Предоставляют контролируемую среду для сложных преобразований, например, если данные требуют значительных изменений в структуре или сложной бизнес-логики.
- Способствуют увеличению производительности запросов на этапе загрузки в целевое хранилище при правильной оптимизации предварительной трансформации и фильтрации данных.
- Обеспечивают безопасность данных. В рамках ETL можно удалить или зашифровать конфиденциальные данные еще до загрузки в хранилище, что актуально при необходимости передачи данных во внешние системы или работы компании по международным стандартам защиты персональных данных GDPR (Общий регламент по защите персональных данных) или HIPAA (Акт о передаче и защите данных учреждений здравоохранения).
- Являются зрелыми технологиями. Существует достаточно проверенных инструментов и платформ ETL, а также специалистов по обработке данных, имеющих опыт настройки ETL.
Несмотря на универсальность для многих сценариев использования, у ETL есть недостатки:
- Если правила преобразования не будут тщательно разработаны и протестированы, существует риск потери важной части данных во время трансформации. При изменении методологии некоторые исторические данные могут быть также утеряны, т. к. в хранилище хранятся уже обработанные данные.
- Предварительная трансформация может значительно увеличить время загрузки данных в хранилище, особенно при работе с большими объемами данных.
- В некоторых случаях предварительное преобразование может привести к утрате гибкости в адаптации к изменениям и новым требованиям бизнеса.
- При работе с большими объемами данных ETL-процесс может быть ресурсоемким, требующим значительную вычислительную мощность и объем хранилища.
Как работают ETL-системы?
Стандартная схема работы ETL по загрузке и преобразованию данных:
- Подключение к системам-источникам, определение состава данных, периодичности их выборки и правил отбора данных в выборку
- Выгрузка данных из источников с помощью SQL запросов или API
- Валидация данных, их очистка от дублей и ошибок
- Маппинг — настройка соответствия данных с целевой моделью, когда к валидированной таблице пристраиваются столбцы по количеству справочников целевой модели, а потом в каждой пристроенной ячейке каждой строки проставляются соответствия значений целевых справочников. При маппинге все данные связываются между собой
- Агрегация — объединение данных в итоговой таблице, необходимое из-за различий в детализации данных в OLTP и OLAP-системах
- Загрузка данных в систему хранения или витрины с помощью коннекторов, включая информацию о структуре их представления (метаданные)
Select an Image
Что такое ELT?
ELT (Extract, Load, Transform) представляет собой относительно новый подход к обработке данных, при котором они извлекаются из источников и загружаются в целевое облачное хранилище в «сыром» виде, а затем внутри хранилища происходит их трансформация. В ELT не требуется промежуточная среда для трансформации данных.
Select an Image
Преимущества ELT:
- Процесс ELT включает в себя загрузку данных в облачные хранилища, которые обладают достаточной мощностью, чтобы быстро преобразовывать и обрабатывать огромные наборы данных.
- Возможность проводить трансформацию и анализ данных внутри хранилища увеличивает адаптивность к изменениям в бизнес-требованиях.
- Необработанные данные прозрачны и доступны в режиме реального времени для всех бизнес-пользователей.
- ELT походит для работы с озерами данных. Озеро данных (Data Lake) — это хранилище для больших объемов данных, которое не требует их преобразования перед загрузкой, способно обрабатывать как структурированные, так и неструктурированные данные. Оно обеспечивает быстрый доступ к данным для анализа и предоставляет основу для расширенной аналитики, ML, Big Data и Data Science.
- Вероятность потери исторических данных при изменении методологии или наличии ошибки в расчете гораздо ниже, чем при ETL-подходе.
Недостатки ELT:
- Для эффективной работы ELT требуется мощное хранилище данных, способное обрабатывать и анализировать данные на этапе их загрузки.
- Проведение трансформации внутри хранилища данных требует дополнительного внимания к безопасности и контролю доступа.
- ELT часто не включают в себя сложные проверки и преобразования данных перед их загрузкой в целевую систему, что требует использования дополнительных инструментов для управления качеством данных.
- Технология не так изучена, как ETL, поэтому разработчиков ELT найти сложнее.
Что лучше: ETL или ELT?
ETL эффективен для небольших наборов данных, которые требуют сложных преобразований. После преобразования данных ETL позволяет проводить более эффективный и стабильный анализ данных.
ELT, в свою очередь, подходит для более крупных структурированных и неструктурированных наборов данных, и когда важна своевременность их анализа.
Приводим сравнительную таблицу характеристик процессов:
Гибкий и масштабируемый ELT превосходит ETL с точки зрения универсальности, возможностей быстрой работы с большими массивами различных типов данных. ELT менее затратен по сравнению с локальным ETL.
Но, в то же время, инструменты и компетенции ETL на рынке представлены шире. ETL минимизируют комплаенс-риски, что важно при работе с конфиденциальными данными.
Некоторые компании используют и ETL, и ELT, в зависимости от текущих требований бизнеса. Например, можно использовать ETL для обработки исторических данных, а ELT для доступа к данным в реальном времени.
ETL подойдет, когда
- Вы работаете с небольшими массивами структурированных данных
- Вы работаете с конфиденциальной информацией и персональными данными, и вам важно разграничить доступ к ним
- Нет необходимости или достаточных средств для внедрения озера данных, достаточно OLAP-хранилища
- Вы работаете с устаревшими системами, которые требуют преобразования данных для соответствия целевой схеме
ELT подойдет, когда
- Вы работаете с большим объемом структурированных и неструктурированных данных
- Для вас важно принятие решений в режиме реального времени и прозрачность данных, их обработка с минимальной задержкой
- Вы работаете с ML, запускаете проект с Big Data или Data Science
- Вы хотите воспользоваться преимуществами масштабируемости облачных хранилищ и озер данных
Рынок движется к тому, чтобы ELT стал стандартом. Объем, скорость и разнообразие данных за последние годы сильно выросли. Согласно отчету аналитической компаний IDC, только в 2023 году в мире было создано 120 зеттабайт данных, а к 2025 году объем достигнет 163 зеттабайт. Примерно 80% этих данных — неструктурированные.
ELT уже сейчас во многих случаях заменил ETL, особенно в таких сценариях, как миграция данных в облако, использование озер данных, MLOps (практики подготовки данных для внедрения машинного обучения).
***
Команда Qlever Solutions более 10 лет занимается созданием корпоративных аналитических решений, разработкой среды для развертывания аналитических приложений, а также оказывает консалтинговые услуги в области использования внутренних и внешних данных.
- Внедряем системы бизнес-аналитики на базе платформ PIX BI и Fine BI, проводим проекты миграции на отечественный BI
- Разрабатываем и внедряем КХД под ключ, от разработки концепции, подбора методологии и построения архитектуры в зависимости от ваших задач, до тестирования и поддержки
- Предоставляем услуги управления Нормативно-справочной информацией (НСИ, MDM) и помогаем навести порядок в данных с использованием алгоритмов ML
Проектируем и внедряем хранилища данных
А также реализуем ETL/ELT процессы в зависимости от ваших целей и задач