В чем принципиальное отличие между подходами нормализованного хранилища (по Инмону) и многомерного хранилища (по Кимбаллу)?

Добрый день!

В чем принципиальная разница между подходами нормализованного хранилища (по Инмону) и многомерного хранилища(по Кимбаллу), если:
при использовании подхода (Кимбалла) и схемы снежинка все равно производится нормализация таблиц-измерений?

Буду благодарен за примеры или материалы для изучения.
  • Вопрос задан
  • 1216 просмотров
Пригласить эксперта
Ответы на вопрос 1
Принципиальная разница в скорости разработки и внесения изменений.
Допустим, нам нужно отдать несколько витрин о продажах с немного разной логикой разным заказчикам.
Кимбалл: построим их на источниках! Да у них будет очень похожая логика загрузки, но зато мы сделаем это быстро. Увы, единой правды у нас при этом скорее всего не получится. Когда хранилище станет большим, придется тратить много усилий на поддержку т.к. изменения в источнике нужно будет учитывать в нескольких местах.
Инмон: Сначала номализуем все и сделаем единую версию правды. В данном случае разложим все продажи в едином для всех виде. а над ней уже построим все витрины, которые нужны пользователям, где реализуем именно ту логику, которая нужан им.

По сути, хранилище можно начать строить, опираясь на любой подход. Если начать с Кимбалла, то в итоге рано или поздно родятся какие-то промежуточные таблицы с единой правдой и модель станет похожа на datavault. Если начинать с datavault'а, то все равно придется иногда делать кастомные витрины на источниках, когда нужна не единая правда, а именно та логика, которую хочет пользователь. Таким образом, в реальности мы получаем некую смесь этих двух подходов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы