数仓设计规范

 

此规范源自滴滴工作期间的实践

一、数仓层级

层级全拼中文说明备注
dimdimension维度层DIM数据层的表主要存放维度数据。数据表可以由手动维护的一个文件生成,或者先将mysql的原始数据表拉取到ods层,在通过HQL转换为dim表。

该层为维度数据,维度是对具体分析对象的分析角度,维度要具备丰富的属性,历史信息的可追溯性,对通用的维表要保持一致性,避免维度二义性。
 
dm  data market集市层DM数据层的表存放统计结果表,用于报表页面展示。
 

按业务主题组织高度汇总数据,产出通用的指标数据,统一指标计算口径和方法,避免指标冗余计算导致数据不一致。

面向具体统计需求的;按业务主题划分;对数据进行高度汇总;同一指标只能存储在一张表中;尽量避免dm层表依赖dm表。

 

粒度:对于多粒度多层级的汇总。

dwmdata warehouse model汇总层DWM数据层的表是对ODS层或DWV的数据表进行微聚合。

按业务主题组织轻度汇总数据,产出通用、稳定的预处理数据,尽可能多的满足数据需求,避免后期重复计算。尽量避免dw层表依赖dw表。
 
dwv / dwddata warehouse view / detail明细层DWV数据层的表是对ODS层数据表的关联、字段重命名或类型转换。
 

按业务主题组织明细数据,产出数据格式统一、质量可靠、易于应用的业务明细数据。

按业务主题划分;对数据进行清洗、转换、聚合,一般不做汇总操作。

 

为缩短数据计算的链路,没有必要每个ods表都一一建立dwd表。最多的场景是做数据聚合时建立。

odsoperational data store源数据层ODS数据层的表主要存放原始数据信息。
 

该层接收来自不同源系统数据,只用于数据仓库内部使用,不对外开放。为方便问题跟踪和抽取效率,同时保持响应相关需求的能力,

该层数据原则上和源系统数据保持一致,不做任何处理。

    



字段规范

  • ODS数据表中从mysql数据源中抓取的表字段名称按照原始名称存放,保持不变。
  • ODS数据表中从public数据源中抓取的表字段只有prefix_key和param字段(map类型)。
  • 字段中涉及乘客司机订单信息,分别用passenger、driver、order来表示,不要简写。其他单词可以简写。
  • order_id、passenger_id、driver_id统一使用bigint类型。
  • 经纬度统一使用double类型。
  • city_id统一使用int类型,其中用-1代表其他。
  • 涉及到钱的字段必须在字段注释中标注是分或元。
  • DWV、DWM、DM层的表中涉及到钱的字段统一用decimal字段类型,单位元。ODS层的表按原始mysql类型存储。
  • DWV、DWM层的如订单数、支付数这样的统计字段统一使用bigint类型。
  • 字段中多个单词以下划线进行连接。




二、主题

主题是根据本公司的业务进行划分的。

主题可以分主题、子主题两级:对于按业务群建立的数仓,先按业务线分主题,然后再分子主题。

 

主题英文命名保存业务线内一致即可。

 

主题举例如下。

主题主题类型
用户通用
订单通用
交易通用
营销通用
访问通用

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值