离线数仓(2):数据仓库相关架构和规范
目录
0. 相关文章链接
1. 数据仓库在整个应用中的位置
2. 此次重构的数据仓库具体分层架构
3. 数据仓库为什么要分层
4. 此次重构的数据仓库命名规范
4.1. 表命名
4.2. 表字段类型
0. 相关文章链接
离线数仓文章汇总
1. 数据仓库在整个应用中的位置
数据仓库在企业是处于非常重要的位置;往前接收经由埋点而获取的用户行为日志、拉取商家(报社、博主等内容发布方)和用户交互的业务数据;往后输出的数据可以给领导层提供决策、可以给用户构建画像系统、可以判断用户喜好等。
2. 此次重构的数据仓库具体分层架构
- ODS(原始数据层):存储原始数据,直接加载原始日志、数据,不做任何处理
- DWD(明细数据层):对ODS层数据进行清洗、脱敏等,保存业务事实明细
- DIM(维度层):保存维度数据,主要是对业务事实的描述信息,例如何人、何时、何地
- DWM(中间数据层):对DWD层同一个业务事实进行汇总,例如订单详情、订单、订单取消
- DWS(数据服务层):以DWD为基础,按天进行轻度汇总;一行信息代表一个主题对象一天的汇总行为,例如一个用户一天的下单次数
- DWT(数据主题层):以DWS为基础,对数据进行累积汇总;一行信息代表一个主题对象的累积行为,例如一个用户累计下单次数
- ADS(数据应用层):为各种统计报表和数据协助提供数据
3. 数据仓库为什么要分层
- 把复杂问题简单化: 将复杂的任务分解成多层来完成,每一层只处理简单的任务,方便定位问题。
- 减少重复开发:规范数据分层,通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。
- 隔离原始数据:不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开。
4. 此次重构的数据仓库命名规范
4.1. 表命名
ODS层命名为ods_表名
DIM层命名为dim_表名
DWD层命名为dwd_表名
DWM层命名为dwm_表名
DWS层命名为dws_表名
DWT层命名为dwt_表名
ADS层命名为ads_表名
临时表命名为tmp_表名
4.2. 表字段类型
数量类型为bigint
金额类型为decimal(16, 2),表示:16位有效数字,其中小数部分2位
字符串(名字,描述信息等)类型为string
主键外键类型为string
时间戳类型为bigint
注:其他 离线数仓 相关文章链接由此进 -> 离线数仓文章汇总