В чем разница между ETL и ELT?
Извлечение, преобразование и загрузка (ETL) и извлечение, загрузка и преобразование (ELT) — это два подхода к обработке данных для аналитики. Крупные организации используют несколько сотен (или даже тысяч) источников данных по всем аспектам своей деятельности: приложения, датчики, ИТ-инфраструктура и сторонние партнеры. Этот огромный набор данных нужно фильтровать, сортировать и очищать, чтобы он был полезным для аналитики и бизнес-аналитики. Подход ETL использует набор бизнес-правил для обработки данных из нескольких источников перед централизованной интеграцией. Подход ELT загружает данные в том виде, в каком они собраны, и преобразует их на более позднем этапе в зависимости от сценария использования и требований к аналитике. Процесс ETL требует большего определения на начальном этапе. Аналитикам необходимо участвовать с самого начала, чтобы определить целевые типы данных, структуры и взаимосвязи. Специалисты по работе с данными в основном используют ETL для загрузки старых баз данных в хранилище данных, а основным рабочим процессом сегодня является ELT.
В чем сходство между ETL и ELT?
ETL (извлечение, преобразование и загрузка) и ELT (извлечение, загрузка и преобразование) обозначают разные последовательности задач, выполняемых с данными для подготовки к анализу. Эти процессы разделяют на три основных этапа.
Извлечение
Извлечение является первым этапом и в ETL, и в ELT. Этот этап включает сбор необработанных данных из разных источников. Это могут быть базы данных, файлы, приложения SaaS (программное обеспечение как услуга), датчики Интернета вещей (IoT) или события приложений. На этом этапе можно собирать структурированные, частично структурированные или неструктурированные данные.
Трансформация
В процессе ETL преобразование является вторым шагом, а в ELT — третьим. На этом этапе исходная структура данных трансформируется в формат, соответствующий требованиям целевой системы, где данные будут храниться для анализа. Вот несколько примеров преобразования:
- изменение типов или форматов данных;
- удаление противоречивых или неточных данных;
- дедупликация данных.
Здесь можно применить любые подходящие правила и функции для очистки данных и подготовки к анализу в целевой системе.
Загрузка
На этом этапе данные загружаются в целевое хранилище данных. В процессе ETL загрузка данных является последним шагом, и после нее инструменты создания отчетов могут напрямую использовать сохраненные данные для создания отчетов и аналитических данных. В процессе ELT загруженные данные нуждаются в дополнительном преобразовании.
Чем процессы ELT и ETL отличаются друг от друга?
Ниже мы описываем процессы ETL (извлечения, преобразования и загрузки) и ELT (извлечения, загрузки и преобразования). Вы также сможете ознакомиться с историей этого вопроса.
Процесс ETL
Процесс ETL состоит из трех этапов:
- необработанные данные извлекаются из разных источников;
- выполняется преобразование этих данных на дополнительном сервере обработки;
- преобразованные данные загружаются в целевую базу данных.
Этап преобразования обеспечивает соответствие требованиям к структуре данных в целевой базы данных. Данные перемещаются только после полного завершения преобразования.
Процесс ELT
Процесс ELT также имеет три этапа:
- необработанные данные извлекаются из разных источников;
- данные загружаются в хранилище данных или озеро данных в естественном виде;
- преобразование выполняется по мере необходимости, уже в целевой системе.
При использовании процесса ELT все операции по очистке, преобразованию и обогащению данных происходят в хранилище данных. Вы можете обращаться к необработанным данным и преобразовывать их столько раз, сколько потребуется.
История развития ETL и ELT
Процесс ETL известен с 1970-х годов и стал очень популярным по мере развития хранилищ данных. Но традиционные хранилища данных требовали настройки всего процесса ETL для каждого источника данных отдельно.
Эволюция облачных технологий изменила все доступные возможности. Теперь компании могут хранить неограниченное количество необработанных данных и анализировать их по мере необходимости. Процесс ELT стал современным методом интеграции данных для получения эффективной аналитики.
Ключевые отличия между ETL и ELT
Потоки извлечения, загрузки и преобразования (ELT) имеют сразу несколько преимуществ над более старым методом извлечения, преобразования и загрузки (ETL).
Место преобразования и загрузки
Преобразование и загрузка происходят в разных местах и используют разные процессы. Процесс ETL преобразует данные на вторичном сервере обработки.
Напротив, процесс ELT загружает необработанные данные сразу в целевое хранилище данных. Там вы можете преобразовать перемещенные данные, когда это потребуется.
Подходящие данные
ETL лучше всего подходит для структурированных данных, которые можно представить в виде таблиц со строками и столбцами. Набор структурированных данных преобразуется в другой структурированный формат и новый набор загружается в хранилище.
ELT хорошо обрабатывает любые типы данных, в том числе неструктурированные, как например изображения или документы, которые невозможно хранить в табличном формате. Процесс ELT загружает любые предложенные форматы данных в целевое хранилище данных. Уже в хранилище вы можете преобразовать данные в любой нужный формат.
Скорость
ELT работает быстрее, чем ETL. Перед загрузкой данных в целевое хранилище в ETL выполняется дополнительный шаг, который трудно масштабировать, и это значительно замедляет работу системы по мере увеличения размера данных.
ELT сразу загружает данные в целевое хранилище, а преобразование выполняется параллельно. В этом варианте вся вычислительная мощность и возможности параллелизации, доступные в облачных хранилищах данных, применяются для преобразования данных в формат, требуемый для аналитики, в реальном или почти в реальном времени.
Затраты
Процесс ETL требует внимания аналитиков с самого начала. Специалисты должны заранее спланировать, какие отчеты они хотят создать, и на основе этого определить структуры и форматы данных. Время, необходимое для этой настройки, увеличивает сроки подготовки и затраты. Дополнительная серверная инфраструктура для преобразований также может повышать стоимость проекта.
В процессе ELT используется меньше систем, чем в ETL, поскольку все преобразования происходят уже в целевом хранилище данных. Чем меньше систем, тем проще процессы обслуживания, меньше стек данных и ниже затраты на настройку.
Безопасность
При работе с личными данными вы должны соблюдать правила конфиденциальности данных. Компании должны защищать информацию, позволяющую установить личность (PII), от несанкционированного доступа.
Разработчики, выбирающие подход ETL, должны создать собственные решения для мониторинга и защиты данных, например маскировку PII.
Решения ELT предоставляют множество готовых функций безопасности в хранилище данных, в том числе детализированный контроль доступа и многофакторную аутентификацию. Вы сможете больше времени уделять аналитике и меньше заботиться о выполнении законодательных требований к обработке данных.
Выбор между ETL и ELT
Извлечение, загрузка и преобразование (ELT) — это стандартный процесс в современной отрасли аналитики. Но обратный подход — извлечение, преобразование и загрузка (ETL) — тоже бывает удобным, например в следующих сценариях.
Устаревшие базы данных
Иногда более выгодно использовать ETL для интеграции с устаревшими базами данных или сторонними источниками данных, формат данных в которых изменить невозможно. Вам достаточно преобразовать эти данные и загрузить их в систему только один раз. После преобразования вы сможете эффективно использовать эти данные для любой аналитики.
Экспериментируйте
В крупных организациях инженеры по обработке данных проводят эксперименты. Например, ищут скрытые источники данных для аналитики и пробуют новые методы обработки запросов. Метод ETL полезен в экспериментах с данными, когда нужно понять структуру незнакомой базы данных и ее пользу для определенного сценария.
Комплексная аналитика
ETL и ELT можно использовать вместе для комплексной аналитики, использующей данные в нескольких форматах из разных источников. Специалисты по обработке данных могут создавать конвейеры ETL для некоторых источников и использовать ELT для остальных. Это повышает эффективность аналитики, а иногда и производительность приложений.
Приложения Интернета вещей (IoT)
Приложения Интернета вещей (IoT), использующие потоки данных от датчиков, часто лучше работают с потоком ETL, чем с ELT. Ниже перечислены несколько распространенных вариантов использования ETL для периферийных устройств.
- Вы хотите получать данные по разным протоколам и преобразовывать их в стандартные форматы данных для использования в облачных рабочих нагрузках
- Вы хотите фильтровать данные, поступающие с высокой частотой, выполнять агрегирование по большим наборам данных, а затем загружать усредненные или отфильтрованные значения с меньшей скоростью
- Вы хотите вычислять значения по данным из разных источников на локальном устройстве, а затем отправлять обработанные значения в облачную среду
- Вы хотите очищать, дедуплицировать или заполнять недостающие элементы в данных временных рядов
Краткое описание различий ETL и ELT
Категория | ИЗВЛЕЧЕНИЕ, ПРЕОБРАЗОВАНИЕ И ЗАГРУЗКА ДАННЫХ (ETL) |
ELT |
Означает |
Извлечение, преобразование и загрузка данных (ETL) |
Извлечение, загрузка и преобразование (ELT) |
Обработка |
Принимает необработанные данные, преобразует их в заданный формат и загружает в целевое хранилище данных. |
Принимает необработанные данные, загружает их в целевое хранилище данных, а затем преобразует их перед получением аналитики. |
Где выполняются преобразование и загрузка |
Преобразование происходит на вторичном сервере обработки. |
Преобразование происходит в целевом хранилище данных. |
Подходящие данные |
Лучше всего использовать структурированные данные. |
Может обрабатывать структурированные, неструктурированные и частично структурированные данные. |
Скорость |
ETL работает медленнее, чем ELT. |
ELT работает быстрее ETL благодаря применению внутренних ресурсов хранилища данных. |
Затраты |
Настройка может потребовать много времени и средств в зависимости от используемых инструментов ETL. |
Может быть более экономичным вариантом в зависимости от используемой инфраструктуры ELT. |
Безопасность |
Может потребовать специальных приложений для поддержки требований к защите данных. |
Для управления защитой данных можно использовать встроенные функции целевой базы данных. |
Как AWS может удовлетворить ваши требования к ETL и ELT?
Аналитика в AWS — это совокупное название широкого ассортимента аналитических сервисов Amazon Web Services (AWS), из которых вы найдете подходящий вариант для любых потребностей в аналитике данных. AWS позволяет организациям всех размеров найти новый подход к работе с данными.
Ниже перечислены несколько сервисов AWS, которые можно использовать в инфраструктуре ETL и ELT.
- Amazon Aurora поддерживает интеграцию с Amazon Redshift с нулевым использованием ETL. Такая интеграция обеспечит получение аналитики и использование машинного обучения в Amazon Redshift по нескольким петабайтам данных о транзакциях из Aurora в режиме, близком к реальному времени.
- Конвейер данных AWS — это управляемый сервис ETL, который позволяет описывать правила перемещения и преобразования данных между разными сервисами AWS.
- AWS Glue — это бессерверный сервис интеграции данных для организации управляемых событиями заданий ETL и бескодовых заданий ETL.
- AWS IoT Greengrass поддерживает любые сценарии ETL на периферийных устройствах, добавляя возможности облачной обработки и облачной логики в локальную среду.
- Amazon Redshift позволяет настроить любые рабочие процессы ELT и напрямую обращаться к наборам данных из разных источников.
Создайте бесплатный аккаунт и начните работу с ETL и ELT на AWS уже сегодня.