Создание Data Lake 2
В этой статье мы в общих чертах рассмотрим концепцию ELT и дадим определения ETL. Ещё мы представим примеры ETL-решений, которые помогут проиллюстрировать прием и перемещение данных в реальном времени и работу с пакетными данными. Кроме того, мы покажем, как ETL и ELT могут сосуществовать в рабочем процессе для извлечения данных, их преобразования, а также загрузки в облачные хранилища.
- ETL: аббревиатура «ETL» может описывать сертификат электробезопасности или процесс обработки данных, который будет «извлекать, преобразовывать и загружать» в целевой пункт назначения.
- ELT: аббревиатура «ELT» используется для описания двух довольно интересных вещей. Одна из них – это самый большой в мире «глаз, который смотрит в небо», под названием «Чрезвычайно большой телескоп». Другой акроним – прием, загрузка и обработка данных, звучит как «Извлечь преобразовать загрузить».
Хотя сперва вам может показаться, что, работая над проектами ETL и ELT, вы всматриваетесь во тьму, мы не будем говорить о том, как использовать для решения этих проблем телескоп (или тестирование электробезопасности).
Определения ETL и ELT
ELT (Извлечь загрузить преобразовать) – это разновидность ETL (Извлечь преобразовать загрузить). С ELT, преобразования данных происходят сразу после их загрузки в озеро данных или хранилище. С развитием озер данных или облачных хранилищ данных, таких как Azure Data Lake, AWS Redshift, AWS Redshift Spectrum, AWS Athena, и Google BigQuery или Presto, использование ELT стало более популярным. Пакетная обработка или данные в реальном времени, каждое из которых отражает конвейеры, которые выигрывают от преобразования после загрузки. Что такое инструмент ETL?
- представляет собой процесс ELT или ETL для извлечения, агрегирования, организации, преобразования, маршрутизации, сопоставления и хранения данных независимо от их объема.
- предлагает структуры и методы для работы с разнообразными и сложными экосистемами данных, обеспечивая легкий доступ к ним.
- обеспечивает согласованность и автоматизацию разработки, тестирования и эксплуатации
- увеличивает скорость бизнеса для обработки данных, визуализации, отчетности или статистических моделей за счет устранения препятствий для доступа к данным
Что такое процесс ETL?
Бизнес с головой зарылся в данные. Расстояние между данными и теми, кому они нужны, никогда не было аж таким большим. Когда данные скрыты в системах, они невидимы и не используются для операций, анализа и принятия решений. Это – ваши разрозненные хранилища данных. Процессы ETL могут помочь их разбить. Процесс должен обеспечить основы для эффективного и программного разделения разрозненных данных. Процесс инкапсулирует людей и технологии для решения текущих и растущих проблем, связанных с приемом и переносом данных. Процесс информирует о правильных типах инструментов, которые лучше всего подходят для ваших задач с данными.
Озеро данных и схема архитектуры
Почему мы используем инструменты ELT и ETL
Извлечение, преобразование и загрузка традиционно считались сложными и ресурсоемкими задачами из-за множества исходных источников данных, плохо определенной бизнес-логики, отсутствия опыта и унаследованных сред. Сложность в основном связана с преобразованием, которое требуется перед загрузкой данных в целевой пункт назначения. Будь то ETL или ELT, тяжелая работа, необходимая для преобразований, ведется в компаниях по сей день. Эта работа не становится легче, учитывая сложности подготовки данных, с которыми сталкиваются во многих источниках данных.
Цель коммерческих инструментов ETL или инструментов с открытым исходным кодом – облегчить использование данных. В конечном счете, основная цель всех этих усилий – простое потребление данных. Эти процессы отражают попытки добиться достаточной эффективности и устранить препятствия для достижения желаемого результата потребления данных.
ETL против ELT
Когда люди обсуждают альтернативы ETL, основное внимание уделяют ELT. Ранее мы уже погружались в ETL, который кратко ссылался на ELT. В этой статье мы рассмотрим оба более подробно. Как мы уже указывали ранее, преобразования или буква «T» в обоих аббревиатурах ETL и ELT отражает бизнес-логику и модели. Оба эти процесса похожи, только выполняются в разном порядке. Например, извлечение данных и загрузка данных в обоих случаях обычно выглядят одинаково. Хотя смена только меняет порядок работы, она может иметь большое значение для команд, которым нужен быстрый доступ к данным (даже если информация менее точная). Тот факт, что «T» является промежуточным этапом, считается одной из основных проблем реализации ETL. ELT выполняет преобразование данных после загрузки, а ETL – в середине процесса перед загрузкой. Сложное преобразование может занять время, чтобы определить, спроектировать, внедрить и протестировать данные. Это может оказаться проблемой для доступа к менее детализированным, но полезным данным. Поскольку потенциально сложные преобразования не замедляют доступ к данным, группы могут получить доступ к ним быстрее с помощью процесса ELT. Хотя загруженные данные могут быть менее детализированными, тот факт, что к ним легко получить доступ, приносит пользу тем, кто ставит скорость выше дальнейшего уточнения.
Как работают инструменты ETL? Диаграммы для разработчиков ELT и ETL
Ниже представлено несколько различных блок-схем ELT и ETL для разработчиков ETL. Источник данных для этих потоков может отражать пакетный или потоковый прием данных. Эти примеры отражают конвейер приема данных высокого уровня, использующий как ETL, так и ELT.
1. Пример процесса ETL в хранилище данных
В этом примере мы показываем извлечение данных из источника с помощью набора задач преобразования данных и их загрузку в целевое хранилище или место назначения в озере данных. Извлечение данных в ETL, а также преобразование и загрузку можно увидеть в этом базовом примере BigQuery:
BigQuery ETL
Этот пример сквозного ETL отражает процесс извлечения данных, отображение данных и их загрузку в целевое хранилище. Он отражает основные концепции процедуры ETL.
Хотя мы показываем только один источник данных, они также применимы к нескольким источникам. Еще одно примечание: мы показываем в примере BigQuery, но так же можно быстро отразить процесс ETL Amazon Athena или Redshift в конвейере AWS. Поэтому лучший инструмент может не подходить для таких систем, как Redshift или Athena.
2. Пример инструментов ELT
В этом примере мы показываем ELT или процесс «извлечение, загрузка, преобразование». Об инструментах и процессах ELT полезно думать, как об эволюции традиционных методов ETL. Как мы упоминали ранее, этап преобразования («Т») переходит в постпроцесс. В некоторых отношениях буква «T» может даже не понадобиться в зависимости от варианта использования. Это может быть просто «EL» или «извлечение и загрузка». Если преобразование действительно необходимо, оно выполняется позже и, возможно, другой командой. Дело в том, что в ELT часто сложный процесс преобразования абстрагируется от рабочего процесса, чтобы увеличить скорость потока данных.
Пример ELT
Как это изменится в рабочем процессе BigQuery и Amazon Redshift? Не сильно.
Пример Redshift и ELT
Процесс Redshift ETL или ELT будет аналогичным, но может отличаться используемыми инструментами. Есть целый ряд передовых практик Redshift ETL, даже некоторые инструменты с открытым исходным кодом для частей этого процесса. Однако из общего потока он будет одинаковым независимо от пункта назначения.
3. ELT против архитектуры ETL: гибридная модель
ETL часто используется в контексте хранилища данных. В наших примерах выше он использовался в качестве основного пункта назначения. Оба служат более широкой цели для приложений, систем и мест назначения, таких как озера данных и витрины данных. Имейте в виду, что это не битва архитектур ETL и ELT, и они вполне могут работать вместе. Ниже приведен пример гибридной модели:
Гибридная модель
В этом примере есть две части архитектуры ELT и ETL. Первая группа использовала процесс ELT, который перемещал данные из событий Adobe в озеро данных AWS. Вторая группа выполняет миграцию данных из AWS в корпоративную среду Oracle Cloud с использованием систем Oracle ETL. Это позволяет двум группам выполнять задания по тестированию ETL в Oracle, создавать новые модели данных или приложения, не влияя на последующие рабочие процессы.
Почему от AWS к Oracle? Это самый эффективный и экономичный пример потребления данных для среды Oracle BI. Гибкость и экономичность использования AWS вместо традиционного процесса миграции данных ETL были в 100 раз дешевле и намного быстрее.
При рассмотрении приема данных в озеро данных AWS, как в приведенном выше примере, необходимо реализовать определенный уровень курирования. Это относится и к другим направлениям, таким как витрины и склады. В первую очередь, это функция приложений для извлечения, которые вы создаете.
Методы извлечения в хранилищах данных, таких как Oracle из примера выше, будут отличаться в зависимости от инструментов, которые хотела использовать команда №2.
4. Инструменты ETL и ELT в бизнес-аналитике.
Этот пример является производным от числа 3. Это – демонстрация расширения бизнес-аналитики ELT и ETL.
В наших сценариях использования мы предполагаем, что среда Oracle, которой управляет вторая группа, не разрешает доступ определенной группе аналитиков. Аналитики могут проводить анализ данных на основе выполненной работы ELT первой группы.
В приведенном ниже примере показано, как один и тот же рабочий процесс поддерживает подготовку данных Tableau, а также подключение Tableau AWS к озеру данных и Amazon Athena.
Таблица ELT
Эффективность этой модели позволяет команде бизнес-аналитиков использовать модель ELT из первой группы, подключив Tableau к AWS Athena, чтобы они могли выполнять свою работу по отчетности.
Является ли Tableau инструментом ETL в таком случае? Нет, это чисто для анализа данных. Tableau может выполнить некоторые важные преобразования. Но этот ответ может немного измениться, если речь идет об инструменте ETL Tableau Prep. С Tableau Prep вы действительно работаете на определенном уровне с ETL. Вы также можете заменить Tableau некоторой формой процесса Alteryx.
Дело в том, что вместо того, чтобы сравнивать ETL с ELT, у вас может быть подход, который даст вам гибкость, чтобы обсудить один или несколько инструментов, выполняющих преобразования одних и тех же данных.
5. Данные ELT и ETL для событий Adobe Clickstream
Этот пример является производным от № 4. Как и в последнем случае, вместо использования коммерческих предложений, таких как Informatica ETL или Talend ETL для обработки данных Adobe, использовалось озеро данных и процесс Oracle.
Это показывает, что операции бизнес-аналитики происходят из Oracle EDW, а не из озера данных.
Они могут работать вместе.
Процесс для группы Oracle ETL упрощен благодаря использованию оптимизированной архитектуры озера данных и организованного каталога данных. Команда Oracle просто вызывает конечную точку схемы ETL для каждого главного представления, которое они хотят использовать для извлечения данных. Они выполняют пакетную обработку по установленному графику для извлечения необходимых данных. Конечно, при необходимости основная информация будет доступна в озере, но использование каталога для извлечения данных в ETL процесс несложный.
Целевой объект ETL: озеро данных S3, каталог данных
В этом случае разработчики Oracle ETL создали рабочий процесс для поддержки бизнес-операций и отдельную аналитику данных Tableau ETL. Это обеспечило среду автоматизации ETL, которая использовала Adobe, Amazon и озеро данных в качестве зоны посадки или промежуточной области.
Резюме: построение конвейеров данных
Если вы – разработчик ETL начального уровня или опытный профессионал, вы знаете, что лучший ETL или ELT – это функция доступных инструментов, навыков, опыта и внимания к деталям. Вы знаете, что ETL и ELT не исключают друг друга. И то, и другое можно рассматривать как часть более широкой стратегии интеграции данных. Каждый может отражать этап или шаг в процессе миграции данных, который происходит внутри компании.
Если вы сейчас разрабатываете конвейеры данных для хранилищ данных или озер данных, вы можете рассмотреть ELT или гибридный подход. Гибридная модель типична для рабочих процессов озера данных.
Любые конкретные преимущества и недостатки ETL и ELT будут зависеть от вашей ситуации. Например, если вы используете Google Cloud или Amazon Web Services, оба предлагают набор сервисов для создания или размещения вашего облачного ETL или ELT. Каждый из них предоставит уникальный набор возможностей и предложений сервисов, которые помогут в использовании ваших инструментов.