规范化是指使用一系列范式设计数据库的过程,其目的是减少数据冗余,增强数据的一致性。通常情况下,规范化之后,一张表的字段会拆分到多张表。如果对其进行规范化,得到的维度模型称为雪花模型,雪花模型,比较靠近3NF,但是无法完全遵守,因为遵循3NF的性能成本太高。
反规范化是指将多张表的数据冗余到一张表,其目的是减少join操作,提高查询性能。
在设计维度表时,如果对其进行反规范化,得到的模型称为星型模型。雪花模型与星型模型的区别主要在于维度表是否进行规范化。
数据仓库系统的主要目的是用于数据分析和统计,所以是否方便用户进行统计分析决定了模型的优劣。采用雪花模型,用户在统计分析的过程中需要大量的关联操作,使用复杂度高,同时查询性能很差,而采用星型模型,则方便、易用且性能好。所以出于易用性和性能的考虑,维度表一般反规范化的。
领取专属 10元无门槛券
私享最新 技术干货