перейти к содержанию

Что такое ELT и чем он отличается от ETL?

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

Учебник по ELT

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

В этом разделе будет описано, как работает процесс ELT и некоторые из его ключевых преимуществ.

Процесс ELT шаг за шагом

ELT состоит из трех основных этапов:

Извлечение данных

Первым шагом является извлечение данных из одной или нескольких исходных систем. Это может включать в себя:

  • Базы данных, такие как MySQL, Oracle, MongoDB.
  • SaaS-приложения, такие как Salesforce, Marketo, Slack.
  • Веб-API, такие как Stripe, Twitter, Github.
  • Файлы журналов, мобильные приложения, веб-сайты и многое другое.

Как эксперт по интеграции данных, связавший тысячи источников, я часто использую для процесса извлечения такие инструменты, как Fivetran, Stitch и Skyvia. Ключевым моментом является наличие предварительно созданных соединителей, которые могут подключаться к API или базе данных и эффективно получать данные постепенно в соответствии с запланированными интервалами.

Например, розничная компания может настроить конвейер ELT для извлечения новых данных о транзакциях продаж из своей базы данных MySQL POS каждый час.

Загрузить данные

Далее извлеченные исходные данные загружаются непосредственно в целевую систему, где они будут сохранены и преобразованы. Обычно это хранилище данных, такое как Snowflake, BigQuery или Redshift. Или озеро данных, например AWS S3, Azure Data Lake Storage или Databricks Delta Lake.

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

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

Преобразовать данные

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

Некоторые распространенные преобразования включают в себя:

  • Очистка данных – Обработка пропущенных значений, аномалий, дубликатов и т. д.
  • обогащение – Объединение связанных данных из других источников.
  • агрегирование – Обобщение данных для анализа, таких как итоговые, средние значения, подсчеты и т. д.
  • Парсинг текста/НЛП – Создание текстовых данных, пригодных для анализа.
  • форматирование – Изменение типов данных, переход к другой структуре.

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

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

Ключевые преимущества ELT

По сравнению с традиционным ETL, ELT предлагает важные преимущества:

  • Более быстрая доступность данных – Если сначала загрузить данные, их можно использовать для аналитики без длительных преобразований. Это позволяет использовать сценарии в реальном времени.
  • Трансформируемость – Загруженные необработанные данные можно при необходимости повторно преобразовать без повторного извлечения и загрузки. Отлично подходит для исследовательского анализа.
  • Масштабируемость – Он использует встроенное хранилище и обработку хранилищ и озер, что позволяет масштабировать его до больших объемов данных, которые были бы непомерно высоки в ETL.
  • Бюджетный – Благодаря отказу от дополнительного программного обеспечения и инфраструктуры ETL это вариант с меньшей сложностью и стоимостью.

Опрос, проведенный Datanami, показал, что почти 50% организаций называют гибкость главным фактором использования решений ELT. А Gartner прогнозирует, что к 2025 году 70% новых проектов по интеграции данных будут использовать ELT вместо ETL.

Описав ключевые преимущества и этапы процесса, давайте теперь углубимся в то, чем ELT отличается от ETL.

ETL против ELT: ключевые различия и сходства

Хотя ETL и ELT перемещают данные из источников в хранилища и озера, они имеют явные различия в том, как они работают:

ETLELT
  • Сначала преобразует данные в отдельной среде
  • Затем загружает преобразованные данные в целевую систему.
  • Хорошо работает для относительно небольших объемов данных.
  • Требуется предварительное планирование преобразований.
  • Менее гибкие изменения в дальнейшем
  • Требуется специальное программное обеспечение и инструменты для ETL.
  • Сначала загружает необработанные данные в целевую систему
  • Затем преобразуется на месте в целевой системе.
  • Лучше масштабируется для больших объемов данных
  • Преобразование может быть сделано ad hoc
  • Более гибкий, поскольку доступны необработанные данные
  • Использует встроенную обработку целевой системы.

Однако ETL и ELT также имеют некоторые общие черты:

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

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

Позже в этом руководстве мы более подробно рассмотрим, когда ELT является лучшим выбором по сравнению с ETL. Но сначала давайте рассмотрим процесс и инструменты ELT более подробно.

Более пристальный взгляд на процессы и инструменты ELT

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

Ключевые шаги для успеха ELT

Хорошо спроектированные конвейеры ELT требуют внимания к следующим аспектам:

1. Запланируйте извлечение данных.

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

2. Выберите правильный график и стратегию загрузки.

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

3. Спроектируйте модель данных для преобразования.

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

4. Тестируйте постепенно.

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

5. Контролируйте качество данных.

В ходе процесса выполняйте проверки, чтобы как можно раньше выявить ошибки, аномалии или проблемы с качеством.

6. Документируйте рабочий процесс.

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

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

Лучшие инструменты ELT

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

Облачные хранилища данных

  • Снежинка – Мощное облачное хранилище данных, отлично подходящее для больших объемов данных и масштабирования. Имеет встроенные возможности ELT.
  • BigQuery – Бессерверное хранилище данных от Google. Быстрый и полностью управляемый. Хорошо интегрируется с GCP.
  • Redshift – Быстрое хранилище данных от AWS. Экономичный вариант с хорошими средствами управления.

Специальные инструменты ELT

  • Матиллион ЭТЛ – Интуитивно понятный клиент для создания и управления заданиями ELT. Разъемы для многих источников.
  • Данные Hevo – Автоматизирует конвейеры ELT с помощью готовых соединителей и преобразований.
  • Фифтран – Упрощает ELT за счет полностью управляемых соединителей данных и конвейерной обработки.

Инструменты оркестрации

  • Воздушный поток – Менеджер рабочих процессов с открытым исходным кодом. Может планировать и контролировать задания ELT.
  • Префект – Современная оркестровка рабочих процессов. Простота настройки и обслуживания трубопроводов.

Существуют также комплексные платформы, такие как AWS Glue и Azure Data Factory, которые предоставляют полностью управляемые возможности ELT.

Я рекомендую оценить ваш текущий стек, объемы данных, навыки работы в команде и бюджет при выборе инструмента ELT. Вам нужен баланс между простотой использования потоков и предоставлением расширенных возможностей.

Хорошо, мы рассмотрели ключевых игроков экосистемы ELT. Теперь перейдем к тому, когда ELT является правильным выбором.

Когда лучше выбирать ELT вместо ETL

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

1. Потребность в данных в реальном времени

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

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

2. Требуйте масштабируемости для больших объемов данных

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

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

3. Необходимость гибкости в связи с изменением требований

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

аналитика постоянно расширяющегося набора потребностей.

4. Имейте различные типы данных, такие как текст, видео и т. д.

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

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

5. Использование передовых аналитических методов, таких как машинное обучение

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

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

Проблемы при переходе от ETL к ELT

Несмотря на свои преимущества, миграция существующих реализаций ETL на ELT сопряжена с проблемами, в том числе:

Рефакторинг ETL-кода – Программы и логику, вероятно, потребуется перепроектировать для другого потока данных ELT. Этот уровень усилий зависит от сложности ETL.

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

Переподготовка команд – Существующим разработчикам ETL необходимо будет изучить новые инструменты и парадигмы ELT. Эта кривая обучения изначально влияет на производительность.

Интеграция старых и новых систем – Гибридный подход с сохранением некоторого ETL при поэтапном внедрении ELT усложняет интеграцию во время перехода.

Тестирование на громкости – Системы ELT должны быть подвергнуты стресс-тестированию на ожидаемых объемах данных на раннем этапе для проверки производительности и масштабируемости.

Я рекомендую начать с пилотного тестирования ELT для нового целевого варианта использования, а не пытаться преобразовать все ETL сразу. Это позволяет использовать лучшие практики ELT, ограничивая при этом сбои.

Лучшие практики ELT

Помимо описанных ранее шагов для успешного ELT, я рекомендую следующие лучшие практики:

  • Планируйте возможность повторного использования – Модульизируйте код извлечения и преобразования, чтобы его можно было повторно использовать в разных конвейерах. Избегайте изобретать велосипед.
  • Внедрить отслеживание метаданных – Иметь систему для управления метаданными об источниках, бизнес-логике, преобразованиях и т. д. Критически важно для понимания потоков.
  • Мониторинг качества данных – Встраивайте средства мониторинга, проверки и оповещения данных на каждом этапе, чтобы немедленно выявлять проблемы.
  • Тщательно документируйте – Требовать документирования всех заданий ELT для технических групп для поддержки того, что создают бизнес-пользователи.
  • Тестируйте постепенно – Постоянно тестируйте извлечения, загрузки и преобразования небольшими частями, а не тестированием «большим взрывом».
  • Чистый, как вы идете – Применяйте гигиену данных, например удаляйте персональные данные на каждом этапе, а не откладывайте их до конца.

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

Ключевые выводы и следующие шаги

Мы рассмотрели множество вопросов, сравнивая ETL и ELT, распространённые случаи использования ELT, инструменты и советы. Подвести итог:

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

Когда вы оцените миграцию пакетных заданий ETL на ELT в режиме реального времени, не стесняйтесь обращаться к нам! Наша команда имеет опыт проектирования и реализации сотен сложных конвейеров данных. Мы рады предложить свои знания и опыт, чтобы оценить, является ли ELT правильным решением для аналитических потребностей вашей организации.

Присоединяйтесь к беседе

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *