客户端

数仓设计规范

所在版块: 数据与机器学习 2017-08-24 14:44 [复制链接] 查看: 5410|回复: 0
此规范源自滴滴工作期间的实践

一、数仓层级
层级全拼中文说明备注
dim dimension
维度层 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类型。
  • 字段中多个单词以下划线进行连接。



二、主题
主题是根据本公司的业务进行划分的。
主题可以分主题、子主题两级:对于按业务群建立的数仓,先按业务线分主题,然后再分子主题。

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

主题举例如下。
主题主题类型
用户 通用
订单 通用
交易 通用
营销 通用
访问 通用






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码关注微信公众号

QQ|Archiver|手机版|小黑屋|mwt-design ( 沪ICP备12041170号-1

GMT+8, 2024-5-19 11:02 , Processed in 0.064223 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回列表