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

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

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