数字化转型网数据专题将关注数据治理、数据质量管理、数据架构、主数据管理、数据仓库、元数据管理、数据备份、数据挖掘、数据分析、数据安全、大数据、数据合规、等数据相关全产业链相关环节。

数据治理是一个什么话题呢?
就是上面那些玩意之前开发的时候有历史遗留问题,要把它“治理”成规范的
数据治理总体上分成合规治理和资源治理
合规治理主要是规范上的问题,比如:模型设计规范、元数据定义规范、数据质量方面的保障规范等
资源治理分为存储和计算
比如说存在大量重复数据、无用数据的存储导致我 HDFS 存储不足,那我就需要进行存储资源治理
存在某些任务会消耗大量资源,导致链路中其他任务跑不起来,那这个时候我就需要进行计算资源治理
由于数据仓库在建设过程当中,可能由于急于交付需求就没有考虑过多合规方面的问题,导致遗留下很多隐性的问题
同时每个时期所关注的问题是不一样的,所以需要按照不同的阶段进行精确的治理
(1) 层级设计:城市功能区的划分
数仓分层就像是给城市划分功能区
ODS层是“原材料进口区”,DWD层是“初加工区”,DWM层是“半成品中转区”,DWS层是“深加工和汇总区”,ADS层就是最终面向市民的“商品展示区和应用市场”,DIM层则是城市里通用的“基础设施信息库”(比如时间维度、地区维度)
每家公司叫法可能不一样,比如有的公司把ADS层叫APP层,没关系,重点是你知道每一层是干啥的,职责分明就行
离线数仓像个大城市,功能区多
实时数仓可能更像个特区”,追求的是“快”,所以层级可能就没那么多,比如可能就ODS、DWD、ADS三层搞定,一切以业务需求和效率为准
测试表就好比“临时施工棚”,这里建议直接搞一个 TMP 库,这样可以非常清楚的知道哪些是正式表、哪些是临时表
(2) 命名规范:给每条街起个名字
命名这块就像城市里每条路叫什么街、什么路,楼房叫什么苑、什么厦,都得有个统一的规则
- • 层级前缀: ods_、dwd_、dim_ 一看就知道是哪个区的
- • 业务域: trade_ (交易)、user_ (用户),说明这条街是干嘛的
- • 业务过程/实体: order_detail (订单详情)、user_base_info (用户基础信息),具体到是哪栋楼
- • 分区策略/更新周期: _df (天分区全量)、_di (天分区增量),告诉我们这栋楼是每天整体翻新还是接着盖
(3) 临时数据模型下线:即使拆除“临时施工棚”
工程建设过程当中,会搭很多临时的“工棚”,工程完工了,这些玩意就得及时拆掉了
这部分可以根据血缘对无用表、临时表进行下线,避免无用的存储和计算的损耗
- • “长期无用表”: 很久没人访问、没人用的表,就像废弃的厂房
- • “下游无血缘且空跑数据模型”: 有个任务每天还在跑,但产出的数据根本没人用
- • “临时表”: 就是咱们开发测试时建的那些,用完了就该删
(4) 应用指标公共下沉复用
数仓刚开始发展的时候,大家可能还没来得及建立一个统一的“指标中心”,每个人都在自己开发很多数据模型来算自己想要的指标
这样很容易导致同一个指标(比如“用户活跃数”),A部门算一个样,B部门算一个样,口径不统一,复用性差,大家都在“重复造轮子”
这一步的核心就是:识别出那些大家都要用的“通用零件”(公共指标),把它们标准化生产出来,放到一个公共的“零件库”(DWS层),谁要用直接去拿就行了
这样既保证了口径统一,又减少了重复计算,大大提高了效率
所以首先需要先看看应用层的指标口径是否都是一致的,如果不一致就需要进行沟通进行修改
然后咱们要把那些通用的、基础的指标,从应用层的具体模型里“抽”出来,“下沉” 到更底层的、更公共的层次,比如DWS层
按照不同的周期进行汇总,按照不同维度进行聚合,将结果作为公共指标存放到 DWS 中
测试没问题之后,ADS 层就可以直接从 DWS 层读取这些已经算好的公共指标了
(5) 解决 ODS 穿透问题
“ODS穿透问题”是个啥?
ODS层是咱们的原始数据层,按理说,下游的ADS、DWS 不应该直接去用ODS层的数据,中间应该经过DWD层的清洗、转换和关联
如果ADS或DWS层直接跳过DWD,去读ODS层的数据,这就叫“ODS穿透”
为什么会有 ODS 穿透?
可能是早期为了快速出报表,图省事,直接就从ODS取数了
也可能是DWD层建设不完善,缺了某些关键数据
ODS 穿透有啥坏处?
首先是破坏了数仓分层的规范,分层的主要目的就是让数仓更具有复用性、经过多个步骤处理将复杂的逻辑简单化
如果全都去 ODS 取数据了那又会发生同一个逻辑计算多次的情况,存在资源浪费,跑得还不一定快,同时一个任务逻辑过多,维护起来也比较乱
同时如果 ODS 的表结构一遍,牵一发而动全身,所有的下游表都得改
怎么解决?
首先通过血缘找到这些跨层依赖的数据模型
然后这里不能粗暴地直接不读 ODS 就完事了,得按照咱们之前在“数据模型建设”聊过的规范完善中间层(DWD、DWS),然后让 ADS 切换引用的数据模型
(6) 烟筒数据模型重构及下线
不同的业务部门或者不同的开发人员,为了解决类似的问题,各自建了一套数据模型,这些模型之间互不相通,这就是“烟囱数据模型”
这里就可以将公共的指标、通用的字段放到一个或多个数据模型中,从而提高模型的易用性
就好比之前城市里面啥路都有,现在要进行统一规划,修成一条主干道
(7) 元数据非合规的数据模型重构及修改
这里主要针对之前的模型按照新规定的元数据规范进行重构,可以先重构 ODS、DWD、DWS 的元数据信息
然后按照主题域的分工,切换 ADS 的数据模型
数据模型合规治理后维护
治理完成之后可以设定评分机制,按照规范以及价值(查询次数等)进行打分
根据这个分数可以及时进行相应的数据治理,比如分数过低的话就发邮件提醒处理、确立审核机制将不规范现象扼杀在摇篮
声明:本文来自建鑫Data,版权归建鑫jx所有。文章内容仅代表作者独立观点,不代表数字化转型网立场,转载目的在于传递更多信息。如有侵权,请联系我们。数字化转型网www.szhzxw.cn
数字化转型网数据专题包含哪些内容
数字化转型网数据专题将关注数据治理、数据质量管理、数据架构、主数据管理、数据仓库、元数据管理、数据备份、数据挖掘、数据分析、数据安全、大数据、数据合规、等数据相关全产业链相关环节。
数字化转型网数据专题包含: 数字化转型网(www.szhzxw.cn)
1、数据相关外脑支持:100+数据相关专家、100+数据实践者、1000+相关资料
2、数据研习社:与全球数据相关专家、实践者共同探讨相关问题,推动产业发展!
3、国际认证培训:目前已引进DAMA国际认证CDMP,其他国内外认证也在逐步引进中
4、典型案例参考:与数字化转型网数据要素X研习社社员一起学习典型案例,共探企业数据落地应用

本文由数字化转型网(www.szhzxw.cn)转载而成,来源于建鑫Data;编辑/翻译:数字化转型网萍水。

