6.2 ОСНОВНЫЕ ОПЕРАЦИИ С ДАННЫМИ: СБОР, ХРАНЕНИЕ, ОБРАБОТКА

Цель инженера данных — внедрить систему (платформу), куда автоматически загружаются данные, где они трансформируются в доступную для конечных пользователей (или бизнес-пользователей) форму и где пользователи могут самостоятельно работать с данными, проверять гипотезы и анализировать свои задачи (бизнес-задачи), используя правильные метрики.
На рис. 28 представлена архитектура аналитической рабочей среды организации, в которой выделяются пять слоев. В слой источников данных могут входить различные приложения, подключаемые по API, а также датчики, внешние устройства и другие источники данных, которые подключаются напрямую или с помощью сетевых протоколов. Также данные могут поступать из систем оперативной обработки транзакций (OnLine Transaction Processing, OLTP), поддерживающих операционную деятельность организации.

Рисунок 28
Архитектура аналитической рабочей среды организации

API (Application Programming Interface, интерфейс прикладного программирования) — описание способов, которыми одна компьютерная программа может взаимодействовать с другой.
Слой обработки данных выделен для обозначения операций, которые идут в потоковом режиме (непрерывно) или в пакетном (с перерывами). В пакетном режиме данные могут двигаться либо по схеме ETL (Extract, Transform, Load; извлечение → преобразование → загрузка), либо по схеме ELT (Extract, Load, Transform; извлечение → загрузка → преобразование).
Слой хранения включает традиционное хранилище данных (ХД), оно же Data Warehouse (DWH), и хранилище больших данных (озеро данных); другой вариант — современное хранилище, объединяющее DWH и озеро данных (платформа данных). Два последних слоя выделены для обозначения деятельности в областях науки о данных и BI.
Рассмотрим подробнее слои обработки и хранения. В DWH собираются данные для бизнес-аналитики (см. раздел 9.5.1); перед хранением они должны быть очищены и упорядочены. Эти данные уже обработаны, поэтому их легче использовать для высокоуровневого анализа: к ним легко применимы инструменты BI, и такими хранилищами пользуются не только аналитики и специалисты в области работы с данными. В озере данных собираются необработанные большие данные в изначальном собственном формате. Озеро может хранить данные различной структуры. Каждый сохраненный элемент помечен уникальным идентификатором и снабжен метаданными, чтобы при необходимости его можно было легко запросить. Данные в озере применяются для решения задач науки о данных (см. раздел 9.3) и предназначены прежде всего для исследователей данных.
В центре обработки данных «Газпром нефти» в Санкт-Петербурге создано «умное» озеро данных. Им пользуются аналитики бизнес-подразделений в 29 регионах РФ и странах СНГ, различные системы внутри компании и внешние партнеры. «Умное» озеро основано на сложной современной аналитической архитектуре. Компоненты обработки, хранения и анализа данных (озеро данных, хранилище данных, научная лаборатория данных) работают в тесной интеграции с компонентами руководства данными (каталогом данных, управлением качеством данных, бизнес-глоссарием, пользовательским порталом обзора данных). В решение включены более 140 внутренних и внешних источников данных.

В центре обработки данных «Газпром нефти» в Санкт-Петербурге создано «умное» озеро данных. Им пользуются аналитики бизнес-подразделений в 29 регионах РФ и странах СНГ, различные системы внутри компании и внешние партнеры. «Умное» озеро основано на сложной современной аналитической архитектуре. Компоненты обработки, хранения и анализа данных (озеро данных, хранилище данных, научная лаборатория данных) работают в тесной интеграции с компонентами руководства данными (каталогом данных, управлением качеством данных, бизнес-глоссарием, пользовательским порталом обзора данных). В решение включены более 140 внутренних и внешних источников данных.
В настоящее время известно несколько перспективных архитектурных концепций построения платформы данных, в частности Modern Data Architecture, Lambda Architecture и Data Mesh Architecture.
  • Modern Data Architecture соединяет преимущества DWН и озера данных. Реализация во многом зависит от главного инженера проекта.

  • Lambda Architecture позволяет решать задачи, связанные с обработкой в режиме реального времени, за миллисекунды.

  • Data Mesh Architecture объединяет пакетную и потоковую обработку данных (стриминг), а хранит данные в облаке. Организации могут анализировать данные в режиме реального времени, снизив при этом затраты на управление инфраструктурой хранилища.
При построении хранилищ и озер целесообразно следовать передовым практикам, методологиям и регламентам.
См. обзор актуальных технологий в области дата-инжиниринга и управления данными: Gartner® Hype Cycle™ for Data Management, 2021 // Databricks.
DAMA-DMBOK: свод знаний по управлению данными. 2-е изд. М.: Олимп-Бизнес, 2020.
Gorelik А. The Enterprise Big Data Lake Delivering the Promise of Big Data and Data Science. O’Reilly Media, Inc., 2019.
Рассмотрим подробнее деятельность инженера данных во время обработки и сохранения данных на примере операций, выполняемых в ходе процесса ETL.
1. Извлечение данных. На этом этапе данные извлекаются из одного или нескольких источников и подготавливаются к преобразованию. Для корректного представления данных после их загрузки в хранилище нужно извлечь из источников не только сами данные, но и информацию, описывающую их структуру, из которой будут сформированы метаданные для хранилища.
2. Преобразование данных состоит из нескольких шагов. Данные из различных источников могут отличаться соглашениями о назначении имен полей и таблиц, порядком их описания, форматами, типами и кодировкой. Перед передачей в хранилище их нужно свести к единой структуре.
«Наибольший интерес для анализа, как правило, представляют данные, обобщенные по некоторому интервалу времени, по группе клиентов, товаров и т. д. Такие обобщенные данные называются агрегированными (агрегатами), а сам процесс их вычисления — агрегированием». Агрегирование проводится в процессе преобразования. Чтобы снизить избыточность данных и уменьшить их объем при хранении в источниках, часто используют специальные кодировки. «Так, наименования объектов, их свойств и признаков могут храниться в сокращенном виде. В этом случае перед загрузкой данных в хранилище требуется выполнить перевод таких сокращенных значений в более полные и, соответственно, понятные».
Паклин Н. Б., Орешков В. И. Бизнес-аналитика: от данных к знаниям: учебное пособие. 2-е изд., испр. СПб.: Питер, 2013.
Там же.
В процессе загрузки в хранилище может понадобиться вычисление некоторых новых данных на основе существующих, что обычно сопровождается созданием новых полей.
Наконец, выполняется очистка данных. «Грязные» данные — одна из важнейших и трудно формализуемых проблем аналитических технологий. Существует несколько причин, по которым данные нуждаются в очистке; чаще всего они связаны с нарушением структуры данных, а также ошибочными значениями полей. Иногда очистка данных необходима для обеспечения безопасности данных: в процессе очистки чувствительная информация (например, ПДн) заменяется на уникальные случайные значения, оставляя возможность построения всевозможной аналитики (см. об этом также в главе 8).
3. Загрузка данных. Процесс загрузки заключается в переносе данных из промежуточных таблиц в структуры хранилища данных. От выверенности процесса загрузки данных во многом зависит время, которое требуется для полного цикла их обновления в хранилище, а также их полнота и корректность (см. раздел 7.3).
Описанный здесь набор операций, выполняемых на этапе преобразования данных, часто расширяется, особенно при работе с большими объемами быстро поступающих данных, когда процесс ETL заменяется на ELT (сначала данные извлекаются и загружаются в конечную систему, и лишь после этого происходит их преобразование). В частности, может возникнуть необходимость в осуществлении группировки или разгруппировки данных (объединении или разъединении данных по какому-либо признаку), нормализации (преобразовании диапазона изменений числового признака в другой, более удобный для применения в процессе анализа), квантовании (разбиении диапазона возможных значений числового признака на заданное количество интервалов и присвоении попавшим в них значениям номеров интервалов или иных меток) и т. п.