В современном мире мы получаем данные из разных источников. Данные генерируются из внутренних источников, таких как устройства IoT, установленные в автомобиле, POS-терминалы в магазине, инвентарные данные розничного магазина, а также из внешних источников, таких как https://data.gov.in/ для Индии, https: //www.data.gov/ для США и т. д. (Я не рассматриваю данные, собранные из прямых источников, таких как физические опросы и интервью, а только те, которые генерируются или хранятся в цифровом виде во внутренней или внешней системе. В конечном итоге опрос и данные интервью, хранящиеся в цифровом формате, станут частью внутренней или внешней системы.) Существуют также различные типы данных — как структурированные, так и неструктурированные — такие как текст, видео, аудио, изображения, файлы XML, записи, данные HTML с веб-сайта. и Т. Д.

Производители и потребители

Агенты или процессы, которые генерируют данные, называются производителями, а использующие эти данные — потребителями. Устройства IoT, установленные в автомобиле, являются производителями, а программа машинного обучения для прогнозирования отказа двигателя — потребителем.

Зачем нужен конвейер данных?

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

Что такое конвейер данных?

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

  • Бизнес-проблема
  • Тип производителя — партия или в режиме реального времени
  • Тип потребителя — отчеты, ML Model или дашборд
  • Промежуточное хранилище данных — файлы, базы данных NoSQL или SQL

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

Таким образом, некоторые данные создаются в пакетном режиме (инвентаризация деталей в конце дня), а некоторые данные генерируются в режиме реального времени (устройства IoT и журналы).

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

Как будет выглядеть наш конвейер данных?

Промежуточная среда

Для запасов деталей, поступающих в виде файла Excel с каждого завода в конце дня, мы можем иметь традиционный дизайн ETL при пакетном приеме. Эти данные могут храниться в хранилище операционных данных, которое может быть реляционной базой данных, такой как MySQL или PostgreSQL.

Для данных в реальном времени нам придется реализовать распределенную платформу потоковой передачи событий, такую ​​​​как Apache Kafka. Сообщения от устройств IoT могут храниться в концентраторе сообщений, который может быть либо базой данных NoSQL, такой как MongoDB, либо реляционной базой данных, такой как MySQL или PostgreSQL.

МДМ

Когда данные хранятся в промежуточной среде в необработанном (или почти необработанном) виде, MDM будет отслеживать данные, поступающие в конвейер. Управление основными данными (MDM) — это основной процесс, используемый для управления, централизации, организации, категоризации, локализации, синхронизации и обогащения основных данных в соответствии с бизнес-правилами. Это помогает создать один главный справочный источник для всех важных бизнес-данных, что приводит к меньшей избыточности и меньшему количеству ошибок в бизнес-процессе. Эффективное управление основными данными в центральном репозитории дает вам единое авторитетное представление информации и устраняет дорогостоящую неэффективность, вызванную разрозненными хранилищами данных.

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

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

Все это изображено на картинке ниже