治理效率提升77%!揭秘基于DataLeap实时健康分的最佳实践
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
背景
某企业实时数仓团队通过数据收集、整合、计算和存储构建实时数据仓库,为企业提供快速、准确、可靠的实时数据分析和决策支持。目前该实时数仓团队已运行了上万的实时任务,依赖的组件繁多(例如:Flink、Yarn、Abase、Doris等)、开发人员众多 、开发习惯和经验程度参差不齐等各类主客观因素,导致任务稳定性、资源浪费等问题频出。因此,任务治理已是势在必行,但纵观整个治理过程,仍存在以下矛盾:
1. 业务阶段与数据治理的矛盾
业务阶段大致可以分为两个阶段:发展期,成熟期。发展期: 产品不断迭代,需求不断新增,实时任务持续增加。在此时期同时也是与业务建立信任的阶段,实时任务的质量会被重点关注,成本控制的优先级小于质量保障。成熟期: 资源预算增量越来越少,业务需求数量不降反升,在此成熟阶段实时团队不仅要做好数仓质量保障,也需关注资源成本的合理分配和利用。
2. 人力成本与数据治理的矛盾
实时任务的治理成本由于其技术复杂性和在线运行等属性导致治理要求一直较高,人力经常在数据治理和业务需求之间徘徊。由于实时任务治理必将占用业务支持精力,如何提高治理人效,降低治理成本,释放个人精力,也是大家特别关注的点。
3. 治理问题与可评价的矛盾
通常实时任务可以通过一定的规则筛选出存在问题的任务,并进行集中的运动式治理。这种方式虽然可以一定程度解决阶段性治理问题,但是无法量化任务的健康程度以及待治理的紧迫程度,使得治理无法持续开展。因此,需要有一个可评价的体系对数仓健康程度进行评价,并通过评价后的分数持续推动治理。
走进DataLeap实时健康分
DataLeap实时健康分是一套集治理评价、目标制定、治理驱动、治理提效、效果量化于一身的一站式实时数据治理解决方案,满足精准治理的诉求,降低治理成本,保障数据整体规范性、稳定性,逐步成为公司内评价团队实时数据治理水平和资源分配的风向标,让治理成为一件简单高效的事。
实时健康分方案大致可以分为四个模块:元数仓建设、治理项沉淀、分数计算、平台治理。
1. 元数仓建设
健康分元数仓指的是任务相关的元数据信息,它是健康分加工过程中依赖的底层数据,包括任务的稳定性、质量、规范性、成本以及SLA等。
| 元数据类型 | 描述 |
|---|---|
| 稳定性元数据 | gc、failover、cp、state、反压、倾斜等 |
| 质量元数据 | 时效性、准确性、指标监控覆盖度等 |
| 规范性元数据 | 任务配置、组件配置、报警配置等 |
| 成本元数据 | 队列资源、计算资源、存储资源等 |
| SLA 元数据 | 组件SLA、数据SLA、任务SLA 等 |
2. 治理项沉淀
治理项规则是Flink团队通过引擎视角和各个BP实时数仓团队通过业务视角积累沉淀出的一套通用规则,通过这套通用规则可达成快速复用的作用,可以快速发现实时任务中存在的成本浪费和质量隐患问题。现阶段,越来越多的团队加入实时治理,贡献更多的治理经验,总结出更通用的规则,吸引更多的团队,从而形成正向循环。目前质量项规则14项,成本项规则2项。
3. 分数计算
名词解释:
- 治理项权重: 根据治理项规则的重要性,治理项权重不同,例如:"CPU资源浪费"=40;"队列配置不规范"=15;
- 任务等级系数:每个任务等级会有不同系数,等级越高,系数越高,对分数的影响越大,例如:D1/D2=10;D3=5;D4=3;D5=1
目前实时健康分涵盖质量分和成本分两套评价体系,其结果等于质量分与成本分的均值。每套评价体系采用扣分制算法,计分逻辑简单、可解释性强,能够实现细到任务、个人粒度,粗到部门、公司粒度的分数计算结果。
- 质量分计算
口径:$$\frac {\sum(命中治理项的任务等级系数)}{\sum(全部任务的任务等级系数)} *治理项权重$$
例如:
- 一共有1000个任务,$$\sum(全部任务的等级系数)=2500$$
- 其中有100个任务命中了任务未配置报警,$$\sum(命中治理项的任务等级系数)=500$$
- 未配置报警治理项(治理项权重:15)扣分为500 / 2500 * 15 = 3分
- 质量分=100-3=97分
- 成本分计算
口径:$$\frac {\sum(命中治理项的任务CPU分配数)}{\sum(全部任务的任务CPU分配数)} *治理项权重$$
例如
- 一共有1000个任务,$$\sum(全部任务的任务CPU分配数)=25000$$
- 其中有100个任务命中了CPU资源浪费,$$\sum(命中治理项的任务CPU分配数)=10000$$
- CPU资源浪费治理项(治理项权重:40)扣分为10000 / 25000 * 40 = 16分
- 成本分=100-16=84分
4. 平台治理
实时健康分依托平台提供高效的治理能力,其中包括治理全景、治理工作台以及治理辅助三个模块:
- 治理全景:提供健康分趋势、成本项治理趋势、待治理问题分布等看板,观察健康程度趋势。
- 治理工作台:提供治理项明细、推荐参数、一键治理、事后监控等工具,提高治理效率。
- 治理辅助:提供治理播报卡片、自定义场景治理辅助工具,完善治理场景。
| 一级项 | 二级项 | 描述 |
|---|---|---|
| 治理全景 | 健康分程度 | 展示各个业务线或个人当前健康分程度 |
| 健康分趋势 | 展示健康分变化趋势,其中也包括成本分和质量分的变化趋势。 | |
| 成本项治理趋势 | 展示成本项已治理、待治理、已节约CPU和待节约CPU趋势。 | |
| 质量项治理趋势 | 展示质量项规则命中待治理任务数和已治理任务数趋势。 | |
| 待治理问题分布 | 展示各个规则命中的待治理问题数、扣分情况。 | |
| 治理工作台 | 治理项明细 | 展示待治理任务列表明细,可通过规则项、任务等级、任务类型、任务owner等进行筛选展示 |
| 治理参数推荐 | 给每一个任务命中的治理项给出优化参数建议。 | |
| 批量一键治理 | 通过治理参数推荐批量完成多个任务的治理。单任务治理人效从15min提升到30s | |
| 事后监控大盘 | 治理完成之后通过推动治理任务的lag监控大盘来观察任务运行情况。 | |
| 治理辅助 | 治理播报卡片 | 每日给对应owner推送治理卡片,播报当前成本分、质量分、成本待治理项数、质量待治理项数和昨天已治理信息等。 |
| 自定义场景治理 | 给业务提供一个可自定义治理项的能力,满足业务个性化非通用的治理场景。 |
实时治理专项
某企业数据平台存在降本增效和稳定性保障诉求,日常任务存在CPU使用浪费、未配置报警、队列使用不规范、CPU使用率过高等问题。因此,该实时数仓团队联合DataLeap团队成立治理专项。专项设立虚拟小组与治理poc机制,自上而下拆分治理目标,快速响应治理阻塞问题,推动治理进度,协调治理资源,最终保障制定目标达成。
虚拟小组成员时刻关注业务线健康程度,评估目标完成风险,发现治理进度存在风险后及时与业务治理poc沟通治理过程中遇到的困难和阻塞,并由虚拟小组开发新的工具或制定新的治理方案,帮助业务治理poc克服治理困难,推动各业务方向达成既定季度目标。
1. 实时成本专项
该数据平台实时任务存在大量资源浪费问题,资源浪费任务数3.8k+,待治理CPU资源27.9w+core。基于资源浪费严重问题,成立实时成本专项,形成虚拟支持小组,深入业务,协助业务进行资源浪费治理,累计治理资源浪费任务1.15k,待治理CPU资源27.9w+core -> 17.7w+core。
2. 实时质量专项
同时,该数据平台实时任务存在多种质量稳定性隐患,例如:CPU使用过高、任务未配置报警、队列使用不规范、数据倾斜等问题。基于稳定性隐患问题,多方联合形成实时质量专项,沉淀出11个质量项规则,帮助企业数据平台发现3k+质量问题,推动数据平台进行质量治理,完成1.1k次质量治理。
3. 季度治理收益
指标解释:
- 一键治理时长提升率:一键治理将治理时长从15min降到0.5min,因此提升率96.5%
- 一键治理场景覆盖率: $$\frac {一键治理问题数}{所有治理问题数} $$
- 治理效率:一键治理时长提升率*一键治理场景覆盖率
收益如下:
- 该数据平台Q3季度健康分从80.57(新上9个治理项导致分数下降)-> 81.85分
- 质量项治理问题1.11k+(其中“任务未配置报警”问题清零、“CPU使用率过高”治理700+)
- 一键治理场景覆盖率80%,一键治理时长提升率96.5%,治理效率提升77%
点击跳转大数据研发治理套件 DataLeap了解更多
治理效率提升77%!揭秘基于DataLeap实时健康分的最佳实践的更多相关文章
- atitit.基于http json api 接口设计 最佳实践 总结o7
atitit.基于http json api 接口设计 最佳实践 总结o7 1. 需求:::服务器and android 端接口通讯 2 2. 接口开发的要点 2 2.1. 普通参数 meth,p ...
- 基于AWS的云服务架构最佳实践
ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...
- 基于AngularJS的前端云组件最佳实践
AngularJS是google设计和开发的一套前端开发框架,他能帮助开发人员更便捷地进行前端开发.AngularJS是为了克服HTML在构建应用上的不足而设计的,它非常全面且简单易学习,因此Angu ...
- 基于kubernetes集群的Vitess最佳实践
概要 本文主要说明基于kubernetes集群部署并使用Vitess; 本文假定用户已经具备了kubernetes集群使用环境,如果不具备请先参阅基于minikube的kubernetes集群搭建, ...
- 转发:基于Lerna打造多包管理最佳实践之道
最近在看vue-cli的源码部分,注意到这一个仓库下维护了多个package,很好奇他是如何在一个repo中管理这些package的. 我们组现在也在使用组件库的方式维护项目间共用的业务代码.有两个组 ...
- 基于微服务的DevOps落地指南 交付效率提升40%
基于微服务的DevOps落地指南 交付效率提升40% 2015-2016年,珍爱线下门店已新增覆盖城市9个,与此同时,CRM系统大小故障却发生了数十起... ... 珍爱网是以“网络征选+人工红娘”模 ...
- DevOps Workshop | 代码管理入门:基于代码扫描实现团队效率提升
CODING「DevOps Workshop 学习营地」持续火热进行中! 在这里,你可以轻松实践 DevOps 全流程.体验高效的云端开发.赢取精美礼品--第二期大奖「戴尔 U2718Q 显示器」将于 ...
- jQuery效率提升建议
jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...
- jQuery 效率提升建议
jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...
- K8s 集群节点在线率达到 99.9% 以上,扩容效率提升 50%,我们做了这 3 个深度改造
点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 张振(守辰) ...
随机推荐
- Python:基础&爬虫
Python:基础&爬虫 Python爬虫学习(网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另 ...
- 极速指南:在 SpringBoot 中快速集成腾讯云短信功能
前言 今天分享一个SpringBoot集成腾讯云短信的功能,平常除了工作,很多xdm做自己的小项目都可能用到短信,但自己去看文档挺费劲的,我这边就帮你节省时间,直接把步骤给你列出来,照做就行. 实战 ...
- js/javaScript实现金额千分位
作为前端开发,我们都知道,在实际的需求开发中,难免会遇到需要将接口返回的金额进行千分位格式化的场景.千分位后的金额便于阅读,提升用户体验.金额千分位可以由前端来处理,也可以后端处理后返回给前端展示. ...
- 沫沫漫画网Js逆向分析爬取全站资源入库处理图片合并
网站分析 打开目标网站:https://www.momomh.com/ 选择一部漫画作为分析对象:<渴望:爱火难耐> 进到漫画详情页这里,发现并没有需要逆向分析.直接可以获取漫画信息.随便 ...
- 如何用BI制作图表组合?
BI(Business Intelligence)是一种通过收集.分析和可视化数据来帮助企业做出决策的技术和工具.在BI中,制作图表组合是一种常见的方式,可以将不同的图表类型组合在一起,以更全面地呈现 ...
- 项目实战接口开发SpringBoot
目录 一.springboot官方demo开发 二.使用SpringBoot开发get方法接口 三.一个要求携带cookie信息访问的get接口开发 四.需要携带参数的get请求两种开发方式 4.1 ...
- 后端程序员必会的前端知识-04:Vue3
Vue 3 1. TypeScript 1) 动态类型的问题 前面我们讲过 js 属于动态类型语言,例如 function test(obj) { } obj 可能只是个字符串 test('hello ...
- Lucas定理 、斯特灵公式
斯特灵公式是一条用来取n阶乘的近似值的数学公式. 公式为: 用该公式我们可以用来估算n阶乘的值:估算n阶乘的在任意进制下的位数. 如何计算在R进制下的位数:我们可以结合对数来计算,比如十进制就是lg( ...
- Python——第五章:csv模块
未来我们会使用爬虫获取到一些json文件,例如去英雄联盟官方爬取英雄的数据库 查看代码 {"hero":[{"heroId":"1",&qu ...
- R6900 R7000刷梅林 AImesh组网
本文作者: Colin本文链接: https://www.colinjiang.com/archives/netgear-r6900-flash-merlin-rom.html 然后开始讲正题,刷梅林 ...