20.02.2024 ПУБЛИКАЦИИ

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

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

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

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

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

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

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

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

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

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

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

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

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

Этапы Extract, Transform и Load

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

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

      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 происходит в области временного хранения данных вне целевой системы.
            Конвейер ETL (Extract, Transform, Load)
            Конвейер ETL (Extract, Transform, Load)

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

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

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

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

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

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

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

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

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

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

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

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

              Как работают ETL-системы?

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

              • Подключение к системам-источникам, определение состава данных, периодичности их выборки и правил отбора данных в выборку

              • Выгрузка данных из источников с помощью SQL запросов или API

              • Валидация данных, их очистка от дублей и ошибок

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

              • Агрегация — объединение данных в итоговой таблице, необходимое из-за различий в детализации данных в OLTP и OLAP-системах

              • Загрузка данных в систему хранения или витрины с помощью коннекторов, включая информацию о структуре их представления (метаданные)
                  Как работает 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, в свою очередь, подходит для более крупных структурированных и неструктурированных наборов данных, и когда важна своевременность их анализа.

                          Приводим сравнительную таблицу характеристик процессов:
                              Гибкий и масштабируемый 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 (практики подготовки данных для внедрения машинного обучения).
                                  Где заказать внедрение ETL и ELT?
                                  Команда Qlever Solutions более 10 лет занимается созданием корпоративных аналитических решений, разработкой среды для развертывания аналитических приложений, а также оказывает консалтинговые услуги в области использования внутренних и внешних данных.

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

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

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

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

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