维度建模:
事实表:简单的说就度量值 如 销售金额
维度表:就是5个W When Where What Who Why
星形架构和雪花架构:
中间均为事实表,事实表一般都是最细维度,订单事实表一般都是订单项为基准。例如 中间是订单金额,订单肯定会关联产品,那么产品可能就会有产品的名称,拥有者,注册地等。星形架构就是将这些信息都冗余在产品维度表中,而雪花架构就是在产品的维表中在建立外键关联另一张表。
维度变化:
1.当维度数据发生变化时直接用新的数据覆盖老的数据
2.当维度数据发生变化时 新增一条维度数据 此时老的维度数据 有开始时间和结束时间
3.增加列 通过增加的列保存变化前数据和变化后数据
维度层次
1.向上钻取 减少维度
2.向下钻取 增加维度
3.横向钻取 跨主题交叉分析 比如希望分析某类目的用户浏览-成交转化率(计算公式为成交订单数/用户浏览数),但是该类目仅在浏览域存在。
维度一致性
维度一致性的意思是指,两个维度如果有关系,要么就是完全一样的,要么就是一个维度在数学意义上是另一个维度的子集
退化维度
也就是将维度表直接退化到事实表中。
维度表
用维度表快照的方式来处理缓慢变化维,实际上也是用存储的冗余开销换来了缓慢化维复杂逻辑的消除以及下游使用的便捷。想想传统方式要捕获每个维度字段的缓慢变化以及维护对应在事实表代理键的处理复杂性,还有给下游维度表使用所带来的困惑和使用成本,快照的缓慢变化维处理方式还是非常值得的,因为相应的 ETL 逻辑要简化很多,而且下游使用也更为直接和方便。
维度建模还不太了解,只能说根据不同的场景选择不同的维表保存方式(快照还是拉链等等)。