随着数据量的不断增加,数据治理已经成为了企业管理里不可或缺的一环。数据治理可以帮助我们更好地进行数据的管理和使用,从而提升数据的质量和价值,同时也能够保证数据的安全和合规。
一、数据治理面临的问题
数据治理中主要面临的问题有:
- 数据成本:随着业务的不断增长,数据存储、计算成本也随之增长。数据成本的可持续性和可控性是一个亟待解决的问题。
- 数据生产:数据的汇聚、清洗、建模、计算等过程依赖大规模的离线计算,且时间点集中,如何对数据产出的准确性和时效性进行保障也是个重要问题。
- 数据使用: 找不到数据,或者找到数据不敢用,数据来源、口径、维护等没明确的owner,使用方对数据的信任度不高,造成了数据的使用率不高。
- 数据安全: 没有完善的流程机制以及规范等策略来进行数据管控,比如数据未分级、隐私数据没有保护等。
二、数据资产健康度量
通过设计数据资产健康度模型,进行数据资产健康度评分,成体系、可监控、闭环地展示数据治理过程中的现状、问题、以及治理效果等。“健康分”指标作为衡量数据资产健康度的北极星指标,通过健康分去识别存储、计算、安全、质量、规范等方面不合理的地方,并定位到特定的不合理特征项,最后针对每一个特征项提供相应的治理策略或建议。
1.存储健康分
对数据表设计分类体系,基于每一个分类设计一套计分策略。
对于新表(如三个月内创建的), 由于没有积累足够的访问和使用数据,没有足够的依据判断是否需要治理,因此新表阶段会统一打分80分,等到访问和使用数据积累到一定程度后再用数据辅助判断。
对于旧表(如三个月以前创建),我们认为已经积累了足够的访问和使用数据,可以基于这个数据进行后续的治理判断,基于此还可以更进一步区分表是否是分区表。如果不是分区表,会看最近比如三个月内是否有访问,如果没有则判定为0分,建议Owner清理或者下线该表,有访问则判定为100分,暂时不用治理。如果是分区表,则判断该表是否是需要永久保存的,一般是无法根据其他数据溯源的源数据表或者大周期加工的表,如果是,则可以打标签为永久保存表或者白名单,不进行治理,打分100分;如果不是,则建议进行生命周期TTL(time to live,用户设置生命周期)管理, 这部分表的存储健康分是根据系统建议生命周期TTV(time to visit,系统建议访问周期 ) 和用户设置的TTL进行计算的具体计算公式是先根据历史一定时间段内访问的最大时间跨度,加上一定的系统冗余,计算出系统建议的TTV值,然后除以当前表的生命周期值,再乘以100。此策略就是希望用户将生命周期TTL调整成系统建议的TTV。
2.计算健康分
计算健康分是基于积累的数据治理经验沉淀出来的。主要是量化一些计算过程中不合理的特征进行计算,比如说数据倾斜、作业连续运行失败、数据的重复计算、相似计算。
比如有些下游作业只是简单的对上游表做了select操作,然后就存储了一张下游表,这其实会造成存储的极大的浪费,或者两个业务人员用了相似的计算逻辑产出了两张相似的表也会造成存储浪费,这些我们都会进行识别和特征打分,相似度大于50%计0分,小于50%则为1分。此外,如果作业正常产出很长一段时间后都没有下游依赖作业或者访问量我们也可以判断它可以暂停调度。最终计算健康分就是这些特征的得分,除以特征的计数,再乘以100。
在计算资源上进行量化,定义一个cu 等于1cpu=4GB 的内存运行1秒的算力,通过这个基本单位去量化每一个SQL,每一个作业运行时消耗的资源情况,同时会针对资源消耗Top的作业进行高效的治理,对得分低的计算特征也会给用户制定详细的指导策略。
3.质量健康分
质量方面分为数据内容质量和生成质量,需要设计一整个质量管理体系,并开发质量监控系统,主要的监控规则如下图所示:
配置表级监控1分,否则0;配置字段级监控1分,否则0;配置及时性监控1分,否则0。
4.安全健康分
安全健康分主要分资产分类、资产分级、安全分级设置三个方面。资产分类是把表归属到某个资产目录下,方便统一管理和查找使用。资产分级是用来衡量数据应用场景的重要程度,越高资产等级的数据,会高优保证它们的资源调度,保障产出的稳定性。安全等级则设置了L1到 L4,从1到4,安全等级逐渐升高,比如用户ID、电话号码、地址以及聊天记录等个人敏感信息都是最高安全等级数据,从管控粒度上来说可以细到字段级的安全等级。安全分数计算规则跟计算健康分一样,就不再赘述。
5.规范健康分
规范健康分相对简单,主要是管控数仓开发建模规范。比如字段和表是否有描述和注释,是否能让用户在使用时非常明白地了解到这个表具体保存的是什么,有没有设置归属部门、负责的技术和业务负责人、表命名是否规范/分层等。 规范健康分分数计算逻辑和安全健康分一致,对于规范和安全这两部分的治理更多的是事后补全,将未设置项补全,不规范项修正等。
三、小结
以上就是整个数据资产健康度量模型,根据该模型可以很清楚的知道当前数据的总的健康分以及各方面的健康分,识别到不合理特征项,以及涉及到哪些表和作业,同时建议相应的治理操作是什么。