首页
学习
活动
专区
圈层
工具
发布

数仓开发者的数据治理实战:数仓开发者的三大核心发力点

在前面的文章中,有介绍过中小型公司如何搭建,也介绍过主数据的重要性,还有数据仓库的血缘关系如何获取等等。在这篇文章中主要想讨论一下,数仓开发人员如何在数据治理中发力。

数据治理(Data Governance,DG)的定义是在管理数据资产过程中行使权力和管控,包括计划、监控和实施。从定义来看,数据治理管控的是整个数据资产从创建到消亡的全生命周期。数据仓库本身是不创造数据的,只是对数据进行加工,以达到业务人员所需要的状态,帮助业务人员提高业绩,帮助领导层加强管控。所以数据仓库只是数据治理的其中一部分内容。

数仓在数据治理中所处的位置

那数据仓库在数据治理中处在什么样的位置呢?

正常的业务开展,都是在业务系统里展开的,例如销售系统,客户在销售系统里下单,结算等等。这些都是在业务系统开展的。而随着业务的开展,就会产生相应的数据,例如客户在销售系统里下单,那就会产生订单相关的数据。一个订单里会有唯一的订单号,客户,商品信息,价格信息等等。

这些信息产生之后,是会直接存放在业务系统的数据库里的。还有一些非结构化的数据是来源于网络,那这些数据就会存放于网络上不同的地方了。而数据仓库是要先把这些数据取进来,然后再在数据仓库内做加工。加工之后的数据就可以通过报表展示工具进行展示,以供业务人员和领导层进行决策之用。或者给到数据分析,数据挖掘人员,以此作为他们的原材料。

从上面的这个流程来看,整条链路也是比较清晰的。所以数据仓库是业务系统的下游,是报表展示、数据分析和数据挖掘的上游。起着承上启下的工作,数据质量的好坏有可能会直接影响最终的决策。

可见数据仓库的建设是何等的重要。

数仓开发人员的工作细分

在整个数据仓库的整个建设过程中,其实也是会有所细分的。

首先,数据进入到数据仓库这一步就是ODS层。ODS(OperationalDataStore)中文为操作数据存储层,主要用于存储从业务系统直接采集的原始数据,保持与源系统一致的结构和内容,不进行深度加工。例如,企业ERP、CRM系统的原始日志和业务表会直接落地到ODS层。

其次,数据进行ETL处理,加工后存放在CDM层,这一层会包含DWD和DWS。CDM(Common Data Model),即为公共数据模型层,这一层是数据仓库的核心处理层,负责将原始数据加工整合为标准化、可复用的模型,为上层应用提供统一的数据服务。DWD(Data WarehouseDetail)中文为数据明细层,负责对ODS层数据进行清洗、标准化和维度退化等处理,生成规范化的明细数据。DWS(Data WarehouseService 或 Summary)中文为数据服务层或汇总层,基于DWD层明细数据按业务主题进行轻度或重度聚合,生成宽表以提升查询效率。

最后,就是给展示层直接使用的ADS层。ADS(ApplicationData Service)

中文为数据应用层,存放面向最终业务场景的加工结果数据,如报表、推荐模型输出等,通常直接对接BI工具或前端应用。

在大公司中,这每一层都是有对应的小组人员负责的,不同层次所应注意的点也是有细分的,在这里就不展开了。

不过,不管是一个小组负责,还是多个小组负责,又或者是一个人负责。数据质量这一块应该要注意的点都是一样的。

数仓开发人员能管控的是什么

作为数数据仓库开发人员,我们能管控的是什么呢?

首页先可以明确的是上游的数据质量,我们是管理不了的,即便它错了,我们也只能先把错误的数据取进来。业务系统的数据质量是数据治理整体需要解决的问题。所以我们能管好的只是数据仓库这一亩三分地。

从ODS数据接入时开始,我们就可以有所动作了,不过ODS一般我们不会做处理。因为这是一个镜像层,这一层的数据一般会与业务系统保持一致。业务系统是什么,ODS存放的就是什么。这一层的主要任务是用来作为原材料的存放层,同时可以起到问题追踪定位的作用。

ODS层后面就是CDM层了。这一层是关键中的关键,在这一层如果处理得好,那就是各方受益。如果处理不好,那就有可能会引发灾难级的事故。

在CDM层中有几个事情可以做。

第一:对于业务系统过来质量差的或者有错误的数据进行处理掉。例如,明确知道的错误数据,通过与业务商量后的具体口径,对数据进行修正。对于出现数值缺失的数据,根据业务给定的修正方法进行填充。或者通过数据方法,使用平均值、众数等等不影响数据整体分布的数据进行填充。

第二:就是要制定清晰的规范和标准,用于统一数据仓库的整体建设过程。例如,制定统一的命名规范,包括库命名、表命名、字段命名和脚本名称命名等等。有了这些统一命名之后,不管是谁过来用数,只要知道规范和标准,就很容易知道这些表和字段的大概作用。再结合元数据使用就能快速清晰地把数据用起来。

第三:公共层的构建是否清晰,对于整个数据仓库的整体质量也是可以起到很大的作用的。清晰的公共层构建,可以使得数出一孔,可以减少数据仓库里自己本身的数据打架。例如,如果销售表存在多个,而且每个销售表都是根据不同的口径构建出来的,那么对于使用数据的人就用提出疑问:“这几个都是销售表,为什么表里面的数据会不一样,差异在哪里?”即便你每次都很好地回答了这个问题,那也会给人留下不好的第一印象。别人就会觉得你这份数据的质量是有问题的,在使用得时候都得小心翼翼地。

所以总的来说,在数据仓库中,数据仓库开发人员能做到的是,纠正上游有质量问题的数据,制定清晰的规范和标准并遵守和构建清晰可用的公共层。

总结

数仓开发人员作为数据治理的核心执行层,需聚焦三大关键领域:数据质量修复、规范体系落地与公共模型构建。在CDM层加工过程中,通过业务规则清洗错误数据(如缺失值填充、逻辑纠偏),将治理转化为ETL代码;建立表命名、字段标准等硬性约束(如DWD层统一采用「业务域_主题_粒度」命名规则),确保资产可追溯;通过构建高复用公共层(如统一会员宽表),避免数据冗余矛盾,让治理成果直达用数终端,真正实现「加工即治理」的理念闭环。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Oa66RrRF2uiPM9aUiUk3gUdg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券