数仓 建模思想之星型模型、雪花模型、星座模型
1. 背景
- 在大数据开发中,数据一般是分为事实表,维度表,实体表等表。
- 事实表顾名思义就是记录实际发生的事情如订单表,优惠券使用表等等。
- 维度表,顾名思义,就是一个信息有多个维度,记录这些维度值的表。如日期,产品类目等等。一般会有一个id,以及id对应的各种维度具体信息。
注意,数仓建模主要就是将数据如何以数据库和表为单元,尽可能科学有效存储,方便后续的查询,分析,使用。在这个过程中,如何保证数据查询便捷性,性能,降低空间存储冗余度都是需要仔细考量的。
注意,数据冗余带来好处是,使用时,不需要关联其他表格,直接在一个表格就获取到所需要的信息,查询性能也会很不错。坏处就是,相同信息可能存储多份,空间占用较多,修改时代价也比较大,还需要考虑数据同步。
将独立信息单独存储一份,需要使用的地方记录这个信息的id,具体查询时关联这个表格即可,这样带来好处是相同信息只需要存储一份,并且以id关联,内部数据变化不会影响到外界。坏处就是,查询时需要关联这个表
2. 星型模型
- 星型模型,顾名思义,就是一个主要的表格,相关信息通过一层join关联其他的表。
- 注意,星型模型是一层关联