deшка
Урок 6.7

Kimball и Inmon: как организовать хранилище

Согласованные измерения, интегрированное ядро и постепенное развитие аналитической платформы.

Звезда описывает отдельную аналитическую модель. Когда появляется несколько витрин, им нужны общие определения ключей, времени и признаков. Иначе правильные запросы к каждой витрине могут давать несовместимые ответы. Подходы Kimball и Inmon обсуждают, где и как согласовывать данные между направлениями, а не просто выбирают форму таблиц.

Kimball: процессы и согласованные измерения

В подходе Kimball аналитические модели строят вокруг бизнес-процессов. Для каждого процесса определяют зерно факта, меры и измерения. Витрины можно выпускать постепенно, но общие измерения должны быть согласованы (conformed dimensions): совместимые ключи, значения, история и смысл атрибутов позволяют сравнивать процессы.

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

Bus matrix, матрица процессов и измерений, помогает увидеть пересечения:

ПроцессДатаПодразделениеКаналОбъект
ОперацияДата выполненияВыполнившееКанал поступленияОбработанный объект
ИсправлениеДата исправленияОтветственноеКанал исходной операцииИсправленный объект
ОбращениеДата обращенияОтветственноеКанал обращенияСвязанный объект, если есть

Матрица показывает, какие измерения можно переиспользовать. «Подразделение» имеет разные роли: исполнитель операции и ответственный за исправление. Общий справочник полезен, но связь факта с нужной ролью и версией справочника нужно задать для каждого процесса.

Inmon: интегрированное корпоративное ядро

В классическом подходе Inmon центральное место занимает интегрированное детальное хранилище. Источники сначала приводят к общей модели в ядре, часто нормализованной; зависимые витрины строят из него. Согласование идентификаторов и истории происходит до выдачи удобных таблиц отдельным потребителям.

Нормализованное ядро хранит сущности, операции и связи; поверх него можно строить звёзды для аналитиков. В подходе Kimball общие определения поддерживают через согласованные измерения витрин.

Разработка ядра требует сопоставления конфликтующих источников и сопровождения общих правил. Его можно развивать по частям, выпуская витрины по мере готовности нужных данных.

Где именно различие

ВопросАкцент KimballАкцент Inmon
Точка началаКонкретный аналитический процесс и его фактОбщие предметные сущности и интегрированное ядро
Как согласуют витриныЧерез повторно используемые согласованные измеренияЧерез данные и правила общего ядра
Удобная форма для анализаОбычно размерная модель: факты и измеренияВитрины поверх ядра могут быть размерными
Основной риск плохой реализацииИзолированные витрины с несовместимыми определениямиДолгое строительство ядра без поставки результата

В реальном проекте элементы сочетают. Можно иметь интеграционное ядро и размерные витрины; можно начать с одной звезды, но заранее согласовать общие измерения для следующих процессов. Data Vault или Anchor могут быть устройством ядра, но не заменяют решения о смысле показателей.

Сравнивать подходы лучше по потребностям: сколько источников противоречат друг другу, как быстро нужен первый отчёт, какие определения переиспользуются, насколько важны аудит и история. Количество таблиц на диаграмме само по себе не показывает стоимость поддержки.

Войти, чтобы отмечатьдальше →
6.8 →Data Vault и Anchor Modeling