Дата Маппинг в программировании — что это такое?

Дата публикации: 29 сентября 2023
Среднее время чтения: < 1 минута

Маппинг – это процесс определения согласованности данных между разными семантиками одного или нескольких объектов. Процедура используется программистами, которые работают с большими массивами данных (в области Big Data), в том числе специалистами Data Science. Она применяется во время ML-моделирования (ML – machine learning, машинное обучение) и для насыщения датасетов новыми данными, которых ранее в нем не было. Датасеты – это массивные выборки данных по определенным тематикам.

Если говорить простыми словами, маппинг в программировании это процесс сопоставления и преобразования данных из разных систем для их интеграции в целевую систему или базу. Также под маппингом понимают метод разделения кода приложения на слои. Технология востребована при разработке приложений для Android. Другие названия процедуры: Data Mapping, Big Data Mapping, мэппинг, маппирование.

Чем обусловлена необходимость в маппинге?

При создании небольшого датасета на один раз согласованность данных из разных источников можно проверять вручную или с помощью самописного Python-скрипта. Но данные способы малоэффективны при формировании корпоративных хранилищ (DWH, Data Warehouse) и озер данных (Data Lake) крупных предприятий. Поэтому используется метод маппирования данных ручными, полуавтоматическими или автоматическими средствами.

Рассмотрим пример.

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

Задача дата-специалиста – найти дубли, сопоставить их, определить несоответствия и создать на основе нескольких таблиц одну, в которой не будет повторов. Так можно описать процедуру маппинга простыми словами. На деле все гораздо сложнее, ведь в информационной системе может быть огромное множество таких параллелей. Плюс, данные в каждом источнике могут быть записаны в разных форматах, а сами исходные системы могут иметь разную структуру. Поэтому для использования маппинга разработана масса программных инструментов. Одни сделаны на любительском уровне, другие – только для профессионального применения; где-то будет возможно использование техник ручного маппинга (написание кода программистом), где-то эффективнее автоматизированные средства. Ни одно программное обеспечение для маппирования не является универсальным. ПО подбирается в зависимости от особенностей датасетов, их сложности, задач, которые требуется решить.

Инструменты маппинга

Различают три категории программных средств для сопоставления данных:

  • проприетарные (on-premise) инструменты – развертываются на серверах предприятия, а не на внешней инфраструктуре. Примеры такого ПО: CloverDX, Centerprise Data Integrator, Informatica PowerCenter, IBM InfoSphere, Talend Data Integration. В основном это решения для корпоративных целей.
  • открытые (open-source) инструменты. Они доступнее по цене и легче в развертывании, но менее мощные и обладают более скромным набором возможностей. Это подходящие решения для индивидуальной работы в области Data Science. Примеры: Pimcore, Pentaho, Talend Open Studio.
  • облачные (on-cloud) инструменты. Располагаются в облачном хранилище и востребованы как в корпоративном сегменте, так и при индивидуальных исследованиях. В данную категорию входят такие решения, как Talend Cloud Integration, Alooma, Informatica Cloud Data Integration, DX Mapper, Oracle Integration Cloud Service, Jitterbit, Dell Boomi AtomSphere. Облачные инструменты отличаются высоким уровнем безопасности, быстрой работой, удобством использования и доступной ценой.

Рассмотрим примеры популярных платформ Data Mapping в каждой из категорий.

CloverDX

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

Особенности:

  • Автоматизация и организация преобразований и процессов
  • Локальный или облачный хостинг
  • Масштабирование по ядрам или узлам
  • Возможность использования кода
  • Создание расширяемых фреймворков
  • Корпоративная поддержка от создателей платформы

Oracle Integration Cloud Service

Оракл – это функциональное ПО для хранения и обработки данных. Платформа располагается в облаке и обеспечивает одновременный доступ пользователей для более продуктивной работы.

Особенности:

  • Распределение данных по дискам для обеспечения одинаковой производительности
  • Возможность применения для единичных и реальных кластеров приложений
  • Предлагает реальное тестирование приложений
  • Единая среда для любого частного облака и публичного облака в Оракул
  • Высокая скорость соединения для работы с большими датасетами
  • Возможность виртуализации
  • Подключение к удаленной БД, таблице или другому источнику

Talend Open Studio

TOS – мощный инструмент с простой в освоении графической средой разработки. Имеет открытый исходный код.

Особенности:

  • Поддержка массивных преобразований данных
  • Возможность объединения более 900 БД
  • Управление проектированием, разработкой, тестированием интеграционных процессов
  • Синхронизация метаданных между различными БД

alt

Плюсы использования Data Mapping

Маппирование данных обеспечивает:

  • легкость переноса, интеграции, преобразования данных, создания хранилищ, озер данных;
  • возможность налаживания прямой связи между несколькими вашими источниками;
  • автоматическое определение некорректных данных. ПО для маппирования находит, отметает или отмечает данные, которые могут быть неточными;
  • возможность отслеживания тенденций.
decor decor

Как применяется маппинг?

Различают несколько вариантов применения Data Mapping в программировании:

  • Одноразовая интеграция данных – перемещение информации из одной системы в другую (их слияние). Например, значения в исходных полях сопоставляются с полями назначения. После выполнения маппинга вся информация, которая содержалась в исходной системе данных, будет в целевой системе. Поэтому данные из начальной базы удаляются, что дополнительно позволяет экономить серверное пространство. Хотя изначальная задача дата маппинга – все-таки обогащение датасета и приведение информации из разных источников к общему знаменателю (для исключения путаницы и повышения производительности при работе с базами данных).

  • Регулярная миграция потоков – постоянный обмен данными между разными системами. Можно назвать это обновлением систем, которое позволяет содержать в базах только самую актуальную информацию на момент обмена. Это повышает точность аналитической работы, создаваемых прогностических моделей и других результатов, для получения которых используется датасет.

  • Изменение формата данных в одной системе для их использования в другой, изменение типов информации, агрегирование и другие преобразования.

Особенности Data Mapping

Сложность при реализации метода зависит от ряда факторов:

  • Объема применяемых выборок данных;
  • Числа сопоставляемых систем (их может быть не только две);
  • Формата данных в разных источниках, необходимости его преобразования;
  • Отличий в структурах (принципах построения) различных систем;
  • Сложности иерархии данных,

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

decor decor

Но чаще процесс сопоставления автоматизирован не полностью и включает такие шаги:

  • определение и локализация объектов, которые нужно переместить, в том числе таблицы, поля таблиц и формат полей после интеграции. При постоянном перемещении определяется и периодичность обмена;

  • сопоставление начальных полей с полями системы назначения;

  • форматирование значений;

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

Техники маппинга

Есть три ключевых подхода: ручное, полуавтоматическое и автоматическое маппирование. Рассмотрим каждый метод подробнее.

  • Ручное маппирование, Manual Data Mapping

Для сопоставления данных из разных систем программист пишет код. Также могут использоваться графические средства вроде SAP BODS, Talend Data Fabric, Informatica PowerCenter.

Минусы техники: трудоемкость, необходимость постоянного контроля IT-специалистом.

  • Полуавтоматический маппинг, Semi-automated Data Mapping, Schema Mapping или data-driven Mapping

Сочетает ручную работу кодировщика и средства автоматического сопоставления датасетов. Сначала ПО для маппирования налаживает связь между источниками, а затем программист оценивает результат сопоставления и при необходимости корректирует данные вручную. Это популярная техника специализированных систем подготовки данных к ML-моделированию. С ее помощью можно находить исключения, которые не получается определить стандартными методами (потому что они являются нелогичными и не укладываются в общую схему).

Отдельно нужно сказать о Semi-automated Data Mapping, при котором конвертируются схемы данных. Сначала программа производит сравнение источников и схемы целевой системы для консолидации. Следом программист оценивает корректность схемы, вносит изменения. Затем специализированное ПО создает код на C++, C # или Java для интеграции данных в целевую систему.

  • Автоматический маппинг, Automated Data Mapping или семантический маппинг

Здесь ПО для маппирования дополняется реестром метаданных, что позволяет выполнять сопоставление в полностью автоматическом режиме, без участия оператора.

Минус техники в том, что не у всех систем есть полноценные реестры, а без них работа метода невозможна. К тому же, Automated Data Mapping определяет только точные соответствия, но не видит логики преобразований, исключений между данными. Однако подход востребован при внедрении реляционных систем управления базами данных (СУБД) и построении Data Warehouse (DWH) – хранилищ для сбора и обработки данных предприятия.

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

Остались вопросы?

Оставьте контактные данные и мы свяжемся с вами в ближайшее время

    Всегда на связи
    Офисы
    Москва
    125167, Ленинградский проспект, 37, БЦ Аэродом
    Смотреть на карте
    Калининград
    236006, ул. Театральная 35, БЦ Морской
    Смотреть на карте