标签:blog 避免 核心 一致性 主题 规范 而且 好的 系统
前言
维度建模是Kimball提出来的经典的数据仓库建模思想。维度建模提倡针对某一主题,通过建设维度和事实来快速建设数据仓库。与维度建模相对应的自然是Inmon的范式建模。在上篇也提到范式建模非常适合应用于中间明细层的建设,那么在DW/DM层为什么选择使用维度建模呢?这是第一个问题。维度建模的核心是总线架构,一致性维度,一致性事实。本篇的主题是总线架构,那为什么说维度模型是总线式架构?本篇通过维度建模和星型模型的讲解来分别解释这两个问题。
维度建模
维度模型之所以被选择在DW/DM层上来实现,是因为维度建模的如下特点:
星型模型
提起维度建模就不得不提星型模型和雪花模型之争,具体两种模型是什么,之前已经讨论过了http://www.cnblogs.com/benchen/p/6011721.html,而且网上也很容易找到,这里就不再赘述。在Kimball的理论中,星型模型备受推崇。原因有以下几点吧。
星型模型是针对的单一事实表的情形,当有多个事实表通过维度关联在了一起就形成了星座模型。星座模型可以是同一主题单不同粒度的事实表之间的关联,也可以是不同主题的事实表共用同一维表。毕竟是有全局的一致性维度。
小结
维度建模适合于DW/DM层建模,通过使用维度建模,用户可以得到很好的效果,只有用户满意了,数据仓库才能实现更大的价值。可以说维度建模的核心是星型模型,星型模型所拥有的特点正是用户方便使用的根源。
当然维度模型也有着一些缺点,比如数据的一致性很难保证,数据的冗余,大量的维度信息处理等,但这些相对于有点来讲都是可接受的,而且也可以通过其他方式避免和简化的。
以维表为总线,事实表以维表为基础的总线矩阵,意味着建设出来的架构正是总线式架构。
标签:blog 避免 核心 一致性 主题 规范 而且 好的 系统
原文地址:http://www.cnblogs.com/benchen/p/6087389.html