关于后端:淘系数据模型治理最佳实践

42次阅读

共计 4012 个字符,预计需要花费 11 分钟才能阅读完成。

简介:本次分享题目为淘系数据模型治理,次要介绍过来一年淘系数据治理工作的一些总结。导读:本次分享题目为淘系数据模型治理,次要介绍过来一年淘系数据治理工作的一些总结。具体将围绕以下 4 局部开展模型背景 & 问题 2 问题剖析 3 治理计划 4 将来布局▌模型背景 & 问题 1. 整体状况首先介绍一下淘系的整体数据背景。

淘系的数据中台成立至今已有 7 年左右,始终未作数据治理,整体数据生成形成比为:人工创立(22%)+ 机器生成 78%。其中沉闷数据占比:9%,不标准数据占比:21%。数据沉闷以倒三角形状散布,整体散布比例为 ads:dws:dwd:dim=8:2:1:1,散布还算正当。上图中下半局部是模型的生命周期,增长和留存状况。淘系的业务还属于疾速变动中,模型变动比拟快。模型生命周期为 25 个月,模型年增长比例 30%,模型留存 44%。2. 公共层

公共层两大外围问题为:首先,公共层表复用性不高。在 2014 年的时候公共层还比拟标准,但可持续性不强。随着工夫流逝,业务增长和变动,复用性就逐年升高。因为大部分的数据是应用层做的,他们会开发本人的公共层,复用性升高,大部分都是有效表。另外,公共数据表在各个团队散布不合理。这是因为数据团队多,为了满足业务开发效率,每个团队都有本人的公共表,容易呈现公共表复用占比低,反复建设的场景。其中淘宝数据团队负责最多的公共数据表。3. 应用层剖析

应用层的次要问题包含:第一,公共层建设有余或公共层透出有余。随着工夫增长,公共层的指标不能满足 ads 层的业务须要,ads 复用指标逻辑没有上层,援用 cdm 层的 ads 表占比逐年升高,援用 ads 的 ads 表占比逐年增高。第二,较多的 ads 表共性逻辑未下沉,统计显示超过 17.63%ads 表被上游 ads 复用。第三,跨集市依赖重大,统计显示,整体跨集市依赖占比为 30%,特地是大进口和淘宝数据跨集市依赖达到了 40%,影响模型的稳定性,影响了模型的下线、批改。▌问题剖析 1. 问题汇总

以上这副图是简化后的数据模型,咱们能够发现存在很多不标准问题影响了模型的稳定性。业务在疾速倒退的状况下,为了疾速响应业务需要,产生模型问题是必然的。日常工作中,数据研发流程大抵如下,接到业务需要,间接援用 ODS 层表开发 ADS 数据,待数据须要复用的时候就把逻辑积淀到公共层,同理指标也会有相似状况。次要问题能够演绎为七点:零碎长期表多,只增不删,对于生产侧影响较大,因为表量微小,无效比例低,很难检索到;命名不标准;公共层适度设计;ADS 反复建设;ADS 跨集市依赖;ADS 共性未下沉;ADS 穿透依赖 ODS。2. 起因剖析

从问题分类上看,次要有三大类问题:规范性问题,公共层复用性问题和应用层复用性问题。从问题起因上看,次要有四大类起因:架构标准,流程机制,产品工具,以及研发能力。3. 模型治理的问题

模型治理的挑战:业务价值不显著,治理带来的是长期价值,短期对业务影响不大。治理合作简单,治理须要 ODS、CDM、ADS 层多人多团队合作问题治理难根治,容易呈现新模型依赖有问题模型模型均匀生命周期不长(25 个月)综上所述,模型治理的 ROI 比拟低,咱们的问题就是如何模型治理才最高效?▌治理计划 1. 整体计划基于以上的问题起因剖析,咱们制订了如下治理计划。

外围策略为以下三点:1:盘点存量,把握数据的整体状况 2:标准增量,防止新增模型走老路,反复呈现雷同问题,思考到数据的生命周期,历史数据能够先不论。3:日常治理保衰弱,以数据化驱动长期治理 2. 机制标准架构分层规范

今年咱们关注的是数据视角,往年关注的是业务视角,业务视角外围诉求次要有四点,交付效率、产出时效、品质牢靠、老本可控。过来 OneData 定义了每一层的作用,但每个档次的分工定位不清晰,针对这些问题从新做了清晰的定义。应用层外围是专一反对业务,须要思考研发效率、交付数据口径一致性和稳定性。通过集市标准来管制复杂度,通过轻度聚合的中间层确保口径对立,通过扁平化设计确保稳固。公共层的外围是形象复用来晋升效率,须要思考易用性和稳定性。通过标准和冗余宽表晋升复用性,通过解耦来确保稳定性。ODS 层的外围是合规高效,须要思考接入效率和性能稳固。通过工具化晋升效率、优化治理确保性能的稳固。特地是在数据达到一定量之后要思考采纳 merge 的形式接入数据。集市划分标准

数据集市,是用来满足特定部门或者用户的需要,依照多维的形式进行存储。通过对类似数据业务场景内聚进行形象分类,以升高 ADS 层反复建设和数据管理复杂度,让利用研发更聚焦更高效。集市划分的准则有以下两点:准则一:以业务场景或者服务对象作为划分准则,对类似数据业务场景内聚形象进行分类。准则二:集市划分须要统一标准,尽量合乎 MECE 准则。公共层共建机制

在建设公共层的建设过程中,咱们通常会遇到以下两个痛点:利用研发的痛点:公共层相应效率低。公共层研发的痛点:如果对立承接开发工作,波及的业务很宽泛,研发资源有余。为了解决以上两个痛点,咱们通过以下外围准则来解决:准则一:公共层凋谢共建,预先审计治理利用开发整顿需要,把须要下沉的公共维度提给公共层研发,公共开发需要评估。准则二:以利用需要驱动,设计开发共建 以需要为驱动,拆分出外围模型和非核心模型,外围模型公共研发负责,非核心模型由业务开发进行,共同开发以提高效率。准则三:公共层研发对立运维保障非核心模型上线并实现相干测试(准确性、确定性、治理)后转交给公共层研发,由公共层对立运维。3. 智能建模在数据治理中有数据标准与共建机制仍然是不够的,还须要联合自动化工具来晋升效率、保障标准。咱们是从以下 4 个方面动手的(详情能够体验 DataWorks 的产品):数据体系目录结构化模型设计线上化买通研发流程(自动化生成简代码)对接地图数据专辑 数据目录体系结构化造成数据体系目录有利于理解把握数据,分门别类的形式升高了大家的应用老本。首先要对表命名做一些管控,咱们做了可视化的表命名检测器,来确保规范性。另外,淘系不是一个单空间的数据体系,因而要解决跨多个空间的简单数据体系的对立建模问题。

模型设计线上化扭转模型设计形式,由线下设计迁徙到线上,通过一些自动化工具,晋升效率,保障标准。

买通研发流程(自动化生成简代码)模型迁徙到线上后,买通研发流程主动生成简代码,生成代码框架,建表语句,显著进步了研发效率。

 

对接地图数据专辑造成相应的地图数据专辑,不便其余用户应用数据。

4. 模型治理打分模型

模型治理须要量化,如果没有量化全靠专家教训效率是非常低的,咱们通过模型的指标造成到表级别的模型分。通过多维度对模型进行打分。打分机制

精细化的打分机制,针对团队、数据域、外围进行打分,造成相应的标签。整体流程

以数据驱动,上图右边,以模型评估数据为出发点,通过各个维度对模型进行评估,失去各个域、各个团队的评分,造成相应的问题标签。以产品驱动,上图左边,通过专家教训判断新上线模型降级搜寻权限、下线模型降权限,让业务迅速感知数据变动,疏导业务。▌将来布局应用层效率在整个数据体系中,应用层的数据体量是最大的,投入了大量的人力。OneData 短少对应用层的数据建设领导,集市高度耦合,给运维效率带来了不少问题,如跨集市依赖、依赖深度的问题。过来都是以业务为主导,为了保障研发效率放弃了局部研发标准,当前要欠缺应用层的研发标准,同时通过工具做好研发效率与标准的均衡。架构标准管控基于分层规范落地,对研发过程标准欠缺,包含对设计、开发、运维、变更、治理等标准进行细化。目前外围是表命名标准,对依赖标准、代码标准、运维标准等管控能力尚有余。产品工具提效将持续与 Dataworks 共建。应用层智能建模能力还不能满足研发效率要求,因而会持续性能提效;数据测试性能集成;数据运维性能降级;事中数据治理能力构建(开发助手);预先治理能力提效(批量删除、被动推送优化等 );数据地图,找数用数提效。▌问答环节 1:外围公共层的建设是自顶向下还是自底向上?采纳的是两者相结合的形式。以需要为驱动,没有需要就会导致过渡设计,在应用层有复用之后再下沉到公共层,这是自顶向下的。在公共层设计阶段是面向业务过程的,这时是自底向上的。2:多 BU 公共层是否须要对立标准?怎么去做?怎么量化价值?须要做对立的标准,标准利于数据流通,能力体现数据价值。然而具体怎么标准须要具体去看,如电商、本地生存,业务和指标不一样,很难做到对立的标准。3:怎么判断指标须要下沉到公共层?公共层的开发是须要老本的,是否须要下沉到公共层外围是看是否须要复用,能够从两个方面动手。专家教训判断:如电商交易环节数据,这类数据是外围数据,是要建设到公共层的。预先判断:如玩法之类的业务稳定性不强,那一开始不须要下沉到公共层,防止适度设计,预先再去判断是否须要下沉。4:对于表、字段的命名标准,是否须要先定义好词根再开发?须要离开看。对于公共层设计到的业务过程是无限的,对于公共局部要先定义好再开发。对于应用层,维度采纳的是总建架构所以还须要先定义,对于指标特地是派生指标是多的,不倡议先定义在开发。5:如何解决口径统一命名不统一,或者口径不统一或者命名统一的场景。模型是演变的。对于应用层,80% 都是自定义的,第一次呈现的时候都是不规范的,这部分如果采纳先定义后开发的形式,效率是很低的,只有在下沉到公共层的时候才可能管控。对于公共层,能做的是保障外围指标 90% 的标准与定义对立,剩下的那局部也无奈保障。6:跨集市依赖下沉到公共层的必要性?短期来看,是没影响的,新增效率高。长期来会给数据的运维、治理带来很多影响,在数据下线、变更、治理过程中不得不思考到上游依赖,会影响全流程的开发效率。原文链接:https://click.aliyun.com/m/10… 本文为阿里云原创内容,未经容许不得转载。

正文完
 0