Что такое ETL?

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

Почему подход ETL так важен?

Сегодня организации располагают как структурированными, так и неструктурированными данными из различных источников, включая:

  • Данные о клиентах из систем онлайн-платежей и управления взаимоотношениями с клиентами (CRM)
  • Данные о запасах и операциях из систем поставщиков
  • Сенсорные данные с устройств Интернета вещей (IoT)
  • Маркетинговые данные из социальных сетей и отзывы клиентов
  • Данные о сотрудниках из внутренних систем управления персоналом

Применяя процесс извлечения, преобразования и загрузки (ETL), отдельные необработанные наборы данных могут быть подготовлены в формате и структуре, более пригодных для использования в аналитических целях, что позволяет получить более содержательные выводы. Например, интернет-магазины могут анализировать данные из точек продаж для прогнозирования спроса и управления запасами. Маркетинговые команды могут интегрировать данные CRM с отзывами клиентов в социальных сетях для изучения поведения потребителей.

Какую пользу приносит ETL для бизнес-аналитики?

Извлечение, преобразование и загрузка (ETL) улучшает бизнес-аналитику и аналитику, делая этот процесс более надежным, точным, подробным и эффективным.

Исторический контекст

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

Консолидированное представление данных

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

Точный анализ данных

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

Автоматизация задач

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

Как развивался подход ETL?

Извлечение, преобразование и загрузка (ETL) возникли с появлением реляционных баз данных, в которых хранились данные в виде таблиц для анализа. С помощью ранних инструментов ETL пытались преобразовать данные из транзакционных форматов в реляционные форматы данных для анализа.

Традиционный подход ETL

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

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

Современный подход ETL

По мере развития технологии ETL количество типов и источников данных увеличивалось экспоненциально. Облачные технологии возникли для создания огромных баз данных (также называемых потребителями данных). В такие потребители данных могут поступать данные из нескольких источников. Они также могут иметь базовые аппаратные ресурсы, которые могут масштабироваться с течением времени. Инструменты ETL также стали более сложными и могут работать с современными потребителями данных. Они могут преобразовывать данные из устаревших форматов в современные. Ниже приведены примеры современных баз данных.

Хранилища данных

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

Озера данных

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

Как работает ETL?

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

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

Что такое извлечение данных?

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

Частота отправки данных из источника данных в целевое хранилище данных зависит от базового механизма сбора данных об изменениях. Извлечение данных обычно происходит одним из трех следующих способов.

Уведомление об обновлении

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

Инкрементное извлечение

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

Полное извлечение

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

Что такое преобразование данных?

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

Базовое преобразование данных

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

Чистка данных

В процессе очистки данных удаляются ошибки и исходные данные приводятся к целевому формату. Например, вы можете сопоставить пустые поля данных с числом 0, сопоставить значение данных «Родитель» с «P» или сопоставить «Дети» с «Д».

Дедупликация данных

Дедупликация при очистке данных выявляет и удаляет дублирующиеся записи.

Пересмотр формата данных

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

Расширенное преобразование данных

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

Деривация

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

Объединение

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

Разделение

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

Суммирование

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

Шифрование

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

Что такое загрузка данных?

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

Полная загрузка

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

Инкрементная загрузка 

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

Потоковая инкрементная загрузка

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

Пакетная инкрементная загрузка

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

Что такое ELT?

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

Сравнение ETL и ELT

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

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

Что такое виртуализация данных?

Виртуализация данных использует слой программной абстракции для создания интегрированного представления данных без физического извлечения, преобразования или загрузки данных. Организации используют эту функциональность в качестве виртуального унифицированного хранилища данных без затрат и сложностей, связанных с созданием и управлением отдельными платформами для исходных и целевых данных. Хотя виртуализацию данных можно использовать наряду с извлечением, преобразованием и загрузкой (ETL), она все чаще рассматривается как альтернатива ETL и другим методам интеграции физических данных. Например, вы можете использовать AWS Glue Elastic Views для быстрого создания виртуальной таблицы – материализованного представления – из нескольких различных исходных хранилищ данных.

Что такое AWS Glue?

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

  • Можно найти и подключиться к более чем 80 различным хранилищам данных.
  • Можно управлять данными в централизованном каталоге данных.
  • Инженеры по обработке данных, разработчики ETL, аналитики данных и корпоративные пользователи могут использовать AWS Glue Studio для создания, запуска и отслеживания конвейера ETL, чтобы загрузить данные в озера данных.
  • AWS Glue Studio предоставляет интерфейсы визуального процесса ETL, блокнота и редактора кода, чтобы пользователи располагали инструментами, соответствующими их навыкам.
  • С помощью интерактивных сеансов инженеры по обработке данных могут выполнять исследование данных, а также авторские и тестовые задания в предпочитаемой ими среде IDE или блокноте.
  • AWS Glue — это бессерверный сервис, автоматически масштабируемый по запросу, поэтому можно сосредоточиться на сборе аналитической информации из петабайтов данных без необходимости управлять инфраструктурой.

Создайте аккаунт AWS и начните работу с AWS Glue.

AWS ETL: дальнейшие шаги

Изучите дополнительные ресурсы по продукту
Подробнее об AWS Glue 
Зарегистрировать бесплатный аккаунт

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

Регистрация 
Начать разработку в консоли

Начните разработку с использованием AWS в консоли управления AWS.

Вход