Почему выбрать модель витрин Кимбалла вместо Operational Business Table (OBT)
Что проверяют
Знаете ли вы, что OBT это One Big Table, широкая денормализованная таблица, и понимаете ли, что спор идёт не про скорость, а про сопровождение. Дальше проверяют владение зернистостью, конформированными измерениями и историчностью.
Как отвечать
Кимбалл это звезда: таблица фактов на уровне события плюс измерения, суррогатные ключи, история атрибутов через медленно меняющиеся измерения. Ценность в переиспользовании: одно измерение подключается к десяткам фактов, определение метрики живёт в одном месте, изменение справочника не требует переписывать историю фактов.
OBT это одна широкая таблица, в которую атрибуты измерений уже подшиты. Запрос идёт без соединений, аналитику проще, колоночному движку дешевле читать.
Аргументы в пользу звезды:
- справочник правится точечно, а не переписыванием миллиардов строк факта;
- метрики согласованы между витринами, потому что источник определения один;
- зернистость под контролем, соединение «один ко многим» не задваивает суммы незаметно;
- модель понятна инструменту отчётности и новому аналитику.
Честно назовите цену: больше объектов, больше шагов загрузки, соединения на больших фактах стоят дорого. Рабочая практика это не выбор одного из двух, а слоистость: звезда как ядро хранилища, широкая таблица как витрина поверх неё, собранная материализованным представлением. Тогда определения живут в одном месте, а дашборд читает плоскую таблицу.
Где спотыкаются
Расшифровывают аббревиатуру как что-то операционное и начинают сравнивать хранилище с транзакционной базой. Это приём денормализации внутри аналитического контура, а не оперативная система.
Утверждают, что широкая таблица медленнее. На колоночном движке со сжатием она обычно быстрее в чтении, платить приходится объёмом, дублированием логики и полной пересборкой при изменении атрибута.
Забывают про историчность. Подшив в широкую таблицу текущее значение атрибута, вы получаете отчёт за прошлый период, который меняется задним числом. Медленно меняющиеся измерения придуманы ровно из-за этого.