​网易数帆数据治理演进

导读:本文将分享网易数帆数据治理的发展过程,以及对现代数据治理的概念和理念的理解,提出现代数据治理应该与数据开发和消费很好地衔接,具备开发治理一体化、形成治理的闭环、仓内仓外统一治理和建立数据资产门户等核心特点。

文章将从以下四个方面展开:


分享嘉宾|余利华 网易数帆 大数据产品线总经理

编辑整理|许友昌 每日互动

出品社区|DataFun


01

网易数帆大数据简介

首先简单介绍一下网易数帆大数据产品体系的发展过程。

网易大数据团队最早致力于分布式数据库、分布式文件系统和分布式搜索引擎。2009年开始基于 Hadoop 做数据分析和运维。2014 年大数据平台上线,并开始BI的产品化。2017 年正式对外做商业化的探索。在2018 年的时候,随着业务的发展,网易使用数据面临了很多的问题,所以开始建设数据中台, 发布了数据中台的解决方案。2020 年通过网易数帆品牌正式提出了数据生产力的概念,提出不仅仅要建设数据中台,还要建设数据中台上的数据产品,提倡“人人用数据”的理念。2022 年数据治理 2.0 产品正式发布。

到目前网易数帆形成了一个相对全栈的大数据产品体系,分为四层:

--

02

统建中台:先设计后开发

网易数帆数据治理发展过程的第一个阶段为统建中台,先设计后开发。

当时的背景是网易的互联网业务在 2018 年的时候发展比较快,面临了很多的数据问题。以网易考拉海购为例,当时交易和主站供应链以及各个团队分别建设了自己的数据仓库,这样就造成烟囱式的开发,带来了很多的问题。

在这种情况下,我们分析了原因,为什么数据研发的速度会慢?查询的效率会低?我们做了一些数据的分析,结果发现有超过 50% 的任务,是在直接读取原始数据, 也就是 ODS 层的数据,并且有 30% 的 Ad-hoc 查询命中原始数据,原始数据加明细数据的查询比例高达 60%,另外超过 40% 的表都没有分层,这些其实都是烟囱式建设带来的问题。各个业务线都是从 ODS 层开始拉数据来建设,没有形成很好的数据公共层,数据复用程度不足。结果导致需求响应非常慢,查询效率特别低下,规范也特别不好,整体就是数据不好用。

我们提出的解决方案是先设计后开发,其实就是建中台。主要分为指标定义、模型定义、数据开发三个步骤。

指标代表的是数据中台的需求层面,所以要从指标开始抓起,就是从源头开始抓起,只有源头的需求明确,设计才能清晰,产出的数据才能好用。所以我们引入了数据中台指标定义的方法论,建设了指标系统产品,系统地梳理了我们的指标,包括原子指标、派生指标,并且给这些指标划分了数据域和业务过程。完成指标梳理之后,当年考拉电商的指标数目下降了一半左右。这里原子指标与派生指标的区别在于,原子指标是带口径的,派生指标不带口径。所以数据团队的核心,就是要管控好原子指标,这样就会避免指标口径不一致的问题。

有了指标定义之后,就进入到模型设计的层面。我们引入了维度建模的方法。并且打造了自己的一个模型设计中心的产品, 把维度建模的理论落地进去。当时为了推进模型的规范化、标准化,我们甚至把 ODS 层的数据都给收回了, 这样强制大家要去用公共数据,发现公共数据不足的时候给我们提需求,以这样的方式来推动数据建设。

建好指标、建好模型之后,就是数据开发过程。在建设数据中台或者说在重构我们的数仓之前,我们首先要思考,如何衡量模型建得好不好?数据中台建设得完不完善?我们提出了模型设计的度量标准,主要从三个方面来考虑:

通过模型的重构,数据中台的建设,取得了显著成果,跨层引用率从 30% 下降到了10% 以下,模型的复用度从 2.4% 提升到了 9.6%,在这个过程中下线了 3.4 万个模型。通过这样的中台建设,我们的模型更加优化,使得我们的交付速度和查询的性能也得到了显著提升。这就是第一阶段,建设了数据中台,先设计后开发,把模型的问题解决了。但是并没有解决所有的问题,后面又出现了各种各样其他的问题,下一阶段我们主要是针对出现的问题见招拆招。

--

03

见招拆招:运动式治理

1. 成本问题

在见招拆招的过程中,首先是成本问题,表现在三个方面:

针对这些问题,我们需要更精细的成本管理。

我们的解决方案是建设一个数据资产中心。

整体效果比较理想,当年累计下线数据达到 69P,云音乐、严选分别优化了 47.6% 和 61.0% 的表,也节省了 38% 的计算资源。

2. 质量问题

第二个严重的问题是质量问题,平均每周会有 10 个数据质量问题在群里被反馈,更糟糕的是其中 90% 的问题是由业务方发现的。还有一些非常严重的缺陷甚至会导致资损,比如曾有一次事故就是因为某个任务节点配置的问题,导致把老客户当成了新客户,造成了 30W 的营销资源损失,造成了 P1 的事故。

我们对于数据质量问题的解决方案是早发现、早恢复。

一个典型的案例,有个数据研发收到了报警说基线要破线了,在群里问是不是有人改了依赖?另外一个人就去看,确认问题,马上就把问题解决了,避免了事故。这就是基线预警的效果。

3. 安全问题

我们也曾经踩了很多安全方面的坑。比如曾经某数据开发建一个数据库,把数据库的根目录指定在了整个数仓的根目录上,然后他把整个数仓都给干掉了,更糟糕的是 HDFS 的回收站是有缺陷的,删除文件过多的话,就不会进到回收站。即使调用 HDFS delete API 直接删除,系统也会绕开回收站,这就导致了当年一次很大的删库事故,幸好我们当时马上把 NameNode 上面的镜像 Download 下来,把 NameNode 给停掉,把数据恢复出来。

其他的安全问题,还有权限粒度不够精细、权限审批不方便等,有时不知道如何给予授权,不知道由谁来审批,不知道是否应该授权。

针对以上问题我们也做了各种的应对能力,比如设置了公共的回收站,改造 HDFS 回收站,使得删掉数据一定能进回收站;实现了目录冻结,比如数仓的根目录不能删除;备份恢复,数据备份到其他集群,即使整个集群出问题,也不会造成数据丢失;实现了行级的权限、队列的权限,实现了标签的权限控制,也实现了自定义的审批流程, 比如每个部门每种级别的数据可以制定自定义的审批流程。

以上就是我们在成本、质量、安全方面的工作,遇到问题解决问题。虽然我们总能见招拆招,但是总觉得有填不完的坑,那怎么办呢?为什么会这样?我们也一直在思考这个问题。

--

04

治理体系:现代数据治理

传统的大数据治理分为三个过程,首先是开发,产生数据资产;然后消费数据资产,产生价值;治理在中间,想方设法让我们的数据资产质量更好、更安全,更容易被使用。这是数据治理的目标,但是这样的模式存在一些问题:

从根本上来讲,数据治理之所以会产生源源不断的问题,是由于我们的数据治理是个旁路的系统,在开发和消费的边上,它既不深入到上游数据开发的环节,和下游数据消费的环节也是脱节的。所以我认为数据治理应该拓展它的范围,要与数据开发和消费很好地衔接在一起,这就是现代数据治理,特点总结如下:

要符合这四个特点才能把数据治理真正落地,下面展开介绍。

数据开发治理一体化,核心是在事前解决质量和安全的问题,将数据治理融入到数据开发的体系中,整个开发的过程就会变成:

如何真正的使得开发治理一体化落地呢?我们建设了数据标准产品,并与其他子产品做联动、关联,才能确保数据治理能落在数据研发的全生命周期里面,能够紧密结合起来。比如数据标准要和数据质量结合,数据质量就会自动的去开启关于某个字段或者关于某个表的稽核规则;标准要与数据传输去做很好的联动,从数据源到目的地会做自动的表的映射、字段的映射、表数据字典、枚举值的映射。然后数据标准也需要跟模型设计去做关联,这样字段和表的命名就能标准,并且数据目录分类也会标准。标准还要跟数据安全中心去关联,安全中心就会自动得到安全等级是什么,其加密和脱敏的规则是什么,安全审批的流程是什么样,更高等级的数据通常需要更高、更复杂的审批流程。数据标准还可以跟离线开发结合,利用一些 SQL 模板自动做一些 ETL 任务的生成。通过这样一个紧密的关联才能实现研发和治理的一体化。

第二是治理要形成闭环。形成闭环主要包含三个方面的内容,首先是发现问题,也就是我们希望通过多维度健康度的评估,去发现数据中的问题。第二是有了问题之后还得有解决方案,我们通常配了一些专题的优化工具,比如推荐下线、生命周期管理、任务优化等。有了解决方案之后,还得有运营的手段, 比如我们有治理的红黑榜,甚至跟考核或是资源申请挂钩。

量化衡量数据资产的分数,我们通常从安全、成本、价值、质量、标准等维度去给资产评分,用户登录到我们的系统,就可以看到某个资产的评分、自己的评分、组织的评分。我们会给评分打一些排行榜,如果用户发现评分有点低,可以具体点进去看到哪里做得不好,比如可能发现自己有一张表,30 天内都没有人访问,那这个时候他可以使用我们产品提供的自助灰度下线的功能,去做一个优化。由此我们能够对数据资产进行全局的衡量。

持续运营还需要有流程,很多公司里面有数据治理的部门,治理部门会给每个数据设上正确的 Owner,一旦数据消费者发现数据有问题,就会依据这个在我们的产品里发起一个数据治理申请的工单,数据治理部门收到工单之后就会在一定的时间内响应,当然他不一定要亲自动手来干这个事情,他会依据公司的相关政策,把工单派给各个业务部门数据治理的专员,让他们去解决问题。通过这样的流程能保证我们的数据质量一直在提升,不会一直腐化下去,数据有问题能得到很好的修正,让用户拥有比较好的体验。

持续运营还包括文化的建设,我们在网易内部每年都要组织数据分析大赛、数据治理大赛。数据治理大赛看起来比较抽象,但每年都有超过 20 个团队来参加,我们选择其中比较优秀的评奖,并在公司发全员邮件进行表彰,也会做可视化的大赛等等。我们也提供了一些培训,数据开发工程师、数据分析工程师的资格认证培训。我们有些业务部门要求我们给他的员工先出个证,要是没有这个证是不允许去线上操作的。在组织方面也可以建设数据治理部门,也可以在业务部门配置数据治理专员,这样才能更好地把数据治理落地。

在仓里仓外数据统一治理方面,我们自己实现了一个逻辑数据湖统一治理的方案,通过元数据注册、扫描、采集、元数据发布,把一些仓外的表,比如 Oracle 的表,MySQL 的表能够映射为我们平台内的一个模型,然后把这个模型关联到不同数据源的物理表。在此之上我们建立了统一开发和统一治理的流程,使得仓里仓外能够统一治理。

在数据资产消费方面我们提供了一站式的数据消费平台。通过这样的消费平台,业务人员可以在数据资产门户上看到企业到底有哪些数据、哪些报表、哪些资产,很方便地去申请权限,无缝的在上面跳转到 BI、自助取数,或是其它各种消费数据的地方。管理员也可以根据资产的访问情况进行运营。管理数据就像管理商品一样,如果是不好的数据就应该给予下线,好的则应该给予更好的展示位。

最后总结一下,我理解中的现代数据治理的主要思想:

首先是研发治理一体化, 防患于未然,保证数据出厂质量。

第二点是成果可以衡量,形成治理改进的闭环。

第三是关注数据的消费,毕竟数据治理的目标是为了数据的消费,发挥数据的价值,所以必须关注数据的消费。

--

05

问答环节

Q1:在网易内部是什么团队统一制定数据标准、指标标准是业务还是数据治理团队?

A1:网易是事业部制,内部每个业务之间相对比较独立,事业部各自负责各自的标准制定,通常事业部也会有自己的数据部门和他内部的业务部门。我们的外部客户里面,比如说我们接触到很多金融行业的客户,是有专门的数据治理部门,数据治理部门的来制定、牵头制定相关的标准、数据发布审核,需要每个业务部门出数据治理的专员负责治理的落地, 数据团队则负责提供数据,修复数据和元数据问题。

Q2:治理基线可以大致介绍一下吗?是通过试运行实现治理任务基础基准的吗?

A2:基线可以理解为一组相互依赖的,需要统一管理的任务,这组任务有一定的 SLA。基线可以方便管理, 我们可以为基线设定一个预期产出时间,并配置一个值班表, 每天预测基线预期产出时间, 一旦预测要破线风险,可及时告警到当天的值班人员。基线是很多任务组成,任务相互依赖形成一个复杂的图状结构,那根据任务的运行历史以及当次的运行情况,是可以预测到基线未来的产出时间是不是破线, 如果是破线的话就可以提前来进行告警,使得我们能够有充足的时间能够处理,避免事故发生。

Q3:目前可以实现落标对标的功能吗?

A3:我不知道是不是指一些行业的标准或者企业的标准如何去落地,传统上我们做数据标准其实是一件很难的事情,比如证券行业,我们理解原来就有很多数据标准了,但是些标准通常是落在纸面上, 就是说有规定这个标准是什么样子的。我觉得落标的核心,还是把标准以产品化的形式来承载,把这个标准贯穿到我们事前事后的整个过程,在数据研发过程中确保产出的数据就是符合标准的,事后我们也可以拿到这个标准, 拿原数据扫描的结果去比对,看看是不是符合标准,然后根据治理的闭环再去治理。所以我认为第一个是落在产品上,第二个是跟其他研发环节做关联,跟治理环节全链路做关联,这样才能很好地落地。

今天的分享就到这里,谢谢大家。


|分享嘉宾|

余利华

网易数帆 大数据产品线总经理

专注数据方向十多年, 完整经历了网易大数据整个发展过程,目前负责网易有数业务。


|DataFun新媒体矩阵|


|关于DataFun|

专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100+线下和100+线上沙龙、论坛及峰会,已邀请超过2000位专家和学者参与分享。其公众号 DataFunTalk 累计生产原创文章800+,百万+阅读,15万+精准粉丝。

展开阅读全文

页面更新:2024-04-26

标签:网易   基线   数据   模型   指标   资产   质量   业务   标准   产品

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top