Анализ данных • 11 ноября 2024 • 5 мин чтения

Big Data Mapping: что такое маппирование больших данных

Объясняем простыми словами, что такое маппинг данных, где он применяется, как происходит процесс маппирования и какие инструменты в этом помогут.

Что такое маппинг данных

Маппинг данных (от англ. data mapping) — это процесс, который позволяет установить соответствие между несколькими группами данных или структурами. Он используется для преобразования данных из одного формата в другой, например при интеграции различных систем или переносе данных из одной базы в другую.

Чтобы простыми словами объяснить, что такое маппинг данных, для начала нужно разобраться в архитектуре данных. Она бывает двух типов: 

  1. Централизованная. Это монолитное решение, когда вся вычислительная сеть хранится как единая база кода в одном месте, что упрощает управление и обеспечивает быстрый доступ к данным. Такая архитектура может использоваться как на уровне компании, так и на уровне отдельных продуктов, но обычно её применяют в небольших организациях, где данных и процессов немного.
  2. Распределённая. В этом случае данные, продукты и процессы рассредоточены по нескольким независимым вычислительным единицам — микросервисам, что обеспечивает высокую доступность и масштабируемость. Такую архитектуру используют большинство современных компаний, особенно крупных. 

Маппирование чаще всего применяется именно в распределённой архитектуре, потому что даже если в компании есть стандарты написания кода, он всё равно может различаться у команд разработчиков каждого микросервиса. К примеру, программисты могут по-разному определять переменные или классы. Это значит, что данные будут собираться в разном формате и их нужно привести в один вид с помощью data mapping. 

Маппинг работает с разными свойствами данных:

  • Вид. Процесс унификации позволяет привести в единый вид разные данные с одинаковой логической сущностью.
  • Нейминг. Одинаковые названия групп данных для периодически повторяющихся системных процессов позволяют сделать их эффективнее и быстрее.
  • Формат. Систематизация и унификация форматов данных помогает избежать технических ошибок при использовании и обновлении информации.
  • Распределение и хранение. Маппирование позволяет быстро масштабировать данные компании и ориентироваться в структуре данных. 

Обычно созданием структуры маппинга занимается системный аналитик. Его задача — описать модель данных, по которой будет происходить процесс. Он продумывает, из каких систем, с какой периодичностью загружается информация, какие форматы и поля используются, как их унифицировать. Когда речь идёт о больших данных, специалист разрабатывает Big Data mapping, который позволяет собрать и сопоставить данные от разных проектов и команд в одну базу, например в хранилище данных, или в единое файловое хранилище — озеро данных. 

Научиться настраивать маппинг можно на курсе «Системный аналитик». Занятия помогут изучить методы моделирования процессов сбора, загрузки и преобразования данных, освоить User Story, Job Story, Postman, GUI и другие полезные инструменты.

Где используется

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

  • Интеграция систем. Если в компании есть несколько сервисов, которые используют разные форматы данных, маппинг поможет объединить их в единую систему. Это может быть полезно в бизнесе, когда нужно интегрировать данные из разных отделов или компаний.
  • Перенос данных. При переходе на новую систему или платформу маппинг помогает перенести данные без потери информации. Например, при переходе с одной CRM-системы на другую можно сохранить важную информацию и настройки.
  • Анализ данных. Перед тем как анализировать данные, аналитикам и специалистам по Data Science часто нужно преобразовать их в подходящий формат. Это помогает упростить этот процесс, делая данные более структурированными и удобными для анализа.
  • Разработка. Маппирование используют дата-инженеры для разработки системы управления, хранения и преобразования данных между различными форматами и структурами. Это помогает создавать более гибкие и масштабируемые приложения.
  • Научные исследования. В научных исследованиях маппинг может использоваться для обработки и анализа больших объёмов информации. Это особенно полезно в таких областях, как биология, физика и астрономия, где данные часто представлены в сложных форматах. 

Возьмём для примера ситуацию, когда перед аналитиком данных встаёт задача понять, почему снизилось количество регистраций пользователей в приложении. В нём есть сервис идентификации пользователей, система поддержки, которая фиксирует обращения по проблемам, в том числе с регистрацией, а также интеграция с общим календарным рейтингом, где пользователи оценивают продукцию и взаимодействие с компанией. Таким образом, системному аналитику нужно собрать данные из трёх разных баз, чтобы понять, почему пользователи не смогли зарегистрироваться, обратились ли они в клиентский сервис и получилось ли решить проблему. Для этого нужно три доступа к базам данных или их репликам. А если учесть, что информация хранится в разной форме, потому что сервисы писали разные разработчики, использующие свой синтаксис и логику, задача становится крайне сложной. Упросить её поможет Big Data mapping, который позволит сопоставить информацию из разных баз в едином формате.

Процесс маппинга больших данных

Как правило, разработкой структуры Big Data mapping занимаются системный аналитик и инженер данных. Процесс проходит в несколько этапов: 

  • Создание справочника. Когда запускается новая функция сервиса либо изменяется текущая, системный аналитик решает, какие данные необходимо использовать. Если эта информация уже есть в одной из баз, специалист общается с командой разработки, решает, как унифицировать форматы и нейминг, и вносит эту информацию в справочник или продуктовый каталог. Если данных, необходимых для работы новой функции, нет, системный аналитик с нуля прописывает в справочнике правила сбора информации, что позволит использовать её с другими базами. Такое продуманное маппирование важно именно на этапе разработки, чтобы сразу правильно синхронизировать данные и не потерять их.
  • Настройка сбора данных. Это выбор подходящих способов сбора информации, к примеру через репликацию продуктовой базы или прямые селекты. Говоря простыми словами, инженер прописывает регламент загрузки данных из разных систем: условно говоря, поле Х переименовывается в поле Y и формат Z.
  • Преобразование данных. На этом этапе происходит унификация, то есть информация преобразуется в виды, форматы и названия, прописанные в справочнике маппинга. Здесь же продумывается обработка проблем. Например, можно настроить отправку уведомления определённому пользователю, если маппирование выдаёт ошибку.
  • Выгрузка данных. Настройка загрузки преобразованных данных в целевую систему, к примеру в хранилище или аналитическую систему, чтобы их в дальнейшем могли использовать аналитики и другие специалисты.
Частью создания структуры Big Data mapping является процесс ETL (от англ. Extract, Transform, Load — «извлечение, трансформация, загрузка»)

Инструменты для маппирования данных

В зависимости от компании и объёма данных в маппировании используют разные инструменты. Вот несколько примеров: 

  • UML-диаграммы. Unified Modeling Language — это унифицированный язык моделирования, который помогает описывать систему связи разных таблиц маппинга. Это базовый инструмент, который используется во многих крупных компаниях, например в Яндексе и Ozon. UML-диаграммы позволяют сделать процесс маппирования прозрачным и понятным.
Например, такой может быть UML-диаграмма классов для базы данных университета
  • BPMN-нотации. Business Process Modeling and Notation — диаграммы для описания сложных процессов с большим количеством участников. В Big Data mapping они позволяют зафиксировать, из какой системы или сервиса, в каком виде и куда загружаются данные.
С помощью BPMN-нотаций можно описать любой процесс — например, так выглядит схема работы менеджера по продажам с клиентом
  • ETL-системы. Сервисы, позволяющие реализовать процессы извлечения, трансформации и выгрузки данных. Некоторые организации используют популярные на рынке системы: Apache Airflow, PySpark, Yandex Cloud. Небольшие компании часто применяют Prefect, а крупные создают собственные сервисы.

Одна из самых популярных ETL-систем — Apache Airflow с открытым исходным кодом — позволяет создать модульную архитектуру, которую легко масштабировать

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

OpenMetaData включает в себя 80 готовых коннекторов, благодаря которым можно централизованно собрать и унифицировать все необходимые данные

Совет эксперта

Александр Толмачёв
Тем, кто собирается заниматься маппингом данных, полезно понимать весь процесс производства данных: это и поставка кода, и взаимодействие систем, и дальнейшее использование информации. Маппинг данных — один из множества процессов, которые нужно держать в фокусе, чтобы системы внутри компании правильно взаимодействовали без существенных проблем, а скорость получения пользы из данных у дата-специалистов была максимальной.
Статью подготовили:
Александр Толмачёв
Ozon.Fintech, CDO
Автор канала «Клуб анонимных аналитиков»
Женя Соловьёва
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Mon Nov 11 2024 14:40:25 GMT+0300 (Moscow Standard Time)