Звезда описывает отдельную аналитическую модель. Когда появляется несколько витрин, им нужны общие определения ключей, времени и признаков. Иначе правильные запросы к каждой витрине могут давать несовместимые ответы. Подходы Kimball и Inmon обсуждают, где и как согласовывать данные между направлениями, а не просто выбирают форму таблиц.
Kimball: процессы и согласованные измерения
В подходе Kimball аналитические модели строят вокруг бизнес-процессов. Для каждого процесса определяют зерно факта, меры и измерения. Витрины можно выпускать постепенно, но общие измерения должны быть согласованы (conformed dimensions): совместимые ключи, значения, история и смысл атрибутов позволяют сравнивать процессы.
Например, две витрины используют общее измерение подразделения. Если в первой принадлежность к подразделению фиксируется на дату события, а во второй берётся текущее состояние справочника, одинаковое имя поля не делает отчёты сопоставимыми. Нужно согласовать правило выбора версии и объяснить читателю разницу, если оба взгляда нужны.
Bus matrix, матрица процессов и измерений, помогает увидеть пересечения:
| Процесс | Дата | Подразделение | Канал | Объект |
|---|---|---|---|---|
| Операция | Дата выполнения | Выполнившее | Канал поступления | Обработанный объект |
| Исправление | Дата исправления | Ответственное | Канал исходной операции | Исправленный объект |
| Обращение | Дата обращения | Ответственное | Канал обращения | Связанный объект, если есть |
Матрица показывает, какие измерения можно переиспользовать. «Подразделение» имеет разные роли: исполнитель операции и ответственный за исправление. Общий справочник полезен, но связь факта с нужной ролью и версией справочника нужно задать для каждого процесса.
Inmon: интегрированное корпоративное ядро
В классическом подходе Inmon центральное место занимает интегрированное детальное хранилище. Источники сначала приводят к общей модели в ядре, часто нормализованной; зависимые витрины строят из него. Согласование идентификаторов и истории происходит до выдачи удобных таблиц отдельным потребителям.
Нормализованное ядро хранит сущности, операции и связи; поверх него можно строить звёзды для аналитиков. В подходе Kimball общие определения поддерживают через согласованные измерения витрин.
Разработка ядра требует сопоставления конфликтующих источников и сопровождения общих правил. Его можно развивать по частям, выпуская витрины по мере готовности нужных данных.
Где именно различие
| Вопрос | Акцент Kimball | Акцент Inmon |
|---|---|---|
| Точка начала | Конкретный аналитический процесс и его факт | Общие предметные сущности и интегрированное ядро |
| Как согласуют витрины | Через повторно используемые согласованные измерения | Через данные и правила общего ядра |
| Удобная форма для анализа | Обычно размерная модель: факты и измерения | Витрины поверх ядра могут быть размерными |
| Основной риск плохой реализации | Изолированные витрины с несовместимыми определениями | Долгое строительство ядра без поставки результата |
В реальном проекте элементы сочетают. Можно иметь интеграционное ядро и размерные витрины; можно начать с одной звезды, но заранее согласовать общие измерения для следующих процессов. Data Vault или Anchor могут быть устройством ядра, но не заменяют решения о смысле показателей.
Сравнивать подходы лучше по потребностям: сколько источников противоречат друг другу, как быстро нужен первый отчёт, какие определения переиспользуются, насколько важны аудит и история. Количество таблиц на диаграмме само по себе не показывает стоимость поддержки.