本文作者:蚂蚁集团数据专家,允恭。本文来自OceanBase 开发者大会中的演讲总结。
在数据治理的专业范畴中,存在着很多复杂的概念。对于蚂蚁集团,我们在大数据治理的实践上,尤为重视那些对企业日常运营至关紧张的几个方面,这些方面颠末提炼,可归结为五大核心要素:合规、安全、质量、架构、价值。
起首,要保证数据在业务上是可以流转起来,可用的。包罗两点,第一要符合用户隐私等法律监管,保障数据是合规的。第二是保证数据在各个环境上的存储、流转和使用上的都是安全的。
其次,我们交付给业务的数据不能错,不能漏,不能延迟,这属于数据质量的范畴,办理让业务敢用数据的问题。
再次,整个大数据范畴有非常多的人进行协同开发,我们希望数据产出之后是有序的,既是复用又是好用的,必要重点做好数据架构规划与治理,包括数据模型计划、标准规范和主数据等。
最后,数据是一个闭环生态,从拿到数据到再加工,然后赋能业务,希望整个过程是可持续的。在可持续过程中,必要有数据价值表现,这里的价值分成两类,一类是负向价值成本,包括数据运转过程中的计算、存储和数据资产带来的呆板资源成本;另一类是正向业务价值,包罗数据被使用、消费,以及过程中发挥的价值,乃至产生更好的效果、更大的价值。
今天时间有限,选两个命题分享,数据质量治理和数据计存治理的具体实践和履历。
一. 数据质量治理
说到具体怎么保障大数据的数据质量,起首得看数据质量是怎么产生的。
面向蚂蚁有很多数据来源,不管是举动日记,还是系统服务端收集的数据,这里数据范例包罗 DB 类、log 类的数据,还有一类是消息类数据,通过一系列工具会落地到蚂蚁的一站式大数据工作台里面,颠末批流处理、分析洞察、决策服务。在这个过程中,数据从业务中来,同时颠末大数据平台加工,最后数据又回到了业务中去。此中涉及到非常多的工具引擎,整个数据流转也是很复杂的,任何一个环节、任何操纵都可能产生数据质量的问题,最后业务感知的问题就是数据错了、漏了、延迟了。
1. 数据质量治理挑衅
起首看蚂蚁整个业务形态,第一部分是各人比较有感知的C端用户产品,包括芝麻分、蚂蚁森林、花呗、借呗;第二部分是面向机构、监管的业务,包括机构整理、计息计提等,这些业务必要用大量技能、数据加算法去融汇,寻求价值最大化。在金融业务苛刻性要求下,做好团体数据质量的保障,面对着以下诸多挑衅。
业务方面,蚂蚁业务发展非常快,所以变动很多,任何一次变动出错,都可能影响很大。业务上不管是寻求用户体验,还是智能化对数据时效要求,对数据产出时效都有很高的要求。
数据方面,大部分是金融业务,对整个数据质量的容错要求非常高。
用户方面,整条链路上有很多范例的角色到场研发,比如BI、技能同学、数据同学,还有大量产品、运营,此中每个人的根本认知不一样,专业技能水平也不一样,这就会导致很多人为的操纵带来风险。
在这个过程中可以看到一个数字,现在蚂蚁日均大数据任务变动是4000+以上,每天至少在大数据平台上有100万调度实例,数据服务在线的消费场景大概有4万多个。一句话总结,数据质量已经成为了蚂蚁业务发展的基石和驱动器之一。
2. 金融级数据质量顶层计划
在这么复杂的挑衅下,单点办理问题是很难保障的,我们必要有一个良好的顶层计划去办理这些问题。我们将此中的风险分成三类,第一是数据技能引擎风险,第二是数据内容自己风险,第三是数据应用风险。
具体落地的核心思绪是什么呢?
起首,保障目的重点聚焦保障高可用和资金安全的业务场景。在保障过程中,事前要做研发质量保障,包罗测试、仿真等工作;事中要重点办理变动风险管控;事后出现问题的时间,要确保生产运行是高可用的,必要重点建设主动发现和快速恢复的能力。别的,我们还创建了数据和技能的团结蓝军,对保障体系做攻击,驱动结果验证和布防。
3. 金融级数据质量技能目的
围绕团体的顶层计划思绪,面向金融级的数据质量,我们提了比较明白的目的:出现故障时,5分钟故障能发现,50分钟能恢复执行。在真正执行的时间,核心策略是从事前、事中、事后,建设数据端到端核心保障能力。
事前,任务研发过程中,必要具备可测试、可仿真、可联调的能力。在研发阶段必要重点建设测试、比对、冒烟等能力,预发阶段建设应用->数仓链路联调的能力。
事中,必要进行业务SLA全链路配置,具备可灰度、可查对、可分级的能力。生产发布阶段围绕收罗、处理、服务应用数据全生命周期,把灰度、主动查对配置等能力植入各个环节。
事后,重点是故障发现和故障恢复,必要具备可演练、可发现、可重跑的能力。主动发现重点建设一键故障定位、全链路数据查对等能力,快速恢复重点做分级恢复、区间恢复和旁路恢复。同时通过组织、文化、运营、流程让整个体系能够持续迭代和见效。
4. 蚂蚁数据质量治理架构
围绕技能目的,具体在能力建设过程中分成三层。
能力层,包罗质量管控、质量识别、故障恢复和风险治理能力。我们还创建了统一质量元数据中心,联合大规模呆板学习算法,实行探索智能化的颠簸异常、离散异动等风险点识别。
系统层,围绕数据测试、发布管控、变动管理、质量监控、应急演练、质量治理,重点建设6大产品能力。
业务层,会把产品能力开放给业务数据质量团队,资助他们建业务数据质量门户,包罗应用分级管控研发流程和全链路质量监控的运维平台。同时,横向也会建设组织文化和制度规范,组织文化包罗数据攻防、质量审计、保障小组等,做到全局高效拉通;制度规范包罗质量保障规范、基线管理手册、发布变动手册等,形玉成局的制度规范。
在整个实施落地过程中,重点会以资损量、故障数为核心目的抓手,发现保障体系里面的问题,驱动整个体系持续迭代优化。
5. 数据质量治理案例
在这个架构之下,围绕团体保障思绪,介绍两个案例,一个案例是数据变动免疫,我们具体怎么做的。第二个是数据攻防演练,这是我们创新模式的探索,实施过程中也获得比较好的效果。
案例一:数据变动免疫。 在整个数据变动风险范畴,我们的核心目的是希望让错误代码不发布生产。
事前,构建变动准入防线,变动必须满足三板斧、发布窗口等风险底线要求,这些风险底线的要求,会植入到整个变动准入的防线里面。
事中,构建变动灰度防线,用真实流量去预演。在变动见效之前,我们能用真实流程去预演验证,在生产上逐步见效,更充分的提前发现问题。
事后,重点是变动监控,变动见效之后,我们能够持续监控变动的业务变化,有问题及时发现并做恢复。
我们围绕变动事中,在任务发布环节沉淀了非常多的规则,现在的效果是高风险校验规则整年校验6000万次,高风险拦截规则整年累计大概600万次,上线后当年变动类的故障下降约90%,提前发现并规避了很多潜伏故障。
案例二:红蓝攻防。
数据红蓝攻防的核心思绪是,通过故障注入对生产运行链路进行模拟攻击,发现防控体系的薄缺点。
具体做法,我们把数仓体系分成很多层,我们会把攻击的数仓链路构建一个旁路环境,对任务和数据结果进行攻击,这里面包括对任务攻击和数据攻击两种方法。
在做数据红蓝攻防的过程中,核心必要办理的3个问题:
- 我们如何不影响生产?
- 如何选择攻击对象?
- 如何进行有用的攻击?
不影响生产我们核心通过构建仿真无损的环境,进行无差别的攻击。选择攻击对象我们重点选择数据入口和出口环节,同时有资损和舆情的场景进行攻击。
在有用攻击上,我们确保所有攻击手段要能资助业务发现有用生产风险,核心是通过汗青故障分析和平移,再加上重大业务变动预演。别的在核心攻击能力上,构建了SQL注入能力,包罗比较多的方法,比如数据大幅颠簸、内容格式异常、资金错位攻击;还有节点注入,包括任务重复回流,重复重跑等。
围绕红蓝攻防,我们在蚂蚁一连组织了四年公司级别的红蓝攻防,主动化攻击次数已经到达40万+次,推动数据质量查对规则和配置超过50万+条,发现了非常多的潜伏问题。
二. 数据计存治理(成本)
接下来聊一聊计存治理具体做了哪些事。
这是19年蚂蚁离线集群的存储使用率的曲线图,我们知道85%是存储的安全水位线,从图中可以看到后半年全部是在85%以上,整个集群物理容量规模是EB级存储,物理表有300万+,到场数据开发职员大概有3000+。
1. 数据计存治理核心思绪
核心从组织计划、规范制定和平台建设三个方面去落地,执行的时间通过战役拉动,支撑业务同时进行资产升级,通过运营活动,资助做成本规范传播和文化建设。
在组织计划层面,创建了数据架构小组,从架构域维度统筹整个公司的数据架构和成本治理工作。我们也设立了整个数据管理岗位和晋升通道,制定了研发协作机制和流程。
在规范制定层面,我们产出了蚂蚁数据架构规范、研发管理规范和数据治理管控规则。
平台建设分两方面,一个是研发侧,正向提升研发质量和管控资产的无序增长。另一个是治理侧,会搭建平台化的治理工具能力,形成一套主动化的治理机制。
2. 数据计存治理策略
在具体落地的时间,核心思绪是开源和节流。蚂蚁数仓原来的资源都是独享的,而且资源需求非常大,第一个思绪是资源能不能跟在线数据(雷同数据库资源)做一些计算资源共享;第二个是节流,数仓内部从任务和数据角度尽可能优化、节约。
3. 面向开源
面向开源的时间,我们具体做了什么事?
第一,数据计存治理技能方案。
前整个数仓只有杭州专用的集群,我们希望把整个数仓体系用上深圳、上海的集群,这样既能提升整个资源的利用率,又能保障稳固性。在这个架构下有两个问题必要办理:
- 第一,数仓一旦跟在线资源做混部,怎么能确保它在一些高峰期不受在线资源抢占,保证数仓高保业务的稳固运行。
- 第二,因为原来引擎是存储计算一体,数仓有大量的数据交互,一旦跨城,会大量访问带来的网络开销,会直接影响数仓的正常运行。
我们核心做了三件事:
- 所有数仓应用层的数据访问,统一收敛到数据中间层。
- 对中间层里面的热数据做跨层冗余。
- 对于高保业务给予独占资源,跟在线资源做隔离,防止挤占。
第二,数据迁移混部方案。
在这个混部架构下,遇到了一个问题:存量数据任务是开放读取,存在大量跨城访问,怎么才气无风险的迁移到混部集群。 我们制定了一套完备的迁移混部方案。
事前做项目规划,进行迁移评估,对整个业务项目、资源使用做评估,产出迁移的列表。
事中做迁移改造,包罗要摆设迁移列表的巡检治理规则、进行代码改造和架构升级、摆设发布管控规则制止热表跨集群拷贝带来集群风险。
事后做日常巡检和持续优化,包罗对跨城任务持续监控,不合理的代码要做改造,对热表要做集群缓存,减少网络带宽带来的集群负载。
第三,数据迁移混部管控与治理方案。
当我们把数仓搬到混部集群,和在线集群资源混在一起用的时间,我们发现数仓增长了50%的可用弹性计算资源,数仓任务均匀等候时长低落了50%。同时看到别的一个效果,不仅数仓有更多的资源用,在线CPU资源利用率从25%提升到40%,从全局资源利用率也提升非常多。
4. 面向节流
4.1 数据计存治理关键技能方案
别的一个是面向节流,蚂蚁在大数据成本治理沉淀了非常多的技能方案,接下来从引擎优化、模型优化、代码优化和资产管理优化几个方面做简朴介绍。
引擎优化方面,包括参数和调度调优。参数层面包括Split Size、小文件归并、Reducer instantce等;调度层面会做一些HPO优化,加上冷热分层。
模型优化方面,数仓会抽象公共层,通用应用层,大宽表计划,让卑鄙更多复用;代码计划包括全量收罗改成增量收罗;还有渐进计算,hash cluster等计划;数据格式包括存储归档、cube预计算等。
代码优化方面,包括join优化、数据倾斜优化、UDF优化、聚合优化。
资产管理优化方面,围绕数据生命周期管理,包罗临时表、垃圾回收站优化、全表扫描,分区裁剪等。
以上的核心思绪就是用技能方法实现主动识别、归因分析,形成常态化治理能力。
接下来重点讲3个数据计存治理计算优化案例,可以用非常小的成本带来较大的治理收益。
4.2 数据计存治理案例
案例一:计算优化—渐进计算
通常用于数据跨分区进行固定窗口或者滑动窗口计算的场景。
我们经常会有一些分析指标叫财年累计,从1月1日到至今,我们叫固定窗口。还有一个是滑动窗口,最近30天,这些指标计算的时间有一个共性,过程中有很多中间表,都可以被复用,假如每次都是重新计算的话,会有非常多的资源浪费。渐进计算的核心原理就是用空间换时间,主动天生里面的中间表,制止重复计算,中间表也可以接纳哈希方式快速读取。
下面是风控案例,取最近90天的数据,当我们用了渐进计算以后,每天计算消耗从大概795CU降到22CU,还是有非常大收益的。
案例二:存储优化—存储归档
存储归档通常用于数据查询频次不高冷数据场景。 归档原理接纳RAID格式存储,有N个数据块,M个校验块的模式。我们把归档能力内置成一些命令,方便各人处理,离线数据有分区概念,分区有冷有热,对特定分区也可以做归档。
对比一下当前三镜像备份和归档模式的优缺点:第一种是ODPS原生备份能力,实现起来比较简朴,数据恢复也比较快,但是有非常大的冗余,成本也高,归档存储占用也是比较少的,大概1.375倍存储,这个时间读取性能会低落。在存储归档用的时间也是要基于场景化去用,而不是一股脑把归档技能全用上去。
案例三:存储优化—重排压缩
重排压缩通常应用于存在大量字段信息冗余的宽表,通过重排提升压缩算法的压缩效果。
重排原理是根据数据特征把具有雷同列值字段通过排序放在一起,以提高压缩率。有点像windows碎片整理一样,针对重排键识别一种是专家履历识别,一种是通过技能手段,让它主动迭代,算出字段和字段之间的重复率。拿到重排键之后,我们会根据重排键进行重排,这里分成主链路重排和旁路重排两种方式。
重排压缩适用的场景是一个月使用少于2次的冷数据、纪录重复值较多的大表。分享一个案例,我们对网关流量日记做重排压缩之后,整个存储大概减少30%。网关流量是非常大的,动辄上百G日记。此中有一些要留意的事项,重排压缩不适合json串范例字段,重复率不高;做重排的时间不要用全局排序,用分区排序即可。 4.3 数据计存治理存储优化进一步探索
我们现在也在基于数据冷热程度,创建一些主动化识别和分级存储方案,从而实现成本分级优化。
分成4类:高热数据(每天访问):日常高频访问;热数据(30天内有访问):访问频率相对正常;冷数据(30天无访问,90天有访问):数据必要长期保留,但是访问频次低;最后一个是归档数据(90天无访问),必要长期保留,但是访问频次极低,比如监管要求要长期保留的数据。围绕这个分类做相应分级,做主动化的数据差异化存储,同时针对归档数据现在在进一步探索创建独立的冷备集群和更高压缩比的归档算法。
三. 数据治理的未来思考
起首,围绕整个大数据数仓治理,不管是在线、离线还是图数据,存储的都是数据,只是存储介质不一样,未来必要一体化的数据治理体系,统一办理成本和服从问题,这是共通的。
其次,数据治理如何联合当下比较火的ChatGPT,做到更智能化,也是我们探索的方向。
最后,还有一个比较紧张的点,数据作为国家的生产要素,在《个保法》的要求下,要被使用、消费并发挥价值,过程中对数据的保护应该如那边理?这也是未来数据市场化场景下,我们要去探索的。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |