数仓命名规范建议

1.常规表

常规表是我们需要固化的表,是正式使用的表,是目前一段时间内需要去维护去完善的表。

规范:分层前缀[dwd|dws|ads|bi]业务域主题域XXX粒度。

业务域、主题域我们都可以用词根的方式枚举清楚,不断完善,粒度也是同样的,主要的是时间粒度、日、月、年、周等,使用词根定义好简称。

2.中间表

中间表一般出现在Job中,是Job中临时存储的中间数据的表,中间表的作用域只限于当前Job执行过程中,Job一旦执行完成,该中间表的使命就完成了,是可以删除的(按照自己公司的场景自由选择,以前公司会保留几天的中间表数据,用来排查问题)。

规范:mid_table_name_[0~9|dim]

table_name是我们任务中目标表的名字,通常来说一个任务只有一个目标表。这里加上表名,是为了防止自由发挥的时候表名冲突,而末尾大家可以选择自由发挥,起一些有意义的名字,或者简单粗暴,使用数字代替,各有优劣吧,谨慎选择。

3.临时表

临时表是临时测试的表,是临时使用一次的表,就是暂时保存下数据看看,后续一般不再使用的表,是可以随时删除的表。

规范:tmp_xxx

只要加上tmp开头即可,其他名字随意,注意tmp开头的表不要用来实际使用,只是测试验证而已。

4.维度表

维度表是基于底层数据,抽象出来的描述类的表。维度表可以自动从底层表抽象出来,也可以手工来维护。

规范:dim_xxx

维度表,统一以dim开头,后面加上,对该指标的描述,可以自由发挥。

5.手工表

手工表是手工维护的表,手工初始化一次之后,一般不会自动改变,后面变更,也是手工来维护。一般来说,手工的数据粒度是偏细的,所以,暂时我们统一放在dwd层,后面如果有目标值或者其他类型手工数据,再根据实际情况分层。

规范:dwd_业务域_manual_xxx

手工表,增加特殊的主题域,manual,表示手工维护表

6.词根和指标

主要用来规范中文和英文的映射关系。例如:用户可以翻译成user也可以是account,标签可以是tag也可以是label,这些要统一,避免出现多个不同的命名。

你可能感兴趣的:(数仓命名规范建议)