在建大宽表时,需要考虑下面几个问题:
- 使用频次:如果使用比较高频,每天次查询都要多表关联,同样的逻辑重复写很多遍,这样的话,建大宽表好一些
- 沟通成本:多张表关联的情况下,如果要使用这个数据的人数比较多(比如要开放给多个产品,运营,分析师),每个人都需要先了解多张表的关联关系,影响使用体验,沟通成本高。这种情况下建议宽表
- 合理性:多表关联后,会不会改变事实表的主键?数据的对应关系,是一对一,还是一对多?会不会有坑?
- 产出时间sla: 宽表的sla的保证 需要注意,因为依赖比较多的维度表,依赖越多风险也就越大,看各个维度表的产出时间是不是合适?
- 数据安全:每张数据表的安全范围不同,合并成同一张表是面临的是更大的权限开放。
- 要了解大宽表的缺点:代码过长,不易维护;数据冗余
- 也看数据层次,基础层会用维度表,主题层多用大宽表。