13、数据建模:抵制规范化冲动与库存模型解析

数据建模:抵制规范化冲动与库存模型解析

抵制规范化冲动

在数据建模过程中,来自规范化背景的建模者往往会受到一些自然冲动的诱惑,我们需要直接应对这些冲动。我们有意识地打破了一些传统的建模规则,因为我们更关注通过易用性和性能来提供价值,而非交易处理效率。

具有规范化维度的雪花模式

扁平化、非规范化的维度表中存在重复的文本值,这会让来自操作领域的数据建模者感到不适。以产品维度表为例,300,000 种产品可归为 50 个不同的部门。规范化背景的建模者希望在产品维度表中存储 2 字节的部门代码,而不是冗余存储 20 字节的部门描述,然后为部门解码创建一个新的部门维度。实际上,他们希望将原始设计中的所有描述符规范化到单独的维度表中,认为这样可以节省空间,因为 300,000 行的维度表只包含代码,而不是冗长的描述符。

此外,一些建模者认为更规范化的维度表更容易维护。如果部门描述发生变化,他们只需更新部门维度中的一处,而不是原始产品维度中的 6,000 处重复内容。不过,这些维护工作通常在数据加载到展示区的维度模式之前,在 ETL 系统中就已经完成。

维度表的规范化被称为雪花化。冗余属性会从扁平的、非规范化的维度表中移除,并放置在单独的规范化维度表中。雪花化虽然是维度模型的合法扩展,但考虑到易用性和性能这两个主要设计驱动因素,我们建议抵制雪花化的冲动。

以下是雪花化带来的问题:
1. 呈现复杂 :大量的雪花表会使呈现变得更加复杂,业务用户必然会在这种复杂性面前感到困惑,而简单性是维度模型的主要目标之一。
2. 查询性能慢 :大多数数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值