星型模型、雪花模型
在数据仓库的建设中,数据模型通常分为星型模型、雪花模型及星座模型三种。那么这三种模型有何区别?前期规划时应选择哪一种呢?接下来将详细解析。
星型模型仅包含一张事实表与0至多张维表,通过主键外键关联,维表间无关联。其图形形似星星,因此得名。星型模型为最简单、最常用的模型,适于大数据处理。其他模型可通过转换转为星型模型。
星型模型的缺点在于存在一定程度的数据冗余,因维表层级单一,部分信息重复存储。例如,国家、省份、地市三列维表中,国家列信息重复。
雪花模型是对星型模型的扩展。当多个维表未直接连接至事实表,而是通过其他维表连接时,图解形似多个雪花相连,故名雪花模型。它对星型模型维表进行层次化扩展,分解为小的事实表,形成局部"层次"区域,所有表均连接至主维表而非事实表。雪花模型优点在于通过减少数据存储量及优化小维表查询性能,降低数据冗余。缺点则为增加主键-外键关联,导致查询效率低于星型模型,且不利于开发。
星座模型进一步扩展星型模型,包含多张事实表与共享维表信息,适用于复杂数据关系场景。常被称为星系模型。区别在于存在多张事实表。
多重随机标签