Дата Маппинг в программировании — что это такое?
Маппинг – это процесс определения согласованности данных между разными семантиками одного или нескольких объектов. Процедура используется программистами, которые работают с большими массивами данных (в области Big Data), в том числе специалистами Data Science. Она применяется во время ML-моделирования (ML – machine learning, машинное обучение) и для насыщения датасетов новыми данными, которых ранее в нем не было. Датасеты – это массивные выборки данных по определенным тематикам.
Если говорить простыми словами, маппинг в программировании – это процесс сопоставления и преобразования данных из разных систем для их интеграции в целевую систему или базу. Также под маппингом понимают метод разделения кода приложения на слои. Технология востребована при разработке приложений для Android. Другие названия процедуры: Data Mapping, Big Data Mapping, мэппинг, маппирование.
При создании небольшого датасета на один раз согласованность данных из разных источников можно проверять вручную или с помощью самописного Python-скрипта. Но данные способы малоэффективны при формировании корпоративных хранилищ (DWH, Data Warehouse) и озер данных (Data Lake) крупных предприятий. Поэтому используется метод маппирования данных ручными, полуавтоматическими или автоматическими средствами.
Рассмотрим пример.
Допустим, системному аналитику нужно собрать данные по одному проекту из разных таблиц. Но в каждой из них одни и те же данные могут быть заполнены по-разному. Например, в одной таблице в графе наличия высшего образования указывается true, в другой – цифра 1, в третьей просто стоит плюс. Информация одна и та же, но отображена она по-разному. Или в одной таблице поля могут быть не заполнены, тогда как в других данные есть.
Задача дата-специалиста – найти дубли, сопоставить их, определить несоответствия и создать на основе нескольких таблиц одну, в которой не будет повторов. Так можно описать процедуру маппинга простыми словами. На деле все гораздо сложнее, ведь в информационной системе может быть огромное множество таких параллелей. Плюс, данные в каждом источнике могут быть записаны в разных форматах, а сами исходные системы могут иметь разную структуру. Поэтому для использования маппинга разработана масса программных инструментов. Одни сделаны на любительском уровне, другие – только для профессионального применения; где-то будет возможно использование техник ручного маппинга (написание кода программистом), где-то эффективнее автоматизированные средства. Ни одно программное обеспечение для маппирования не является универсальным. ПО подбирается в зависимости от особенностей датасетов, их сложности, задач, которые требуется решить.
Различают три категории программных средств для сопоставления данных:
Рассмотрим примеры популярных платформ Data Mapping в каждой из категорий.
Oдно из лучших средств для корпоративного маппинга. Имеет массу полезных функций и подходит для выполнения сложных информационных задач.
Особенности:
Оракл – это функциональное ПО для хранения и обработки данных. Платформа располагается в облаке и обеспечивает одновременный доступ пользователей для более продуктивной работы.
TOS – мощный инструмент с простой в освоении графической средой разработки. Имеет открытый исходный код.
Маппирование данных обеспечивает:
Различают несколько вариантов применения Data Mapping в программировании:
Одноразовая интеграция данных – перемещение информации из одной системы в другую (их слияние). Например, значения в исходных полях сопоставляются с полями назначения. После выполнения маппинга вся информация, которая содержалась в исходной системе данных, будет в целевой системе. Поэтому данные из начальной базы удаляются, что дополнительно позволяет экономить серверное пространство. Хотя изначальная задача дата маппинга – все-таки обогащение датасета и приведение информации из разных источников к общему знаменателю (для исключения путаницы и повышения производительности при работе с базами данных).
Регулярная миграция потоков – постоянный обмен данными между разными системами. Можно назвать это обновлением систем, которое позволяет содержать в базах только самую актуальную информацию на момент обмена. Это повышает точность аналитической работы, создаваемых прогностических моделей и других результатов, для получения которых используется датасет.
Изменение формата данных в одной системе для их использования в другой, изменение типов информации, агрегирование и другие преобразования.
Сложность при реализации метода зависит от ряда факторов:
Для упрощения работы с датасетами используются метаданные. Это информация о признаках и свойствах объектов, с помощью которой проще ими управлять, особенно в больших массивах. Вообще, для систем, которые содержат метаданные ко всем объектам, становится возможным применение автоматического маппирования.
Но чаще процесс сопоставления автоматизирован не полностью и включает такие шаги:
определение и локализация объектов, которые нужно переместить, в том числе таблицы, поля таблиц и формат полей после интеграции. При постоянном перемещении определяется и периодичность обмена;
сопоставление начальных полей с полями системы назначения;
форматирование значений;
оценка качества переноса (данные в системе назначения сравниваются с исходной системой). Это важный шаг, который позволяет исключить потери данных по причине несовершенства применяемых инструментов маппинга или ошибок программиста.
Есть три ключевых подхода: ручное, полуавтоматическое и автоматическое маппирование. Рассмотрим каждый метод подробнее.
Для сопоставления данных из разных систем программист пишет код. Также могут использоваться графические средства вроде SAP BODS, Talend Data Fabric, Informatica PowerCenter.
Минусы техники: трудоемкость, необходимость постоянного контроля IT-специалистом.
Сочетает ручную работу кодировщика и средства автоматического сопоставления датасетов. Сначала ПО для маппирования налаживает связь между источниками, а затем программист оценивает результат сопоставления и при необходимости корректирует данные вручную. Это популярная техника специализированных систем подготовки данных к ML-моделированию. С ее помощью можно находить исключения, которые не получается определить стандартными методами (потому что они являются нелогичными и не укладываются в общую схему).
Отдельно нужно сказать о Semi-automated Data Mapping, при котором конвертируются схемы данных. Сначала программа производит сравнение источников и схемы целевой системы для консолидации. Следом программист оценивает корректность схемы, вносит изменения. Затем специализированное ПО создает код на C++, C # или Java для интеграции данных в целевую систему.
Здесь ПО для маппирования дополняется реестром метаданных, что позволяет выполнять сопоставление в полностью автоматическом режиме, без участия оператора.
Минус техники в том, что не у всех систем есть полноценные реестры, а без них работа метода невозможна. К тому же, Automated Data Mapping определяет только точные соответствия, но не видит логики преобразований, исключений между данными. Однако подход востребован при внедрении реляционных систем управления базами данных (СУБД) и построении Data Warehouse (DWH) – хранилищ для сбора и обработки данных предприятия.
Применение маппинга позволяет максимально эффективно использовать ваши данные. С его помощью обеспечивается поддержание высокого качества данных, автоматизация процессов внедрения, преобразования, передачи данных. Инструменты маппирования и основы их использования важно знать каждому дата-специалисту, из любой сферы, будь то Data Science, Data Engineering или другая область, где требуется работа с большими данными.
Витрина данных (Data Mart)
Современные компании генерируют огромные объемы данных, которые требуют систематизации и эффективного управления. Однако в условиях постоянного роста бизнеса использование единого корпоративного хранилища данных (Data Warehouse) не всегда оказывается достаточным. В таких случаях на помощь приходят витрины данных (Data Mart) — компактные и специализированные решения для хранения и анализа информации, заточенные под конкретные бизнес-задачи.
Self-Service BI
Облачное хранилище: определение, плюсы и минусы,...
Облачное хранилище представляет собой современный способ хранения данных, который избавляет от необходимости использовать локальные серверы и физические носители. Оно позволяет централизовать управление информацией и обеспечивает удобный доступ к файлам через интернет. Благодаря своей гибкости и простоте, облачное хранение данных активно применяется как крупными компаниями, так и частными пользователями. В этой статье мы рассмотрим, зачем необходимо облачное хранилище, как оно функционирует, какие преимущества и ограничения имеет, а также дадим рекомендации по его выбору.
Оставьте контактные данные и мы свяжемся с вами в ближайшее время
Отправить
Пн-Пт 09:00-18:00
Я даю свое согласие на обработку персональных данных