开发者学堂课程【新电商大数据平台2020最新课程:电商项目之数仓开发规范】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/640/detail/10491
电商项目之数仓开发规范
数仓开发规范介绍
当我们去公司做开发数仓搭建的时候,首先第一点明确,你的开会规范是什么。
没有按照规范去开发,那么你开发出来的程序需要重复的次数会很多。所以说每一个公司都会有自己的一套开发规范和开发文档,那么在这个本节的书上当中也有一套开发文档。
1、数据库命名
命名规则:数仓对应分层_ {业务线|业务项目}
命名示例: ods_ nshop/dwd_ nshop/dws_ nshop/dim. nshop/ ads_ nshop/
因为数据库规范是根据是跟整个的流程去走的,流程是我们在建立出仓的时候,会对应的去分层,按照我们的层次结构来去划分每一层的数据库的名称,那么这个名称就是我们所说的一个层级的名称。
我们在命名的时候,每一层级都会有相对应的。第二个是你的业务线,或者说我们的项目名称,因为每个在开发的一个项目的时候都有项目名称,或者说叫业务线。
业务线是在做商品时,需要自己跟着,然后后边一系列的存储。后边都一样,只不过说他的一个层级,名称前缀不一样,它的业务线或者说它的项目名都是统一的,这是第一个我们的数据库命名规范。
ods/sda 层-> sda/ods_ {业务线|业务项目} (原始数据)
dw 层-> dwd_ {业务线|业务项目} (主题) + dws_ {业务线|业务项目}(基于主题宽表汇总)
dim 层-> dim. 维度(维表库)
ads 层-> ads_ {业务线|业务项目} (应用统计指标等)
middle 层-> mid_ {业务线|业务项目} (中间库)
临时数据-> temp_ {业务线|业务项目} (临时库)
2、表命名
(3-1)数据库表命名规则
*原始数据层:
命名规则: ods_ {业务线|业务项目}, {数据来源类型}_ {业务}
ods_ {业务线|业务项目}_ {数据来源类型}_ {业务}_ {时间粒度}_ delta (delta 代表增量, 主要用于数据同步方向产生的原始数据表)
命名示例:
ods_ nshop. 01 useractlog xx 用户日志原始数据表
ods_ _nshop_ 02_ _user xx 用户表(全量)
ods_ nshop_ 02_ user_ delta xx 用户表(增量)
ods nshop 02 user hh delta xx 用户表(小时级增量dd天)
(1)主题/事实数据层:
命名规则: dwd. (业务线|业务项目}. (主题域)_ (子业务}
命名示例:
dwd. _nshop. user. logproview xx 用户产品浏览日志事实表
dnd_ nshop. user. comment xx 用户关注事实表
(2)主题/事实汇总层:
命名规则: dus_ (业务线|业务项目}_ (主题域)_ {汇总相关粒度}. {汇总时间周期}
命名示例:
dws_ nshop. user. order. nd xx 用户订单汇总N天统计表
dws_ nshop. user. cmtpro. nd xx 用户产品关注汇总N天统计表
(3)维表层:
命名规则: dim {业务线|业务项目 |pub 公共}. {维度}
命名示例:
dim_ _pub_. _date 时间维表
dim pub. area 地区维表
dim pub. category 商品分类
(4)集市层:
命名规则: ads_ (业务线|业务项目). ({统计业务). {报表 form|热i门排序topN)}
命名示例:
ads_ nshop, order. form 订单统计表
ads_ nshop orderpay form 订单支付统计
注释:如果业务名称较长可以简写如 ods_ 01 useractlog
数据来源代码(ods 层)
01 -》hdfs数据 ods_ nshop.ods. 01 action. _1og 行为日志表
02 -》mysq1数据ods_ nshop.ods. 02_ user 用户表
03 -》redis 数据
04 -> mongodb 数据
05 -》tidb 数据