вступление

Наиболее общее решение для инженерии данных — это практическое создание хранилища данных. Хранилище данных — это центральный репозиторий, куда поступают данные из различных источников. Он дает множество преимуществ: оптимизирован для анализа; позволяет создавать информационные панели на основе объединенных исторических данных; обеспечивает более высокое качество данных.

Поток

Первым шагом является получение данных из нескольких клиентских источников данных. Это могут быть API, базы данных, веб-приложения, клиентские сервисы и даже файлы Excel. В каждом конкретном случае могут использоваться разные инструменты. Например, для извлечения данных из GraphQL API Durable Azure Function можно использовать для преодоления 10-минутного тайм-аута для Azure Function с планом потребления.

После извлечения данных следующим шагом будет загрузка необработанных данных в озеро данных. Озеро данных — это дешевое хранилище необработанных данных. Данные хранятся в файлах в различных форматах, таких как CSV, JSON или более подходящих форматах, таких как Parquet, ORC, AVRO. Какое хранилище использовать, зависит от потребностей клиента. Это может быть корзина S3 от Amazon, Azure Blob Storage, Google Cloud Storage и т. д.

Следующим шагом является загрузка необработанных (или немного преобразованных) данных в хранилище данных. Наиболее популярными решениями для хранилищ данных являются Snowflake, Azure Synapse, AWS Redshift. Хранилище данных обычно имеет несколько уровней:

  • Слой зоны посадки
  • Промежуточный слой
  • Уровень хранилища данных
  • Уровень витрины данных

Их может быть больше или меньше. Во-первых, данные должны поступать в слой зоны посадки. Этого можно добиться с помощью различных инструментов. Каждый облачный провайдер представляет свое решение. Например, Azure предоставляет действие копирования в конвейере Фабрики данных Azure. Все остальные преобразования выполняются в хранилище данных.

Промежуточный слой содержит отфильтрованные, предварительно агрегированные данные. Уровень хранилища данных содержит готовые для анализа данные. Скорость обработки на инструментах, о которых я упоминал, достигается за счет использования модели OLAP. Слой витрины данных используется для визуализации данных. Большинство инструментов имеют встроенные соединители с инструментами бизнес-аналитики, такими как Power BI, Tableau, Qlik Sense и т. д.