什么是大宽表?
基于事实表,冗余业务常用的维度以及标签,通过一张表对外提供赋能。
优点:1.用户使用方便,通过一张表以及对应标签、维度的筛选就可以得到对应的数据。
缺点:1.如果遇到废弃字段、新增字段、修改逻辑等需求,数据开发人员维护成本较高。
2.标签口径因为沉淀在大宽表中,不太方便做到口径一致性管理,如果其他事实表用到对应标签,则可能也需要在自身逻辑中做同样的处理,万一逻辑变更且没有通知到位,则容易出现不一致的情况。
3.产出时间,平时工作场景中增加字段是比较常见的情况,增加字段对应的可能就是一段来源于其他表的处理逻辑,如果将这段逻辑沉淀在宽表中,有可能影响宽表产出时间,影响下游数据使用。
事实表+维度
优点:
1.新增字段,新增标签基本都在维表里进行,一般不会影响主体数据使用。
2.各数据域的标签分开沉淀,统一对外赋能,方便统一口径。
缺点:
1.使用方使用对应的数据需要额外关联数据。
2.数据模型相对于大宽表形式会复杂一些。
目前在工作中其实没有固定的模型模式,一般是根据需求的情况,由数据rd自己发挥,在保证一致性和规范性的大前提下,根据情况选择模型思想进行建模。
比如说,需求比较急,且是新业务,那么这种情况可以优先选择大宽表方式,快速对业务赋能,当业务逐渐沉淀和稳定下来之后,可以将大宽表进行拆分,比较通用的逻辑封装成dim,然后通过事实+维表的方式对外提供。