20.02.2024 ПУБЛИКАЦИИ

Чем ETL отличается от ELT, и какой подход лучше?

Система бизнес-аналитики — это комплекс методов, инструментов и технологий, предназначенных для сбора, обработки и анализа данных, а также их представления в удобной для пользователя форме.

BI помогает компаниям отслеживать показатели эффективности деятельности, оптимизировать бизнес-процессы, снижать издержки и увеличивать прибыль.
BI-системы: рост объема генерации данных
Примеры сводных дашбордов BI аналитики

BI аналитика - шаг к ETL и ELT процессам

BI-инструменты собирают, структурируют и нормализуют бизнес-данные, на основе которых далее строится отчетность и визуализации.

Информация, необходимая для процессов бизнес-аналитики, обычно находится в разных базах данных, файлах, API, информационных системах. Сами источники также могут размещаться локально или в облаке. Каждая система, файл или БД хранят данные в разном формате, структурированно или не структурированно.

Например, для оценки процессов продаж необходимо получить данные из нескольких изолированных друг от друга систем: из CRM – информацию о клиентах и продажах, из POS - историю покупок клиентов, из Яндекс Метрики – информацию о трафике на сайте, и так далее.

Сбор данных из этих источников вручную - трудоемкий процесс, в котором возможны ошибки из-за человеческого фактора. К тому же, у каждого источника свой способ предоставления доступа к данным.

Демократизация данных с ETL и ELT

Для эффективной работы с данными их нужно получить из разрозненных внутренних и внешних источников, структурировать и переместить в единый репозиторий (например, в КХД). Эти процессы называются ETL и ELT.

ETL и ELT-процессы максимально тесно связаны с BI и являются фундаментом для любой работы с данными. Они могут быть как встроены в BI-платформу, так и реализованы с помощью внешних инструментов.

Благодаря ETL и ELT вся ценная информация собирается воедино, обеспечивая демократизацию данных для всех бизнес-пользователей.

В статье расскажем, в чем разница этих двух подходов, и на что она влияет.

Что такое ETL?

ETL (Extract, Transform, Load, ЕТЛ) — это конвейер для извлечения «сырых» данных из различных источников, их преобразования и загрузки в целевую систему. Преобразование данных в ETL происходит в области временного хранения данных вне целевой системы.
Конвейер ETL (Extract, Transform, Load)
Конвейер ETL (Extract, Transform, Load)

Этапы Extract, Transform и Load

Названия ETL и ELT - аббревиатуры от наименований этапов этих процессов: Extract (извлечение), Transform (преобразование) и Load (загрузка).

Очевидная разница между ETL и ELT- разный порядок шагов извлечения, преобразования и загрузки данных. Для понимания того, что вообще происходит с данными в процессах, рассмотрим эти шаги вне зависимости от их порядка
ЭтапыExtract (извлечение), Transform (преобразование) и Load (загрузка)
Extract (извлечение), Transform (преобразование) и Load (загрузка)

Структура ETL-процесса

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 – Загрузка
Load - процедура копирования сырых или преобразованных данных в целевую OLAP (Online Analytical Processing) - систему оперативной аналитической обработки данных или анализа данных, такую как хранилище данных или аналитическая платформа.

Кто и где использует ETL

ETL используется в разных процессах, где необходимо объединение данных из нескольких источников, миграции данных в единое хранилище:


С ETL-системами работают специалисты, участвующие в перечисленных проектах:

  • ETL-разработчики - проектируют и реализуют уникальные процессы извлечения, преобразования и загрузки данных
  • Дата-инженеры - занимаются построением и обслуживанием инфраструктуры для работы с данными
  • Дата-аналитики и бизнес-аналитики - работают с данными из множества источников

Какие преимущества ETL предоставляет бизнесу

ETL-процессы используются для подготовки данных для анализа, отчетности и визуализации. Они обладают следующими преимуществами:

  • Обеспечивают высокую степень контроля и стандартизации данных в процессе обработки. Набор данных соответствует требованиям о работе с реляционными структурами для OLAP-инструментов и запросов SQL.

  • Предоставляют контролируемую среду для сложных преобразований, например, если данные требуют значительных изменений в структуре или сложной бизнес-логики.

  • Способствуют увеличению производительности запросов на этапе загрузки в целевое хранилище при правильной оптимизации предварительной трансформации и фильтрации данных.

  • Обеспечивают безопасность данных. В рамках ETL можно удалить или зашифровать конфиденциальные данные еще до загрузки в хранилище, что актуально при необходимости передачи данных во внешние системы или работы компании по международным стандартам защиты персональных данных GDPR (Общий регламент по защите персональных данных) или HIPAA (Акт о передаче и защите данных учреждений здравоохранения).

  • Являются зрелыми технологиями. Существует достаточно проверенных инструментов и платформ ETL, а также специалистов по обработке данных, имеющих опыт настройки ETL.

Минусы ETL-процесса

Несмотря на универсальность для многих сценариев использования, при ETL есть недостатки:

  • Если правила преобразования не будут тщательно разработаны и протестированы, существует риск потери важной части данных во время трансформации. При изменении методологии некоторые исторические данные могут быть также утеряны, т. к. в хранилище хранятся уже обработанные данные.

  • Предварительная трансформация может значительно увеличить время загрузки данных в хранилище, особенно при работе с большими объемами данных.

  • В некоторых случаях предварительное преобразование может привести к утрате гибкости в адаптации к изменениям и новым требованиям бизнеса.
  • При работе с большими объемами данных ETL-процесс может быть ресурсоемким, требующим значительную вычислительную мощность и объем хранилища.

    Как работает ETL-процесс?

    Стандартная схема работы ETL по загрузке и преобразованию данных:

    • Подключение к системам-источникам, определение состава данных, периодичности их выборки и правил отбора данных в выборку
    • Выгрузка данных из источников с помощью SQL запросов или API
    • Валидация данных, их очистка от дублей и ошибок
    • Маппинг - настройка соответствия данных с целевой моделью, когда к валидированной таблице пристраиваются столбцы по количеству справочников целевой модели, а потом в каждой пристроенной ячейке каждой строки проставляются соответствия значений целевых справочников. При маппинге все данные связываются между собой
    • Агрегация — объединение данных в итоговой таблице, необходимое из-за различий в детализации данных в OLTP и OLAP-системах
    • Загрузка данных в систему хранения или витрины с помощью коннекторов, включая информацию о структуре их представления (метаданные)

    Структура ETL-процесса

    Как работает ETL система
    Принцип работы ETL

    Что такое ELT?

    ELT (Extract, Load, Transform, ЕЛТ) представляет собой относительно новый подход к обработке данных, при котором они извлекаются из источников и загружаются в целевое облачное хранилище в «сыром» виде, а затем внутри хранилища происходит их трансформация. В ELT не требуется промежуточная среда для трансформации данных.
    ELT (Extract, Load, Transform)
    Конвейер ELT (Extract, Load, Transform)

    Плюсы ELT-процесса

    • Процесс ELT включает в себя загрузку данных в облачные хранилища, которые обладают достаточной мощностью, чтобы быстро преобразовывать и обрабатывать огромные наборы данных.

    • Возможность проводить трансформацию и анализ данных внутри хранилища увеличивает адаптивность к изменениям в бизнес-требованиях.

    • Необработанные данные прозрачны и доступны в режиме реального времени для всех бизнес-пользователей.

    • ELT походит для работы с озерами данных. Озеро данных (Data Lake) — это хранилище для больших объемов данных, которое не требует их преобразования перед загрузкой, способно обрабатывать как структурированные, так и неструктурированные данные. Оно обеспечивает быстрый доступ к данным для анализа и предоставляет основу для расширенной аналитики, ML, Big Data и Data Science.

    • Вероятность потери исторических данных при изменении методологии или наличии ошибки в расчете гораздо ниже, чем при ETL-подходе.

    Минусы ELT-процесса

    • Для эффективной работы ELT требуется мощное хранилище данных, способное обрабатывать и анализировать данные на этапе их загрузки.

    • Проведение трансформации внутри хранилища данных требует дополнительного внимания к безопасности и контролю доступа.

    • ELT часто не включают в себя сложные проверки и преобразования данных перед их загрузкой в целевую систему, что требует использования дополнительных инструментов для управления качеством данных.

    • Технология не так изучена, как ETL, поэтому разработчиков ELT найти сложнее.

        Что лучше: ETL или ELT?

        ETL эффективен для небольших наборов данных, которые требуют сложных преобразований. После преобразования данных ETL позволяет проводить более эффективный и стабильный анализ данных.

        ELT, в свою очередь, подходит для более крупных структурированных и неструктурированных наборов данных, и когда важна своевременность их анализа.

        Приводим сравнительную таблицу характеристик процессов:

            С какими задачами поможет ETL

            • Вы работаете с небольшими массивами структурированных данных
            • Вы работаете с конфиденциальной информацией и персональными данными, и вам важно разграничить доступ к ним
            • Нет необходимости или достаточных средств для внедрения озера данных, достаточно OLAP-хранилища
            • Вы работаете с устаревшими системами, которые требуют преобразования данных для соответствия целевой схеме

            С какими задачами поможет ELT

            • Вы работаете с большим объемом структурированных и неструктурированных данных
            • Для вас важно принятие решений в режиме реального времени и прозрачность данных, их обработка с минимальной задержкой
            • Вы работаете с ML, запускаете проект с Big Data или Data Science
            • Вы хотите воспользоваться преимуществами масштабируемости облачных хранилищ и озер данных

            Рынок движется к тому, чтобы ELT стал стандартом. Объем, скорость и разнообразие данных за последние годы сильно выросли. Согласно отчету аналитической компаний IDC, только в 2023 году в мире было создано 120 зеттабайт данных, а к 2025 году объем достигнет 163 зеттабайт. Примерно 80% этих данных - неструктурированные.

            ELT уже сейчас во многих случаях заменил ETL, особенно в таких сценариях, как миграция данных в облако, использование озер данных, MLOps (практики подготовки данных для внедрения машинного обучения).

            Совет эксперта

            Гибкий и масштабируемый ELT превосходит ETL с точки зрения универсальности, возможностей быстрой работы с большими массивами различных типов данных. ELT менее затратен по сравнению с локальным ETL.

            Но, в то же время, инструменты и компетенции ETL на рынке представлены шире. ETL минимизируют комплаенс-риски, что важно при работе с конфиденциальными данными.

            Некоторые компании используют и ETL, и ELT, в зависимости от текущих требований бизнеса. Например, можно использовать ETL для обработки исторических данных, а ELT для доступа к данным в реальном времени.
            Где заказать внедрение ETL и ELT?
            Команда Qlever Solutions более 10 лет занимается созданием корпоративных аналитических решений, разработкой среды для развертывания аналитических приложений, а также оказывает консалтинговые услуги в области использования внутренних и внешних данных.

            • Внедряем системы бизнес-аналитики на базе платформ PIX BI и Fine BI, проводим проекты миграции на отечественный BI

            • Разрабатываем и внедряем КХД под ключ, от разработки концепции, подбора методологии и построения архитектуры в зависимости от ваших задач, до тестирования и поддержки

            • Предоставляем услуги управления Нормативно-справочной информацией (НСИ, MDM) и помогаем навести порядок в данных с использованием алгоритмов ML

            Проектируем и внедряем хранилища данных

            А также реализуем ETL/ELT процессы в зависимости от ваших целей и задач