本文首发自 微盟技术中心 微信公众平台~
一、背景
微盟业务覆盖商城、小程序、公众号和直播等业务,随着微盟业务的快速发展,每天需要处理和分析海量用户和商家的数据,随之数据开发任务数量也会快速的增长。在优先业务和开发效率的工作模式下,数据腐化问题在所难免。再加上对数据的成本、稳定性、安全、规范等方面的要求也越来越高。这些对数据治理的工作提出了更高的要求,需要数据治理更加体系化、标准化、自动化。过去微盟在数据治理方面也有一些实践,主要是专项治理,针对性的解决一些迫在眉睫的问题,主要依靠问题驱动治理和经验治理的方式,虽然这种治理短时间内取得了一定的成果,但仍然存在一些问题:
- 治理缺乏体系承载,缺少整体性的方案设计,没有找到问题的根本原因,在大量的治理项中难以判断优先级。
- 治理方法没有统一标准,缺少统一标准的流程管控,治理项的建设、治理流程、运营动作、治理效果等靠人为的经验判断。
- 治理效率低,治理过程中依赖的信息散落在各个系统中,在治理的过程中需要去各个模块中收集信息辅助判断,治理效率不高。
为了解决这些问题,提供一站式数据治理能力,所以设计并落地了微盟数据治理中心。
二、数据治理中心
在介绍数据治理中心之前,需要先盘点一下当前的基础设施、平台工具和具备的能力,梳理出各方治理项,进行相对应的治理数据采集,从而支撑治理项的落地。
首先,整体环境是部署在 EMR 上,包括计算资源和存储资源,基础设施层面一方面需要提供治理项需要的底层引擎数据,另一方面承担了上游数据采集的技术支撑。平台工具层面主要是提供任务、表、数据服务、血缘等元数据,并且调度系统给治理数据的流转提供调度。数据采集层则将底层引擎数据和平台工具产生的数据收集、整合和加工,此过程也会将治理数据入到数据仓库,任务定时调度上报数据到治理中心。治理中心同时和平台工具对接打通,实现平台元数据的扩展、展示和管理。我们在治理中心划分了开发规范、稳定性、计算存储成本、安全治理等几大治理项类型,用于支撑上层不同的治理应用和场景。
数据治理中心框架
数据治理体系是为了支撑制定开发规范、保障任务稳定性、降低计算存储成本和提高数据安全等各种治理活动的开展而建立的体系化、流程化的工具。数据治理中心框架则是实际数据治理规范落地的工具体现。
数据治理中心架构
数据治理中心主要面向的用户是治理对象的直接负责人,负责人从自身的视角出发,需要了解为什么要治理、治理什么、怎么治理再到治理的怎么样的一站式能力。数据治理中心需要将这几点做的更加体系化、标准化、自动化。
在我们数据治理推进的过程中,治理对象的直接负责人经常有以下问题:
- 负责人在接收到诸多治理问题后,往往无法第一时间判断治理项的重要程度,无法理清楚哪些是高优先级的治理项。
- 负责人在治理实施时,只知晓一个最终目标,比如需要将无用的表下线,却找不到下线表的标准流程。
要解决以上负责人的疑问,我们需要在治理前先进行治理目标制定、治理项分级以及治理标准流程制定。治理标准是治理中心的理论基础它定义了治理的目标、原则、流程、指导方针和优先级,具体体现为治理项的定义和口径、治理 SOP、治理项分级和健康分等。这些有助于负责人理解治理的重要性、治理标准和处理策略,确保治理工作在一致的框架下进行。为了打通整个数据治理的过程,数据治理中心设计了三个模块,包含治理数据采集、治理工作台和治理总览:
- 治理数据采集:治理数据采集模块致力于收集和管理治理所需的数据、指标和元数据。这个模块可以帮助负责人更轻松地获取所需信息,减少繁琐的查询工作,从而提高治理效率。
- 治理工作台:治理工作台模块为负责人提供了一个集中的工作平台,用于执行和跟踪治理任务。这个模块有助于负责人更好地组织和管理治理工作,确保治理动作得以有效执行。
- 治理总览:治理总览模块为负责人提供了对整个数据治理项目的高层视角。通过此模块,负责人可以了解项目的整体状态、进展情况和成效。
同时,对治理项进行分类可以帮助更好地组织和管理不同类型的治理工作,分类如下:
- 开发规范:开发规范涉及到如何规范数据处理和分析的过程,以确保数据的一致性、可重复性和代码的可维护性。
- 稳定性:关注数据处理过长的稳定性,确保在海量的数据计算过程中具备可靠性、一定的容错性。
- 计算存储治理:这一分类侧重于最大化数据处理和存储的效率,以降低成本并优化资源利用。
- 安全治理:关注数据的隐私和安全性,确保数据在存储、处理和传输过程中受到适当的保护。
治理项模型
为确保数据治理中心能承载数据平台所有的治理内容,治理项接入的模型进行了一定程度的抽象,包括治理项模型、治理项模版、治理项、治理对象和配套的运营动作。
- 治理项模型:对治理对象进行了分类,该模型可以包含各种元数据,如任务等级、任务开发组、项目组等,以及与治理项模板和治理对象之间的关联关系。
- 治理项模版:治理项模板是一个通用的规范或模式,定义了特定类型的治理项的通用属性和配置。这些模板可以被重复使用,以便在不同治理项之间保持一致性。一个治理项模板包括数据采集上报流程、限定范围、限定维度、配套的运营动作等。比如在 SLA 规范中不同的开发组、不同的任务等级可能会有不同 SLA 标准,但其中数据上报和运营动作是一致的,治理模版保证了此项治理项的一致性。
- 治理项:治理项是治理中心中的实际工作单元,它基于治理项模板并具有特定的属性和配置。每个治理项都代表了一个具体的治理任务,例如表名规范、注释规范、数据倾斜等。治理项包含了执行治理所需的信息和操作步骤。
- 治理对象:治理对象是治理项在具体数据资产、数据流程或数据操作上的体现。治理对象可以是某个具体的离线任务、实时任务、数据库表、数据文件、 API 接口等。每个治理对象都与一个治理项相关联,治理负责人对治理对象负责。
- 运营动作:配套的运营动作是指在治理项的整个生命周期中进行的操作,以确保治理任务的顺利执行和监控。这些运营动作包括:认领、处理、登记、结案、审批、白名单以及查看治理效果的报表。
治理项接入流程设计
治理项的接入包括两大部分,治理数据采集和治理项处理:
- 数据采集
- 定义需要上报到治理中心的治理项指标和信息,可能包括任务ID、任务名称、任务执行时长、任务失败率、数据倾斜程度等。
- 确定需要采集的数据来源或系统,例如执行引擎、元数据系统、调度系统等,将这部分数据通过数据集成或者接口上报的方式上报到治理中心。
- 治理项处理
- 治理中心接收上报的数据,存储到相应的数据库中。
- 不同的治理项模版走对应的数据处理流程,对治理项进行统一的数据扩充,保证数据一致性。
- 有些治理项动态配置了生效的范围或阈值,比如只对核心任务生效、任务执行时长大于1小时生效等,对原始数据进行过滤,将最终生成的治理项数据入库。
之后,用户即可在治理工作台对异常对象进行后续动作。
常见治理项
以上列举了研发规范、稳定性、计算存储和安全四大类的常见治理项。我们在研发规范上定义了一些治理项,如未正确配置上游依赖任务,平台会提示负责人遗漏的依赖关系;重复代码平台会给出多个任务之间重复的代码片段,让用户进行削减。又例如计算存储方面,平台做到了每段执行 Application 级别的信息上报,将 Application 信息关联到任务和实例,对于数据倾斜之类的计算问题治理中心会提醒用户进行代码或配置优化;对于无效任务无效存储,治理中心会提醒配置生命周期或让负责人进行下线。
治理实施流程
数据治理实施流程是我们在解决具体治理问题时,总结抽象出来的一套适用于大多数治理场景解决问题的通用标准流程,流程包含:
- 治理目标制定:与业务部门、技术团队沟通,确保明确的治理目标,如降低成本多少、任务减少计算资源占用多少、确保数据安全性满足合规要求等。
- 指标设计:定义需要测量的指标,如任务执行时长、任务倾斜程度、安全事件次数等,明确每个指标的计算方法和数据来源。
- 治理SOP:制定治理项标准作业流程,明确每个治理项的具体责任人、执行步骤和影响范围,并且检查相应的研发标准规范是否完善。
- 数据采集:识别需要采集数据的数据来源和系统,设计数据采集程序,提取和收集与指标相关的数据,确保采集的数据准确性和完整性。
- 数据上报:对采集的数据进行清洗、转换和整合,以满足治理项的需要,将处理后的数据上报到数据治理中心。
- 治理工具:如果有必要则开发对应的治理工具,问题发生的事前、事中、事后几个阶段,选择合适的平台工具来支持治理项的执行和推进。工具涉及到SQLSCAN、回归测试系统、元数据系统、数据集成工具、数据质量工具、安全性工具等,可以作为治理实施过程的抓手。
- 治理运营:通过治理项配套的运营动作,如认领、处理、登记、结案、审批以及治理效果报表等,确保治理实施按照计划执行,治理对象得到适当的处理和管理。
- 治理成果:定期生成治理项的报告和可视化结果,展示治理的成果和效果。这有助于团队和管理层了解治理进展情况,并作出相应的决策。
- 知识沉淀:将在治理过程中获得的经验、最佳实践、问题解决方案等进行沉淀和整理,以便于日后的参考和复用。这有助于建立组织内部的治理知识库,促进持续改进治理方案和学习更好的治理办法。
治理工具
在治理实施和推进的过程中,我们也总结归纳并沉淀了一些可视化看板和治理运营工具,确保整个治理过程可观测可控制。治理大盘, 包括:治理总览、治理项汇总、治理进度、治理项成果。
运营工具, 包括治理工作台,处罚公示,以及和健康分配套的总览看板和负责人明细看板。
三、总结与展望
数据治理中心在微盟的数据治理实践中扮演了重要的角色,通过设计和落地数据治理中心,微盟在解决数据腐化、开发规范、计算效率、成本、安全性等方面取得了显著的进展。从专项治理模式转变为整体数据治理体系,建立了一套体系化、标准化的治理框架。定义了治理标准、治理SOP、治理等级等,确保治理工作在一致的框架下进行,使治理方法更加统一和规范。
展望未来,我们将继续优化治理流程,让治理过程更加自动化和智能化,如治理SOP流程更加自动化,减少额外的系统跳转和人工信息收集,来提高数据治理的效率;数据系统更加智能化,将治理理念融合到平台工具中,让事后的治理工作在事前事中就得到预防或解决。数据治理是一个持续的过程,未来可以建立更强大的知识沉淀机制,定期回顾治理的成果和效果,持续改进治理标准、流程和方法。在公司内部建立起更强的数据治理文化,让所有涉及数据的人员都能意识到数据的重要性,积极参与到数据治理的实践中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。