Эта история изначально была опубликована здесь.

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

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

Конвейер ETL (извлечение, преобразование, загрузка)

ETL — это процесс с тремя отдельными этапами, который часто называют конвейером, поскольку данные проходят через эти три этапа.

Шаги в конвейере ETL:

  • Извлекайте источник данных из любого места (БД, API и т. д.).
  • Преобразовать или каким-либо образом обработать данные. Это может быть реструктуризация, переименование, удаление неверных или ненужных данных, добавление новых значений или любой другой тип обработки данных.
  • Загрузить данные в конечный пункт назначения (БД, плоский файл и т. д.).

ETL решает проблему наличия данных в разных местах и ​​в разных форматах, позволяя вам извлекать данные из разных источников в централизованное место со стандартным форматом. Конвейеры ETL обычно запускаются как пакетные задания. Это означает, что все данные перемещаются одновременно.

Примеры использования ETL

Обычный пример использования конвейера ETL — Аналитика данных со следующими шагами:

  • Совокупные данные для использования в аналитике
  • Извлечь необработанные данные из базы данных
  • Очистите, проверьте и агрегируйте данные на этапе преобразования.
  • Загрузите преобразованные данные в место назначения

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

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

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

Ограничения ETL

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

TL;DR

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

Спасибо за внимание. Если у вас есть вопросы, используйте функцию комментариев или отправьте мне сообщение @mariokandut .

Если вы хотите узнать больше о Node, ознакомьтесь с этими Учебными пособиями по Node.

Ссылки (и большое спасибо):

Node.js, HeyNode, OsioLabs