(网经社讯)抖音集团,作为字节跳动国内信息和服务业务的核心板块,旗下拥有抖音、今日头条、西瓜视频等众多知名产品。相信大家的手机里都安装了不止一个抖音集团的 App。
平台管理的数据量在几年前就已超过 EB 级别,这为我们的数据管理带来了巨大的挑战
我们的数据平台承载着一项重要使命:成为推动增长的敏捷数智引擎。
火山引擎数智平台的整体架构分为四个层次:数据引擎层、数据建设管理层、数据分析应用层和解决方案与咨询服务层。这四层协同工作,覆盖了数据从采集到分析的全生命周期。
我们的数据产品有两个核心特点:敏捷和易用。
首先,敏捷体现在速度和灵活性上。数据流程全面加速,无论是数据采集、加工还是分析消费,都实现了实时性,系统能够处理十亿级数据的亚秒级查询。
其次,在易用性方面,我们致力于打造低门槛、快速上手和广泛协同的数据处理环境。即使没有技术或统计学背景,团队成员也能轻松搭建数据门户、开展 AB 测试。平台支持无代码操作,让每个人都能快速成为数据的探索者和分析者。
此外,数据产品具有无缝协同能力,与飞书、日历、业务系统等工具的整合,让数据随时随地为决策服务。
总结而言,我们的数据团队致力于通过敏捷和易用的产品,实现对业务的高标准服务。我们的目标是达到"0987"的服务标准——0 重大线上问题,90% 的需求满足率,80% 以上的分析师查询数仓覆盖率,以及超过 70% 的业务用户满意度。
抖音集团业务发展可划分为三个显著的阶段:探索期、成长期和成熟期。
在探索期,我们的焦点在于快速迭代和业务导向,迅速适配业务调整,寻找可持续的增长模式。这一时期,我们面临的主要挑战是缩短交付周期,以实现快速的市场响应。
随着业务步入成长期和成熟期,数据质量和效率的重要性日益凸显。我们遭遇了三大主要难点:
● 指标管理的不统一:存在“同名不同义”或“同义不同名”的现象,使得仅依靠文档或基础管理平台难以有效管理指标。
● 指标口径的不统一:业务人员常面临指标定义不清晰、技术口径不明确的问题,这无疑增加了理解和使用指标的难度和成本。
● 指标消费的不统一:早期的指标定义和数据取数口径分散,导致在新的业务场景出现时,数仓不得不创建冗余的表和重复的指标,造成了资源的浪费。
面对这些挑战,我们认识到要提升数据质量和效率,必须针对性地解决指标管理、口径和消费的统一问题。
我们的解决思路是构建一个生产促进消费、消费反馈促进管理的闭环能力。这样的良性循环不仅确保了指标体系的价值,也使其在抖音业务中能够持续、有效地运转。
整个解决方案分为三层:
第一层是指标生产,包括模型的设计,以及数据质量和稳定性上的一些保障方案。
第二层是指标管理,核心要解决的是指标的效率问题,还要保证指标的一致性。
第三层是指标消费,最终以指标专题这种方式实现指标一处定义多处消费的模式,以服务化的方式给到上游应用。
要实现高效的指标管理,必须解决以下三个核心问题:
● 指标一致性问题:包括“同名不同义”、“同义不同名”以及指标间值冲突等问题。一致性是指标管理的基石,它直接影响数据的准确性和可靠性。
● 指标的持续保鲜和有效迭代:短期内研发指标相对容易,但长期维护其活力和有效性则更具挑战。为此,我们将从机制和流程的角度出发,建立保障措施,确保指标能够持续优化和更新,以适应不断变化的业务需求。
● 效率问题:包括指标定义和拆解的效率。在快节奏的业务环境中,快速响应和处理数据至关重要,要通过流程优化和技术迭代,提升指标管理的效率,以支持快速决策。
综上所述,我们的目标是在流程和机制上解决指标的持续保鲜问题,并推动指标中台产品能力的迭代升级,以解决指标一致性和管理效率问题。通过这些措施,建立一个更加健壮、灵活且高效的指标管理体系。
接下来通过一个具体的例子来阐述我们整体的协作流程。
比如一位分析师提了一个指标需求,在指标平台中进行了需求登记。我们的业务应用层数据 BP 数仓同学接到这个指标需求之后,会去判断这个指标以前有没有建设过,是否能够复用,如果没有的话,会先去做指标的拆解。
在拆解过程中,如果发现了一些指标的基础元素上的缺失,比如缺少一些原子指标或者修饰词等,就会引入基建同学或者公共层数据同学来进行基础元素的完善。最终应用层的同学去做好指标模型的开发。
在面向需求交付的过程中,我们一般情况下也是希望对接业务的数据同学能够端到端地完成需求交付的闭环。
当然如果需要依赖的核心公共层数据缺失,那么会引入公共层的同学去完善公共数据的建设。最终把模型注册到指标平台,以服务化的方式给到下游去进行消费。
整体协作流程中的关键步骤包括:
1. 需求登记:首先,分析师需要在我们的指标平台上进行登记。这一步骤是整个协作流程的起点,通过平台提供的工具,需求得以明确和记录。
2. 指标检查与拆解:数仓开发人员接到新需求后,首先检查该指标是否已经存在。如果尚未存在,开发人员将负责指标拆解,构建新的指标定义,包括原子指标和修饰词等,这是确保指标精确性和一致性的关键步骤。
3. 模型创建与绑定:随后,从基建侧着手,开发人员创建相应的数据模型和表结构,并进行模型绑定。这一环节是将指标从概念转化为可操作、可查询的数据实体。
4. 交付与应用:完成模型绑定后,新构建的指标最终交付给数据产品团队或分析师。这一交付不仅包括指标本身,还包括了指标的详细文档和使用指南。
5. 全链路追踪:在整个指标的生命周期中,从模型绑定、指标分类归属到原子指标的对应,每个阶段都与指标消费环节紧密相连。这种端到端的流程设计,确保了每个指标的消费过程都是可追踪的,为数据的全链路追溯和优化奠定了基础。
要保证整套流程能够持续运转下去,需要有权责分明的组织设计,确保从需求提出到指标实现的每个环节都有明确的责任主体,每个角色都能在其专业领域内发挥最大的作用。
这不仅可以提高工作效率,也能够保障数据的质量和一致性。
1. 业务负责人:首先,业务负责人是需求和指标模型的提出者。他们通常是商业智能分析师或产品经理,拥有深厚的业务知识和专业背景。其职责是确保指标的原子定义和业务限定清晰无误,拥有最终解释权,是第一责任人。他们需要在各自领域内制定明确、无歧义的标准,保障指标建模的准确性和一致性。
2. 数据应用层:紧接着,数据应用层的团队负责将这些指标模型转化为实际的数据产品。他们需要选择合适的实现方式,确保指标的准确实现和及时产出。与业务负责人的密切沟通是他们工作的关键,以确保对指标口径的理解完全一致,避免任何可能的歧义。
3. 公共层数据团队:最后,基础信息的维护和管理由公共层数据团队统一负责,需要确保数据的一致性和可追溯性。
要确保指标的一致性,主要从两个方面考虑:
1. 指标拆解的规范性:指标拆解过程必须遵循严格的规范,确保每个指标的精确性和一致性。
● 基础信息配置:涵盖数据域、业务过程、度量、修饰词、统计粒度、时间周期、指标单位和数据类型,这些是构成指标的基础元素。
● 指标拆解定义:细分为原子指标、衍生指标和复合指标。
● 原子指标由业务过程和度量构成。
● 衍生指标是在原子指标的基础上加入修饰词和时间周期。
● 复合指标则是通过四则运算或统计方法修饰词从衍生指标生成。
2. 指标中台产品能力的唯一性校验:通过指标唯一性校验和原子指标/修饰词的相似性校验来确保指标在平台上的一致性和准确性。
● 指标唯一性校验确保每个指标在系统中都是独一无二的。
● 原子指标和修饰词的相似性校验帮助我们避免指标定义的冗余和歧义。
指标拆解是数据管理中最为耗时的部分,提升这一环节的效率非常重要。
我们从以下两个方面着手提升指标拆解和管理的效率。
● 理念革新:首先,在理念上我们提倡“先聚焦核心”。我们认为,理想的指标管理最终形态可能是达到“无为而治”。我们根据业务特性和指标复用性,综合考量并制定拆解方案。例如,在短视频业务中,我们采取的是“先开发后拆解”的策略,以适应快速变化的业务需求。
● 流程优化:其次,我们通过梳理和沉淀业务过程、原子指标和修饰词,建立指标生产操作手册和指标树。这些措施有助于标准化和加速指标拆解过程。同时,我们还开发了批量化脚本,自动化常规的拆解任务,减少人工操作,大幅提升效率。
比如要投入到一条业务线上的指标管理,我们往往采取的一个策略是让偏公共层的专业数仓同学去系统性地梳理出一个业务过程,原子指标、修饰词是什么,最终把这条业务线上最核心的指标做好管理,并且会整理出相应的管理手册,推广到整条业务线上去,从而做好全员的指标管理。
我们也在探索通过大模型的方式去完成自动化拆解,只需要把对应的表和字段录入进去,通过大模型就可以自动拆解出原子指标修饰词和时间周期。
我们团队对业务需求的承诺是明确的——保证 90% 的需求满足率。为了达到这个目标,敏捷性成为我们优先考虑的关键因素。
在处理普通业务需求时,特别是在短视频业务中,我们采取了一种灵活的策略。为了保持敏捷,我们不会对这类需求进行前期的指标管理。相反,我们直接开发并上线 ClickHouse 表,以快速响应业务需求。
随着业务的发展,当这些表格需要被应用到决策看板时,我们会异步进行指标的录入和拆解。这样做不仅保证了业务的敏捷性,同时也确保了数据的可管理性和可分析性。
当然,如果遇到性能问题,比如当表格不再满足 SLA 要求时,我们会进行模型的重构和指标下沉到公共层。这一过程是我们数据管理成熟度的体现,确保了数据的长期稳定性和可用性。
通过我们的中台产品一体化架构,即使在异步进行指标管理时,也只需 20 分钟就能完成单表的指标管理工作。这大大提升了我们的效率,同时也保证了数据的质量和一致性。
指标生产的模型设计遵循从明细到汇总的层次化设计原则,依次构建了明细层、轻粒度汇总层和粗粒度汇总层。
在轻粒度汇总层,我们希望能够覆盖尽可能多的维度,下游偏应用层的指标开发尽可能依赖于轻粒度汇总层,而不要直接去依赖于明细层,当然也会兼顾性能和成本。
另外,一般选择单业务过程,当然如果多个过程从业务视角上来看总是连在一起去看的,那么也会把他们放在一个模型里面去做加工计算。
粗粒度汇总层往往最终应用是给到下游直接去做消费,所以需要关注其性能,以及指标业务上的扩展性。从实践经验来看,粗粒度汇总层一般情况下选择三个左右的维度为宜。
首先要明确保障的对象和内容。需要从业务视角出发,清晰界定我们所要保障的对象。这包括:
1. 产品模块的梳理:了解每个产品模块的具体情况。
2. 责任分配:明确每个模块的责任人,包括产品经理、开发人员和数据分析师(DA)。
3. 保障标准:设定具体的标准,如产出时间、用户体验等,确保数据的准确性和及时性。
第二,要保障方案的实施,通过工具化和平台化来赋能整个保障过程。这涉及到:
1. 全链路血缘:分析模块之间的关系、消费情况和协同依赖,确保数据的一致性和可追溯性。
2. 日常化管理:利用飞书群等工具,对异常告警进行播报和推送,实现数据质量的日常治理。
在需求交付的全链路流程中,数据质量的保障是至关重要的。例如:
1. 开发测试阶段:我们要求管理层的决策指标必须经过正确性、一致性和合理性的测试。
2. 发布上线阶段:实施严格的变更管控,确保数据的稳定性。
3. 线上运维阶段:从数据视角、工程视角以及应急机制出发,全方位保障数据的质量。
总之,数据质量的保障是一个系统工程,需要我们在每一个环节都投入关注和努力。
在对外的商业化的数据产品,或者面向于服务管理层的业务时会非常注重指标生产的稳定性,我们主要面临两个核心问题:
首先,上游管理难。由于上游链路众多且保障能力参差不齐,因为有的可能是偏工程团队在管理,而且整条链路可能上游有的时候高达几十层,这使得上游管理的复杂性大大增加。这通常占到了整体故障的 40%。
其次,保障如何做到日常化。我们经常遇到优化后短期内效果显著,但随着时间推移,稳定性又逐渐变差的情况。
为了应对这些挑战,我们提出了一个三层解决方案:
● 建立规范:我们定义了数据分层产出规范、指标新增和下线规范,以及研发规范,确保每一步都有明确的标准和流程。
● 链路优化:我们不仅优化了上游链路,还对计算任务进行了细致的调整,以提升整体的处理效率和稳定性。
● 日常化治理:关键在于量化稳定性问题,通过持续发现问题和优化推送,我们将治理工作融入日常。此外,在运维保障中,日常值班机制、SLA 签署和故障响应体系的建立也是我们稳定性保障中不可或缺的部分。
总结而言,通过建立规范、优化链路和日常化治理,我们能够系统性地提升指标生产的稳定性,确保我们的数据处理既高效又可靠。
指标专题是指标查找、理解口径、使用指标的一站式入口,服务于产品、运营、分析师和战略等不同角色。它不仅提供了指标的综合搜索功能,还具备面向应用场景的专题应用能力。
面向对象的特点包括:
● 目录结构的灵活性:可以灵活地创建专题空间,管理员可以根据业务需求定义指标专题及其分类目录,确保业务指标体系的清晰展现。
● 权限分级的精细化管理:专题信息由管理员统一维护,确保了信息的可靠性。同时,支持多角色设定,包括业务线管理员、指标专题管理员、指标分类管理员,提高了操作的灵活性。
● 指标导入的便捷性:简化了指标导入流程,使得指标的添加和管理变得更加容易。
通过这些特点,不仅提高了指标管理的效率,也加强了数据的可访问性和透明度,为决策提供了坚实的数据支持。
我们的指标列表不仅是一个展示工具,更是一个强大的管理平台。
● 可以帮助我们快速理解整个业务线的核心指标到底是什么。
● 灵活、清晰地展示指标优先级。
● 页面可作为业务模块指标体系直接分享。
指标详情页是一个全面展现指标相关信息的地方。包括三大组成部分:
● 业务详情页:这里汇聚了指标的核心业务信息,包括其定义、用途和业务影响。提供了近期数据的快照,使用户能够迅速把握指标的动态变化。此外,还关联了高热度的看板,使得业务团队能够从宏观角度理解指标在实际业务中的应用和价值。
● 技术详情页:深入技术层面,展示了每个指标的技术口径和计算逻辑,以及它们所关联的数据模型。为数据工程师和技术团队提供了一个清晰的技术视角,帮助他们更好地理解、维护和优化指标。
● 消费血缘:通过展示指标的血缘关系,帮助用户追溯数据的加工流程。这种可视化的血缘分析不仅方便了问题的诊断和定位,也加强了数据的透明度和可追溯性。
指标专题消费的核心思路还是希望能够做到指标一次定义多处消费。指标专题的应用通过如下一些方式为工作效率带来了提升:
● 决策看板:通过专题指标与风神的直接打通,在可视化的 BI 工具中,可直接基于维度和指标快速搭建所需的数据看板,决策者可以快速获取深度分析,为决策提供强有力的数据支持。
● 自助取数:Chat BI 大模型的应用,降低了数据获取的技术门槛,让每个用户都能成为数据的探索者。
● 日报推送:自动化的日报推送不仅节省了时间,也确保了信息传递的时效性和个性化。
价值衡量是从生产视角和消费指标来审视指标管理的健康程度,比如有多少指标在管理中,有多少指标规范地下沉到了公共层。
从消费视角,我们会关注通过指标专题进行统一下游消费的比例是多少,还会关注消费后的业务反馈,通过指标专题给到下游消费是否对指标一致性和指标的可理解性得到提升。
上图中展示了电商业务的实践结果,从定性角度来看,指标体系对数据团队最大的收益是指标一致性和指标复用性带来的人效提升;对于分析师和业务同学来说,更多的是提升了整个指标的可理解性,并降低了沟通成本。
最后分享一下我们对未来工作的规划。
首先,仍会致力于转变传统的数据交付方式,希望以指标及服务化的方式去提供稳定、可复用的数据产品。具体工作仍将围绕以下三个核心部分展开:
● 指标生产:我们正朝着标准化、配置化、自动化的方向迈进,这一过程将确保指标生产的高效率和高质量。
● 指标管理:通过大模型自动化指标拆解,增强了指标的可理解性。这不仅提升了数据的透明度,也使得数据管理更为直观和便捷。
● 指标消费:我们致力于打造一体化数据架构,实现一处定义、多处消费的模式。这将简化数据应用流程,提高数据的利用率。