Unified Dimensional Model
Unified Dimensional Model (UDM) — это методология построения корпоративных хранилищ данных (Data Warehouse) и аналитических систем, предложенная компанией Kalido (впоследствии приобретена Magnitude Software, а затем — Hitachi Vantara). UDM представляет собой гибридный подход, сочетающий принципы размерного моделирования (по Ральфу Кимбаллу) и нормализованного моделирования (по Биллу Инмону), с целью создания единого, непротиворечивого и адаптируемого к изменениям бизнеса хранилища данных.
История и предпосылки появления
В конце 1990-х — начале 2000-х годов в сфере управления данными сложилось два доминирующих подхода к построению хранилищ данных:
- Подход Кимбалла (Dimensional Modeling): Ориентирован на создание «звёздных схем» (star schema) и «снежинок» (snowflake schema), где факты (измеряемые показатели) связаны с измерениями (справочниками). Этот подход быстр в реализации и удобен для бизнес-пользователей, но плохо адаптируется к изменениям структуры бизнеса.
- Подход Инмона (Corporate Information Factory, CIF): Предполагает построение нормализованного (3НФ) корпоративного хранилища данных (EDW) как единого источника правды, на основе которого затем строятся витрины данных (Data Marts) для конкретных отделов. Этот подход обеспечивает высокую целостность и гибкость на уровне модели, но требует значительных затрат времени и ресурсов на начальном этапе.
Компания Kalido, основанная в 1999 году, предложила компромиссный вариант — Unified Dimensional Model, который должен был объединить сильные стороны обеих парадигм, устранив их недостатки. Основной идеей стало создание модели, которая хранит данные в нормализованном виде, но автоматически генерирует из неё размерные витрины для анализа.
Основные принципы и архитектура UDM
В отличие от традиционных подходов, UDM не является просто схемой базы данных. Это методология, которая включает в себя:
- Метаданные как ядро: Вся логика модели (списки измерений, иерархий, правил агрегации, связей) хранится не в структуре таблиц, а в репозитории метаданных. Это позволяет изменять бизнес-логику без перестройки физической базы данных.
- Гибридная модель хранения:
- Физический слой (Physical Layer): Данные могут храниться в реляционной СУБД (например, Oracle, SQL Server, Teradata) в нормализованном или слегка денормализованном виде. Это обеспечивает целостность и минимизацию дублирования.
- Логический слой (Logical Layer): Пользователи и BI-инструменты взаимодействуют с размерными витринами, которые динамически создаются на основе метаданных. Эти витрины выглядят как классические «звёзды» с фактами и измерениями.
- Автоматическое управление изменениями (Change Management): Ключевая особенность UDM. Если в бизнесе появляется новый продукт, меняется иерархия подразделений или добавляется новый источник данных, администратор вносит изменения в метаданные. Система автоматически перестраивает витрины данных, не требуя переписывания ETL-процессов или изменения отчётов. Это известно как «гибкая размерность» (Slowly Changing Dimension — SCD) на стероидах.
- Поддержка множества иерархий: UDM позволяет хранить в одном измерении несколько альтернативных иерархий (например, организационная структура по отделам и по географическому принципу) и переключаться между ними без дублирования данных.
Структура модели UDM
Модель UDM обычно состоит из трёх основных слоёв:
- Слой интеграции (Integration Layer): Сюда попадают «сырые» данные из источников (ERP, CRM, внешние системы). Они проходят минимальную очистку и приводятся к единому формату. Этот слой часто реализуется в виде «озера данных» (Data Lake) или промежуточной базы.
- Слой единой модели (Unified Model Layer): Ядро UDM. Данные нормализованы и хранятся в виде «сущностей» (аналог таблиц в 3НФ), но с привязкой к метаданным. Здесь фиксируются все бизнес-правила, связи и исторические изменения.
- Слой витрин данных (Data Mart Layer): Создаётся автоматически на основе запросов пользователей. Это могут быть как «звёздные схемы», так и плоские таблицы для конкретных аналитических задач (финансы, продажи, логистика).
Преимущества и недостатки UDM
Преимущества
- Адаптивность к изменениям: Бизнес-пользователи могут добавлять новые показатели, менять иерархии и правила расчёта без участия IT-специалистов (или с минимальным их участием). Это резко сокращает время вывода новых отчётов.
- Единый источник правды (Single Source of Truth): Все витрины данных строятся из одного нормализованного ядра, что исключает расхождения в показателях между отделами.
- Снижение затрат на сопровождение: Изменение бизнес-логики не требует переписывания ETL-кода, так как ETL-процессы работают на уровне метаданных, а не на уровне жёстко заданных таблиц.
- Поддержка сложных иерархий и историчности: UDM изначально спроектирован для работы с медленно меняющимися измерениями (SCD Type 2, 3 и 4) и множественными иерархиями.
Недостатки
- Высокая сложность внедрения: Требует глубокого понимания как бизнес-процессов, так и технических аспектов метаданных. Настройка UDM-системы (например, Kalido) — это проект, сопоставимый по сложности с построением CIF по Инмону.
- Зависимость от вендора: Наиболее полноценная реализация UDM была доступна только в продуктах Kalido (позднее — Magnitude). С открытыми СУБД (PostgreSQL, MySQL) реализовать UDM в полном объёме без специального инструментария крайне сложно.
- Производительность: Из-за многослойной архитектуры и динамического построения витрин запросы могут выполняться медленнее, чем в классических «звёздных схемах», особенно при больших объёмах данных (более 10 ТБ).
- Необходимость в квалифицированных кадрах: Администраторы UDM должны обладать навыками работы с метаданными, а не только с SQL.
Применение и критика
UDM нашёл применение в крупных корпорациях с высокой изменчивостью бизнес-процессов: в телекоммуникациях, финансах, розничной торговле и фармацевтике. Например, компании, которые часто проводят слияния и поглощения, ценят UDM за возможность быстро объединить данные из разных систем.
Критика UDM в основном связана с его сложностью и высокой стоимостью лицензий на проприетарное ПО (Kalido). Критики утверждают, что для большинства компаний проще и дешевле использовать классические подходы Кимбалла (с современными инструментами ETL, такими как Apache Spark или dbt) или современные облачные решения (Google BigQuery, Snowflake, Amazon Redshift), которые позволяют гибко менять схему «на лету» без специальной методологии.
Тем не менее, UDM остаётся важной вехой в эволюции хранилищ данных, продемонстрировавшей ценность метаданных и автоматизации управления изменениями.
Интересные факты
- Термин «Unified Dimensional Model» был зарегистрирован как торговая марка компании Kalido.
- Методология UDM легла в основу стандарта ISO 15926 (Интеграция данных жизненного цикла для нефтегазовой и перерабатывающей промышленности), который использует схожие принципы метаданных и гибких иерархий.
- В 2010-х годах, с ростом популярности NoSQL-баз данных и концепции Data Vault (разработанной Дэном Линстедтом), UDM потерял часть своей аудитории, так как Data Vault предлагает более простую и открытую альтернативу для управления изменениями.
Источники
- Kimball, R., & Ross, M. (2013). The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling. John Wiley & Sons.
- Inmon, W. H. (2005). Building the Data Warehouse. John Wiley & Sons.
- Magnitude Software (бывш. Kalido). Kalido Unified Dimensional Model White Paper (архивные материалы).
- Linstedt, D. (2010). Data Vault: Modeling and Methodology.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →