火山引擎DataLeap:3个关键步骤,复制字节跳动一站式数据治理经验
▌机遇与挑战
- 字节文化
- 业务第一
▌3个关键步骤,复制字节跳动数据治理经验
步骤一:创新数据治理思路——分布式数据自治
什么是分布式自治?
- 通过产品辅助业务自驱,实现规则化、策略化、自动化治理。
- 通过低门槛、算法推荐等平台能力,降低治理门槛。
- 支持灵活的治理方式,如管理者视角,自上而下规划性治理;如一线执行者视角,自下而上推动治理。
- 产品能力覆盖稳定性、质量、安全、成本、报警等多场景。
- 各模块可以独立使用、按需组合。
- 产品提供完整的开发能力,支持业务根据自身特点和发展阶段自行接入。
与集中式治理的区别
- 集中式治理:要求制定制度,并进行大范围组织推广;要求划分权责,定期抽查考核;建设周期长,适配能力弱,且组织投入多。
- 分布式自治:业务影响小;周期短,见效快;效率高,节省人力;便于算清业务收益,降低成本。
步骤二:构建一站式平台,引入数据治理双路径
一站式数据治理平台架构
- 第一层 视图层
- 第二层 方案层
- 路径一【主动规划】规划式流程
- 路径二【系统发现】响应式流程
- 第三层 工具层
适用于业务驱动的规划式流程
- 特点: 资产清晰,规则丰富, 动线 完整,收益准确。
- 思路:
- 制定目标,包括健康分目标,以及降低存储、计算资源等。
- 根据目标制定治理方案,明确治理域、圈选治理规则。
- 制定方案后,由系统自动查询存储、计算等问题的明细,经过分析后,通过消息催办等方式,将问题下发到责任人,推动 数据治理 。
- 系统自动对治理效果进行采集,反馈目标达成情况,并对一段时间内的治理结果进行验收和统计。
-
资产清晰
规则丰富
- 首先,通过底层与平台基础组件打通,完成数据收集,形成 数据仓库 的基础层;
- 其次,基于基础层对 数据资产 进行画像描述,进一步形成特征域,做特征挖掘和关联分析;再将应用数据放到数据服务中,对外提供灵活的数据查询能力。
- 最后,通过最上层的 规则引擎 ,将数据和规则进行联动,应用于规则建设。
动线完整
- 任务治理方面,与任务开发、任务运维平台打通,支持任务关闭、调整、调参,链路优化等;
- 库表规范方面,和元 数据平台进行 联动,实现表管理、库管理、资产移交、属性修改等;
- 生命周期方面,通过治理平台将底层存储(包括 hdfs 、 hive 等组件)打通,形成闭环式治理;
- 在数据质量方面,涉及 sla 及时性,离线、实时数据监控等,通过与质量 规则平台 强联动,互相登记数据,进行sla签署以及强跳转交互等。
收益准确
技术架构
- 平台后端负责分发和转换治理逻辑,包括查数、设置目标、健康分展示与透出,治理操作等;
- 根据获取的消息后,后端平台进行具体事件拆分。举个例子,在看板类查数的部分,需求将统一发送到查询服务完成底层存储做适配,通过点查、list、聚合类查询,并在解析后选取不同的底层存储。
- 规则引擎服务可与数据查询服务联动。通过数据查询服务获取数据,再通过规则定义成标签,并抽象成服务。该服务可以对外提供对资产标签描述,并成为通用能力。
- 数据治理具体实施被统一抽象成后台模块,包括设置消息、设置ddl、进行删除等。由该模块下发到组件层进行操作,再通过事件收集服务,并返回数据查询服务,完成治理收益汇总。
适用于经验沉淀的响应式流程
- 特点:事后治理、问题总结、经验沉淀。
- 思路:
- 首先,接到报警和消息,包括 sla 破线、数据质量报警、计算任务报警等;
- 其次,系统将上述消息汇总,并展示在治理平台中。数据开发人员通过治理平台进行消息检索、问题归因,并完成根因打标,把问题具体定位到组件、平台等颗粒度;
- 再次,通过公司组织方式找到组件侧对接人,或通过组织会议将问题提交给相关责任方,推动对方完成保障;
- 最后,列出系统中的问题描述、改进计划,定义问题并分析治理效果,并在问题解决后,推动方案分享、沉淀和复用。
-
步骤三:开放接入、智能化数据治理能力升级
开放接入
- 第一象限&第二象限:第一象限主要为定义标准 元数据 和统一表达式,通过 规则引擎 直接适配。如果业务方存在第三方元数据接入已定义规则,则如第二象限所示,接入的第三方元数据需要遵循接入标准,并通过规则引擎完成适配。
- 第三象限&第四象限:如果规则部分要进行相似度计算,且不是表达式可以描述的规则,则被定义为算法包或逻辑单元。如第三象限&第四象限所示,要求定义输入、输出标准,通过调用包或插件方式,执行逻辑。
智能化能力
任务SLA签署推荐
- 问题: 在 SLA 签署中,任务上下游可能存在上千个节点,如何估计产出时间?
- 解决思路: 目前主要通过血缘关系找到节点的关键路径,基于运行时间进行权重分配,确保节点有相对合理的 SLA buffer。在推荐签署环节, DataLeap 目前已经申请 专利 ,并在生产中产生一定效果。第二期将基于运行失败概率分布情况来调整上游buffer压缩,下游buffer宽松的问题。
动态阈值监控
- 问题: 数据量正常分布,但短期异常化的情况。如流量日志在假期或活动日,出现正常突增或突降的情况。
- 解决思路:常规的数据 质量监控通常限定绝对值阈值,如历史7天波动率等,容易造成假期或活动日误报警,给值班人员造成不必要的打扰。 DataLeap 提出了动态阈值的思路:基于数据历史情况,归纳出不同分布情况,并提供不同的预测方法。例如,动态阈值预测整个表在某一天的量级情况,然后基于数据量级设置上下阈值,超出阈值再进行报警或消息通知。
- 数据分布: 数据量单调不减,大部分为快照表或全量表;假期或活动日可能出现数据量突增或突降,往往为日志类表时;数据量比较稳定,维度发生变化时,能反应出一定问题,往往是维度表。
- 预测方法: 移动平均法、指数平滑法、自回归法、同期检测法。
-
有相似任务识别
- 问题: 由于业务庞大、开发人员多、任务量大,在开发过程中,存在不知道线上是否存在类似任务的问题,在跨团队情况下更明显,因此任务检测非常必要。
- 解决思路 : DataLeap 的基本思路是将目标源代码和待检测源代码 sql 的 ast 序列化 和向量化,对特征向量做余弦相似度计算,通过产品进行计算结果透出,再由业务完成标注,经过人工确认分析,对任务进行合并或下线。
架构总结与未来展望
架构总结
- 产品层,从管理者视角和执行者视角做出区分。在具体治理过程中,遵循双路径方式:
- 规划式治理:目标制定、规则圈选、治理实施、收益统计、经验总结
- 响应式治理:订阅消息、发现问题、实施治理、登记问题、复盘总结
-
- 服务层,也称为整体服务逻辑层,拆分了数据服务、任务执行、消息服务、 事件中心 等不同模块,特别是接入服务模块,能够提供开放能力。
- 数据组件层,作为基础建设层,包括 元数据 仓库建设、 大数据 组件适配等。
未来展望
- 体验打磨
- 开放能力
- 自定义指标,比如自定义健康分、自定义组织,使不同业务可以自身情况定义健康分的组织形式和描述。
- 自定义方案,进一步打磨自定义规则的接入流程,并将规则能力开放,支持业务调用,并完成自身资产分析。
- 打通业务,以业务视角看待问题,针对业务问题和需求,完善平台建设。
- 增强型 数据治理

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何基于开源 demo 在 Web 端实现一个多人数独游戏
本文作者是声网社区的开发者“tjss”。他基于Vue、声网的互动白板的代码模板,搭建出了一个支持多人互动的数独游戏。本文记录了他的实现过程,欢迎大家也可以尝试实现自己的小游戏或应用。 我基于声网互动白板的 SDK 与 Window Manager 开发了一个场景化窗口插件,实现了一个多人数独游戏。在游戏中,每个玩家进入白板房间,都能看到数独游戏插件,同时可以参与其中,与房间内的小伙伴一起完成数独解题。 前期准备 1、注册一个声网账号,并实名认证,以便在后台创建项目,获取开发时会用到的 Appid 和 Token 2、了解 Vue 开发的基础知识。 3、了解声网互动白板产品,一些基本的接口和功能,看官方文档就足够了。 4、搭建开发环境: NodeJs 版本 16.0.0 @Vue/cli 4.5.1 VSCode 代码开发工具 开启和配置互动白板服务 首先我们需要一个实名认证的声网账号,进入控制台(console.agora.io),在声网控制台开启互动白板服务。 这里需要注意的是互动白板是作为服务而显示的,而控制台中只是显示项目列表,并没有直接显示服务。 这时候我们就先创建一个项目,然...
- 下一篇
基于chatGPT api和websocket的实时机器人聊天应用
基于chatGPT api和websocket的实时机器人聊天应用 chatGPT-service和chatGPT-stream chatGPT-service: https://github.com/cookeem/chatgpt-service chatGPT-service是一个后端服务,用于实时接收chatGPT的消息,并通过websocket的方式实时反馈给chatGPT-stream chatGPT-stream: https://github.com/cookeem/chatgpt-stream chatGPT-stream是一个前端服务,以websocket的方式实时接收chatGPT-service返回的消息 gitee传送门 https://gitee.com/cookeem/chatgpt-service https://gitee.com/cookeem/chatgpt-stream 效果图 快速开始 # 拉取代码 git clone https://github.com/chatgpt-service.git cd chatgpt-service # chat...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- 2048小游戏-低调大师作品
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池