数据仓库架构星型模型 VS 雪花模型!
JerryBO, DB2 & Sql Server, Hadoop, Oracle 围观 89 次暂无评论编辑日期:2014-06-05 字体:大 中 小
在现有的多维数据仓库的商业智能解决方案中,根据维度表和事实表的关系,
在实施过程中,维度设计会映射到 一组关系表,可以把数据库模型分为星型模
型和雪花模型,下面我们分别看一下这两种不同的模型。
星型模型:
中央表包含事实数据,多个表以中央表为中心呈放射状分布,它们通过数据
库的主键和外键相互连接,是一种使用关系数据库实现多维分析空间的模式,其
基本形式必须实现多维空间,以使用关系数据库的基本功能。同时星型模型也是
一种非正规化的模型,多维数据集的每一个维度直接与事实表连接,没有渐变维
度,所以存在冗余数据。在星型模型中,只需要扫描事实表就可以进行查询,主
要的数据都在庞大的事实表中,所以查询效率较高,同时每个维度表和事实表关
联,非常直观,很容易组合出各种查询。
雪花模型:
雪花模型在星型模型的基础上,维度表进一步规范化为子维度表,这些子维
度表没有直接与事实表连接,而是通过其他维度表连接到事实表上,看起来就像
一片雪花,故称雪花模型。也就是说雪花模型是星型模型的进一步扩展,将其维
度表扩展为更小的维度表,形成一种层次。这样就通过最大限度的减少数据存储
量以及联合较小的维度表来改善查询性能,且去除了星型模型中的冗余数据。
星型模型和雪花模型的特点比较:
特点
星型模型 雪花模型
非正规化; 正规化;
多维数据集中的每一个维度都与事实表连接(通过主键和外 数据冗余少;
键); 有些数据需要连接才能获取
不存在渐变维度; 规范化操作较复杂,导致设
有冗余数据; 杂;
查询效率可能会比较高;
不用过多考虑正规化因素,设计维护较为简单
当然是实际开发的过程中,可以在数据仓库架构中同时使用这两种模型的混
合体。比如中间处理层,可以用雪花模型降低冗余度,在数据集市层,采用星型
模型方便提取数据,提高查询效率。
评论0
最新资源