字节跳动基于DataLeap的DataOps实践

news2025/1/11 4:07:02

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

本文根据 ArchSummit 全球架构师峰会(深圳站)来自抖音数据研发负责人王洋的现场分享实录整理而成(有删减),本次分享主要包含字节跳动数据研发的模式与挑战、DataOps理念在字节的具象 、DataOps产品化及落地、最佳实践、未来展望五个部分,分享内容皆来自于字节跳动业务实践经验。

字节跳动数据研发的模式与挑战

中台工具+数据BP模式

字节在落地DataOps的过程当中,与我们数据支持所采用的中台工具+数据BP的组织模式相结合,由中台工具团队负责打造功能的基座,实现了数据开发的各项基础能力并提供开放平台,对数据BP团队提供贴身的技术支持,同时也将这些能力通过火山引擎以内外一体的模式输出。所谓的内外一体是指字节的各类数据工具如DataLeap在面向内外部用户使用上实现了一致性。

对于数据BP团队来说,在落地DataOps的过程中,重点做了三件事情:第一件事是规范的制定,在字节内部长期实践过程中,我们认为实践团队才是规范的最佳发源地;第二件事是基于中台工具的开放平台实现插件的开发,数据 BP并不是一个纯数仓团队,其中也包含了部分工程团队,与数仓一体的工程团队可以将数仓日常的痛点以插件的形式实现并落地,不同数据BP团队可以根据自己的特点开发不同插件;最后一件事是收益评估,DataOps推广完了之后,也是放在 BP 来评估,而不是放在平台来评估,中台工具团队就可以专注于能力本身,开发数据 BP 团队专注于整个规范跟价值。最后外部客户可以同时享受到我们的平台能力,以及沉淀下来的 BP 模式,这就是字节整个团队在DataOps上落地的协作模式。

数据BP的核心指标:0987

 

数据BP团队做的好坏与否如何来评估,我们用了一套浅显易懂的指标0987来评价

0指不要出数据事故,这里的事故包括了时效、质量等问题,由于我们支持了较多线上和资损场景,事故在我们的评价体系中是生命线;

9指需求满足率,我们承接了来自多方的数据需求,希望能达成90%以上的需求我们都能按期交付的目标;

8指分析覆盖率,这个指标指外部团队基于数仓的查询能80%使用到经过我们建设和汇聚的表,而非原始表;

7指NPS 指标,我们每个季度会面向所有提需用户和数据使用用户发放问卷,收集对应的反馈信息,70%意味着大部分的同学对我们持正向评价且负向评价趋近于0;

来自质量挑战

在字节数据团队当前的支持模式下,由于支持模式多种多样,覆盖了各类核心决策及线上场景,我们遇到的首要挑战是来自数据质量的:

  • 链路复杂:最长任务全链路节点数量上千个,单个任务的的下游数量最大也达到了千级别

  • 变更频繁:每周仅直播数据团队数据链路变更次数就能达到上千次,涉及风险场景上百次

  • 事故易发:质量事故时有发生22年全年数据研发事故涉及到研发规范的占比56%

来自硬件成本的挑战

在降本增效大背景下硬件成本也逐步变成数据团队的一个核心挑战,在过去我们控制成本与大多数公司一致,主要基于预算,先测算出一个全年计算和存储资源目标,然后基于预算开展治理动作,清理无效任务或降低TTL;但是现在需要朝着需求的精细化控制方向前进,需要进一步看清楚我做这个需求需要多少硬件成本,从而将硬件成本的管控精细化到需求层面

来自人效的挑战

除去硬件成本外,我们的另一个成本大头就是人力成本,我现在带一个数据研发团队,在每次进行HC盘点的时候我都会遇到两个灵魂提问:

  • 如何证明团队当前的状态是高效的?

  • 如何用更少的人员创造更大的业务价值?

这其实是一个很现实的挑战,我们如何证明一个数据团队它的价值是什么?

DataOps理念在字节的具象

既然面临着这么多的挑战,我们就要去思考如何能够突破这些挑战,从业内取经,我们发现DataOps就是一种能够有效帮助我们解决上述问题的方案

信通院关于DataOps的定义

  • 数据研发运营一体化(DataOps):是数据开发的新范式,将敏捷、精益等理念融入数据开发过程,通过对数据相关人员、工具和流程的重新组织,打破协作壁垒,构建集开发、治理、运营于一体的自动化数据流水线,不断提高数据产品交付效率与质量,实现高质量数字化发展。

我们的理解

  • DataOps是作用于人+流程+工具的一套方法论,目标是提高数据质量和开发效率,主要通过敏捷协作、自动化/智能化、以及清晰的度量监测,让数据流水线达到持续集成、部署、交付(CI/CD),在DataLeap体系内,DataOps主要以规范研发流程为目的,涵盖对规范研发流程的“已有能力集成”,形成一站式研发体验,同时也包括规范研发流程所需关键的“新能力建设+集成”,除此以外的数据开发基础能力迭代不作为DataOps的一部分

 

我们认为 DataOps 的核心包括以下部分

第一个是链接,所谓的链接是要打通从需求、开发、资产、用户整个数据全链条的绑定关系。从功能上来讲它比较简单,解决了需求与代码的关系问题,业务研发侧早就已经实现了这个能力,研发人员提交的每一段代码,都能知道是哪个需求。但是在数据开发这件事情上,过去缺乏关注,所以首先需要做的事情是连接需求跟数据全环节。

第二个是规范,过去数据研发整个全流程较为缺乏规范的产品化,主要通过团队内部的文档要求来承载,包括提需评审、模型开发测试、上线验收这些环节,我们认为 DataOps在规范上面最首要的事情是要把所有数据研发过程中的这些散落的规范产品化并嵌入到日常的开发链路中。

DataOps产品化及落地-DataLeap

 

这张图展现的是字节数据开发的dataleap套件能力,涵盖了计算引擎、全链路开发、全域治理、资产等工具,这样的一站式大数据开发套件,能够帮助用户快速完成数据集成、开发、运维、治理、资产、安全等全套数据研发工作,帮助数据团队有效的降低工作成本和数据维护成本、挖掘数据价值、为企业决策提供数据支撑。DataLeap不是一个产品,是一个套件(Suite)。形象的类比就是类似Office,多个产品相互配合,解决同一个大的问题或者叫解决方案,产品之间是相互合作辅助的关系。

DataOps敏捷规范研发平台

 

这是字节整个 DataOps 的产品化的整体框架图,核心提供的一套DataOps敏捷规范研发平台。以前有一种模式是平台团队自己全包,把这些所有的规范全部给制定好,由平台团队推给数据开发团队,但这种模式不太适合我们,因为平台团队离业务远。

我们认为在这种情况下平台应该选择优先提供开放的能力,这里的开放能力包括开放数据与接口、开放流程等等,有了这套开放能力,意味着所有的数据开发团队可以自己去编排流程,去做自己的规则规范。

另外我们发现开发团队做好之后,这套DataOps敏捷规范研发平台在所有的数据开发团队都通用,举个例子,测试的能力在字节不是在平台做的,有专门的数据 BP 团队,实时这块有特殊诉求:发布完了之后数据要做盯盘,盯住实时数据的变化。依托开放平台提供的数据支持,在直播场景下会提供给到主播一些实时的数据,去辅助他们做及时的决策。这些实时数据包括用户的数据、用户的画像等等,主播可以基于这些用户的画像去调整话术。基于开放平台 ,数据BP团队做任务的整个发布能力,之后我们发现这套能力可以通用。

需求管理

 

简单的给大家看一下字节现在已经上线的内部版本的功能,包括了需求管理的各个维度,当然需求管理这里其实核心的思路是让需求能够进入到数据研发的全流程当中,大家可以看到我们会做需求的准入要求,以及跟开发过程以及交付绑定,然后需求的进度追踪、价值评估等相关的一些事情,这是一个标准需求流水线,是字节需求管理平台上的一套流程,就是从需求开始,初评、详评、排期、研发验收、价值反馈结束。

这是需求绑定页面,在做任务开发的时候需要对当前的一些需求做绑定,当然这只是提供了需求绑定开发环节的一个图,我们也会有包,比如说资产环节以及任务环节等各种修改环节都会跟需求做绑定。这个功能很简单,但是需求的全链路串联为字节带来的收益非常大,解决了第一个是可度量所有全流程的问题。

流水线管理

 

第二个是流水线管理,字节的流水线管理包括测试流水线、发布、离线、实时任务管理、任务优先级管理等相关的能力,这是现在线上跑的一个任务,跑完的流水线的状态,就发布会做登记、检测、检查、review,然后定时发布任务、盯盘等确认等相关的动作。

重点讲一下这里的发布跟测试环节,这两块在很多公司其实是有测试环境的,但是在数据量特别大的场景和数据,或者较为复杂的场景下测试环境是没数据的。测试环境跟业务研发相比,没办法涵盖各种各样的问题,比如说银行场景下测试环境和生产环境肯定是隔离的,但是在字节这种互联网场景下我们的选择是不分离,我们的发布和测试其实是基于的是同一套数据,同一套环境,那如何做测试跟生产的一个隔离?核心点在于我们要求所有没有经过发布流水线的任务是不能写生产的表的,读任何生产的表,但是不能写任何生产的表。这样带来的好处是我们的测试和生产是完全一致的,同时也能保证测试完了之后直接推到生产上去,这样下来后面的测试、 QA 介入的成本是极其低的,这是字节采用的一种方式。

最佳实践

推广运营:如何在公司范围内大规模落地DataOps?

做了这些工具之后要如何去推广?这也是今年初字节面临的问题,就是如何在公司内大范围去落地 DataOps 的能力。最早开始推得很辛苦,也遭遇了很多挑战,不过也总结了一些经验。

鲶鱼效应

第一个叫做鲶鱼效应,所谓的鲶鱼效应因为是数据BP 在主导这件事情,所以主导团队可以先推起来。比如说在直播场景下先试用拿到非常多的指标,总结经验,我们可以带着这些指标和经验去和其他团队沟通,以提高人效的角度切入,在这种情况之下,有的团队就会愿意来学习试用。

拆箱即用

第二个是拆箱即用,我们向其他 BP 团队提供的时候,其他 BP 团队不需要多做任何其他的事情,只需要打开他的流程开关就 OK 了,切换路径成本是非常低的。

自顶向下

第三个是自顶向下,类似的像 DataOps 这种工具跟能力,一定是需要先拿到自顶向上,或者是来自于业务侧更高层的认可之后,才能够持续不断地往下推,类似规范的事情,不是一个自下往上能推得起来的。

指标牵引

一个研发 leader 肯定会关注研发效能问题,这里给大家分享一套字节基于研发效能的指标牵引体系,该体系有四个维度的度量指标,包括效率、质量、资源投入、收益等相关的一些指标。这些指标是我们参照业务研发来形成了一套数据研发指标体系,我们会去关注数据需求的交付周期、定容率、交付数、缺陷修复时长、线上事故、业务研发的配比。最后是重点专项相关的一些事情。这里面除了最后一个是需要人工去干预的,其余的现在都能做到线上化的统计,这是非常方便的。

管理者视角

所谓管理者视角是围绕数据开发团队的价值和未来,通过开放让数据团队有可输出的专业价值。对于数据团队来讲有两类价值,一类叫做业务价值,一类叫做专业价值。业务价值很好讲,是我为业务做了多少个需求,其中哪些重点项目重点参与了,最后是为业务带来了多少效率上的提升,通过某些数据的手段让业务拿到了多少收益。其次是专业性的价值,这个事情对于很多数据团队来讲是一个很困扰的难题,数据团队到底在业界、在公司内部有哪些是不可替代的?有哪些是专业性的东西?这里我们在做 Datops 实践的时候,发现通过开放让数据团队自己有可输出的专业性价值,这非常关键,这能让数据团队很充分地来参与到这件事情当中来。

开发者视角

在开发者视角层面,核心的事情是如何获得工作当中的成就感,这一点是留住人的关键:

  • 认可&执行:规范本身是反人性的,在团队内落地DataOps需要充分沟通,结合团队调整与个人发展,讲清为什么,避免粗暴落地

  • 参与&贡献:构建人人可参与的开发环境,让数据开发可以深度的参与到流程制定与落地的过程中来,促进个人影响力的提升

收益度量

落地DataOps的收益主要包含规范、质量、效率三部分,具体来看:

  • 规范:在不同方向上规范制定与复用,保障流程100%落地

  • 质量:系统性的解决风险场景上的研发流程问题,因研发流程导致的数据质量事故数归0

  • 效率:通过更可靠的交付避免返工,同时叠加提效能力,预计可提升研发在业务需求满足中的开发效率10%+

未来展望

业务价值

最后是关于数据研发未来的展望,首先想谈谈业务价值:

  • 数据需求价值度量标准

  • 基于需求价值最大化的调度策略

数据需求的价值度量相对功能需求而言更为复杂,所以下一阶段我们是希望能够度量清楚数据需求的具体价值,然后实现基于需求价值最大化的调度策略,从而达成我们对于人效和成本的控制目标。

质量与效率

关于质量与效率,未来我们会主要关注以下三点:

  • 基于大模型的需求对接能力

  • 基于大模型辅助开发的能力

  • 低成本的数据测试及验证能力

最近大模型特别火,我们认为大模型参与数据研发是非常具有现实意义且具有挑战的事情,不论从需求对接还是辅助开发视角上,大模型都能为我们提供更多自动化方案应对过去需要依赖经验沉淀才能解决的问题;同时我们发现在字节的数据规模下数据测试的成本是非常高的,未来也希望探索低成本的数据测试的验证方案。

对外开放

 

DataOps理念在字节落地的成果后续也会通过火山引擎DataLeap对外输出。火山引擎DataLeap是一站式数据中台套件,能够帮助用户快速完成数据集成、开发、运维、治理、资产、安全等全套数据中台建设,帮助数据团队有效的降低工作成本和数据维护成本、挖掘数据价值、为企业决策提供数据支撑。

点击跳转火山引擎DataLeap了解更多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/917971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高能预警!企业出海如何玩转数字营销?

现阶段,企业纷纷步入数字营销的浪潮。然而,数字营销并非一项易事。它需要企业在多个方面进行深入思考和全面规划。数字营销虽具有广阔的发展前景,但企业需投入大量精力和资源,才能实现可持续发展和成功。 其实,营销的…

Scikit-learn强化学习代码批注及相关练习

一、游戏介绍 木棒每保持平衡1个时间步,就得到1分。每一场游戏的最高得分为200分每一场游戏的结束条件为木棒倾斜角度大于41.8或者已经达到200分。最终获胜条件为最近100场游戏的平均得分高于195。代码中env.step(),的返回值就分…

超全!年薪40w项目经理都在用的10个管理工具

大家好,我是老原。 今天的文章,当然还是干货为主。 这期给你安利一些免费、好用、高效、简洁的项目管理工具,这些工具都非常适合从事项目的打工人使用。 其实对于工作比较久的职场人来说,会有一个思维惯性,就是对免…

聚焦重要数据价值丨DolphinDB 降采样算法介绍

1. 绪论 在真实的业务场景中,时间序列数据具有以下特点: 采集频率(秒级甚至毫秒级)高,导致数据量非常庞大。数据价值密度低。 对数据进行合理的降采样不仅极大地可以降低系统压力、节约存储成本,同时也可…

基于Redhat8.5 部署zabbix5.4

仓库配置 本地源配置 mount /dev/sr0 /mnt //先挂载vim /etc/fatab //编辑挂载文件 以便于开机自动挂载/dev/sr0 /mnt iso9660 defaults 0 0mount -a 编辑yum 仓库 vim /etc/yum.repo.d/redhat.repo[BaseOS] namebaseos baseurlfile:///mnt/BaseOS gpgcheck0[AppS…

时空智友企业流程化管控系统文件上传漏洞

时空智友企业流程化管控系统文件上传漏洞 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现小龙poc检测脚本测试连接 六、 修复建议 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的…

Java“牵手”快手商品详情数据,根据商品ID获取快手商品详情数据接口,快手API接口申请指南

快手小店怎么查看宝贝详情 快手小店作为快手平台上的一个电商服务,让很多卖家可以方便地在快手上开设店铺,销售自己的商品。如果你是快手小店的卖家,你可能会想知道如何查看自己的宝贝详情,以便更好地管理自己的店铺。下面就让我…

2.文章复现《热电联产系统在区域综合能源系统中的定容选址研究》(附matlab程序)

0.代码链接 1.简述 光热发电是大规模利用太阳能的新兴方式,其储热系 统能够调节光热电站的出力特性,进而缓解光热电站并网带来的火电机组调峰问题。合理配置光热电站储热容量,能够 有效降低火电机组调峰成本。该文提出一种光热电站储热容 量配…

原生JS实现拾色器功能

没事儿干&#xff0c;写一个拾色器&#xff0c;原生 JS 实现&#xff0c;先看效果图&#xff1a; 一、写页面 <div class"circle"></div>.circle {width: 200px;height: 200px;border: 1px #999 solid;margin: 200px 0 0 200px;border-radius: 50%;back…

rust库学习-env_logger(actix-web添加彩色日志、rust添加彩色日志 )

文章目录 介绍actix-web启用彩色日志crate地址&json格式日志 我们在进行rust的web开发时&#xff0c;如果不指定日志&#xff0c;就不会有输出&#xff0c;非常不友好 这里我们使用env_logger进行日志打印 介绍 env_logger 需要配合 log 库使用, env_logger 是 Rust 社区…

23年5月软考电子版证书已上线!

首先恭喜一下&#xff0c;5月软考考试通过的小伙伴们&#xff0c;几个月的辛苦耕耘&#xff0c;终于得到了回报&#xff01;即日起&#xff0c;23年5月软考电子版证书已上线&#xff01;可以登录网址自行下载了&#xff01; 2023年5月软考电子版证书查询打印方法一&#xff1a…

USB Type-C端口集成式ESD静电保护方案 安全低成本

Type-C端口是根据USB3.x和USB4协议传输数据的&#xff0c;很容易受到电气过载&#xff08;EOS&#xff09;和静电放电&#xff08;ESD&#xff09;事件的影响。由于Type-C支持随意热插拔功能&#xff0c;其内部高集成度的芯片&#xff0c;更容易受到人体静电放电的伤害和损坏。…

【算法系列篇】二分查找——这还是你所知道的二分查找算法吗?

文章目录 前言什么是二分查找算法1.二分查找1.1 题目要求1.2 做题思路1.3 Java代码实现 2.在排序数组中查找元素的第一个和最后一个位置2.1 题目要求2.2 做题思路2.3 Java代码实现 3.搜索插入位置3.1 题目要求3.2 做题思路3.3 Java代码实现 4.x的平方根4.1 题目要求4.2 做题思路…

2023年中,量子计算产业现状——

2023年上半年&#xff0c;量子计算&#xff08;QC&#xff09;领域取得了一系列重要进展和突破&#xff0c;显示出量子计算技术的快速发展和商业应用的不断拓展。在iCV TAnk近期发表的一篇报告中&#xff0c;团队从制度进步、产业生态、投融资形势、总结与展望四个方面对量子计…

word文件怎么免费转换为pdf格式?

大家在编辑word文件的时候&#xff0c;可能需要进行格式的转换&#xff0c;比如将word转换为pdf格式这时候需要使用工具软件。接下来小编就给大家介绍word文件怎么免费转换为pdf格式&#xff0c;免费word转pdf格式的方法。 免费word转pdf格式的方法 我们需要在电脑中安装并打开…

PySide6学习笔记--gui小模版使用

一、界面绘制 1.desiner画图 2.画图代码 # -*- coding: utf-8 -*-################################################################################ ## Form generated from reading UI file t1gui.ui ## ## Created by: Qt User Interface Compiler version 6.5.2 ## ##…

Ajax+Vue+ElementUI

文章目录 1.Ajax1.1 介绍1.2 Ajax快速入门1.3 案例-用户注册时&#xff0c;检测用户名是否数据库已经存在1.4 Axios1.4.1 Axios快速入门1.4.2 请求别名 1.5 JSON1.5.1 Json的基础语法1.5.2 FastJson的使用5.3.2 Fastjson 使用 2. Vue2.1 介绍2.2 Vue快速入门2.3 Vue常用指令和生…

el-upload 图片上传

1、这三个是必须的 2、设置对应的参数 3、设置上传之前和成功之后的回调

动态数据源切换类AbstractRoutingDataSource

写在前面 在工作中为了能够提高数据库的读写能力&#xff0c;经常会用到分库分表等技术&#xff0c;此时不可避免的就要涉及到动态数据源切换的内容&#xff0c;针对这个问题&#xff0c;spring提供了AbstractRoutingDataSource类来满足我们的需求&#xff0c;本文就一起来看下…

AI智能问答在哪些领域可以应用呢

对于AI智能问答这个全新的领域很多人都是懵懵懂懂的&#xff0c;以为这就和一些科技大企业有关。但是其实不是的&#xff0c;这和我们每个人的日常生活都息息相关。这篇文章&#xff0c;looklook就来和大家讲讲AI智能问答可以有哪些应用的方向&#xff0c;有需要的朋友们就看下…