Data Mesh权威指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

引言 想象Data Mesh

想象力常常会把我们带到从未存在过的世界。但没有它,我们无处可去。

——Carl Sagan

每个成功的公司背后都有三个失败和被遗忘的公司。这是因为失败人数的比例超过幸存的注1。在人工智能时代,存活下来的头部公司已经破解了复杂性的密码,这并不是奇怪的巧合,它们将数据驱动的实验嵌入业务的各个方面,通过快速学习来拥抱变化,运用机器智能(Machine Intelligence)技术以超越人类逻辑和推理的能力来理解现实。

Daff注2作为一家虚构的全球音乐和音频流媒体公司,就是此类公司的一个例子注3。Daff成功地完成了它的使命:“在生活中的每一刻,以身临其境的艺术体验,连接全球的艺术家和听众。”在Daff的使命背后,是公司对数据、分析和机器智能寄予的厚望,这通过Data Mesh方法实现。Data Mesh是Daff的数据策略、架构和运营模型的支柱,它赋予了公司使用数据和机器学习进行实验、学习和适应的规模和速度。

我想和大家分享的是Daff实现Data Mesh后的故事。通过Daff的故事,你将了解Data Mesh的本质。你将看到Data Mesh的原则、Data Mesh的优势、Data Mesh的实际架构以及建立和运行的组织结构。

我发现引入Data Mesh等复杂现象的最佳方法是举例。然而,现在描述一个拥有成熟Data Mesh的公司的例子还为时过早,因为我们目前正在构建第一个Data Mesh。因此,我正在描述一个虚构的组织,它展示了我期望在几年后看到的特征。虽然我们不期望现实会符合想象,但是我们的工作愿景中很重要的部分就是理解我们正在尝试实现什么。为了最好地表达这幅蓝图,我虚构了这家公司,我想象它会出现在商业媒体上。

Data Mesh实践

这是2022年。

通过利用机器学习坚持不懈地关注用户体验,Daff展示了其付费订阅者的强劲增长。该公司仍然是功能丰富的最受欢迎的平台之一,它使用数据来定制个性化身临其境的体验,设计了一个庞大的内容库,并发掘新的以及正在崛起的艺术家。Daff在不断发展,添加了新的服务,扩展到了相邻的流播客、视频和组织活动等领域。如今,Daff的业务几乎遍布全球,从活动和艺术场所到健身平台,本地和全球商业合作者的生态系统也在不断壮大。

过去三年,Daff将它管理和使用分析型数据的方式转变为Data Mesh方法。Data Mesh是一种从大规模分析型数据中获取价值的新方法,它使数据和业务比以往任何时候都更加紧密合作。

Daff部署了复杂的机器学习模型,这些模型持续地在多样化和不断演进的数据集(来自组织内部和组织外部)中探索一些模式。Daff为听众提供了专门针对他们的爱好、心情、一天中不同时间和地点的音乐建议;利用数据为艺术家提供了有针对性的活动,以帮助他们扩大影响力;通过业务分析、仪表板、报告和可视化来掌握自适应业务的实时动态。这只是Daff如何从数据中获取价值的冰山一角。

让我们和Daff一起,看看它是如何做到的。

数据好奇心和实验的文化

Daff最显著的变化之一是无处不在的敢于不停发问的文化,“如果……将会怎样”:如果我们可以做出改变让事情变得更好将会怎样?这是一种痴迷于进行实验、观察结果、分析数据、理解数据、从中学习并适应的文化。

这种文化建立在一个技术基础之上,该基础可以让每个人都敢于尝试:尝试应用机器学习的大实验,或者只是调整用户界面功能的小实验。

Daff围绕其称为领域的业务单元进行组织。播放器领域专注于移动设备上使用的核心音乐播放器,合作伙伴领域专注于与商业伙伴合作,如健身应用程序和艺术场所等。播放列表领域研究生成播放列表的高级方法。每个领域都结合了软件开发和更广泛的业务能力,并负责支持该领域的软件组件。

走进Daff,你会注意到,在任何时间点,每个领域都在同时运行着许多实验,以改进其应用程序和服务。例如,播放器领域团队正在不断尝试更好地与用户互动。合作伙伴领域团队正在用从各种外部来源(如健身平台艺术场所等)获取的数据做实验。播放列表领域团队正在不断应用更先进的机器学习技术来策划和推荐引人入胜的合辑。艺术家领域团队正在利用机器学习技术来发现、吸引通常会被忽视的艺术家并让他们入驻。

业务的每个领域及其协作技术团队都对有意义、值得信赖和安全的数据深表赞赏。不仅如此,每个人都期望在整个组织中按需访问数据是一种常态。他们都知道自己在实现这一目标中的作用,都对数据负责并参与其中。

只要可以利用过去的数据和模式来实现领域的特性或功能,大家就会积极地应用机器学习模型。例如,播放列表团队正在使用生成类的机器学习模型来创建奇妙和精彩的合辑。这些合辑针对不同的活动,从跑步到学习。艺术家团队正在利用来自社交媒体和Daff之外的其他机构的多个数据集来发现新兴艺术家并让他们入驻,让他们与新观众建立联系,然后进行推广。

你可以感受到对数据使用的热情,并看到一种新的现象,这里允许创建和发现一些信号,这些信号对人类感官注4来说只是噪声译注1

Data Mesh之前的数据文化

现在这种文化与三年前的Daff形成了鲜明的对比。数据收集、试验和人工智能被外包给了一个单独的数据团队。数据团队承受着巨大的压力。领域团队不信任数据,或者经常找不到他们需要的数据。数据团队一直在追赶,要么追逐上游应用程序及其数据库的每一个微小变化造成的对数据流水线的破坏,要么试图满足昨天亟需数据解决方案的领域的需求。领域本身对数据的易于获得、可靠和可用没有任何责任和兴趣。获取正确数据的准备时间和摩擦导致很难在领域内想象新的可能和试验。

比较这两种经历可以看出Daff在转向Data Mesh后的三年里取得了多大的进步。

数据和机器学习的嵌入式合作伙伴关系

数据实验文化看起来好得似乎令人难以置信。要了解它在实践中的样子,让我们看看Daff最近的数据驱动业务功能的故事,并了解相关人员的经验。

智能音乐播放列表已成为Daff平台的一项成功功能。音乐播放列表领域已经有多个机器学习模型在工作,这些模型将各种来源的数据进行交叉关联,从而根据听众的位置、行为、兴趣以及所在场合为听众推荐更匹配的播放列表。

播放列表的机器学习模型利用来自整个组织的各种来源的分析型数据产品的数据来发现规律,例如:

听众领域共享的数据,比如听众资料、听众社交网络、听众位置等,以了解听众的背景和群组。

播放器领域共享的数据,比如播放会话和播放事件,以了解听众在播放器设备上的行为和偏好。

音乐专辑领域的数据,比如音乐曲目和音乐资料,以了解音乐曲目的资料和分类。

有多个经过训练的机器学习模型可以生成智能播放列表,例如周一播放列表、周日早上播放列表、专注时刻播放列表等。

播放列表团队将这些不断改进的合辑作为数据产品分享给其他团队。数据即产品是一个共识的概念,指的是按照Daff建立的数据共享标准共享数据。数据产品可通过全局数据发现工具自动访问。它们共享并保证满足一组服务水平目标(SLO),例如每个播放列表的刷新频率、准确性和及时性等。它们拥有最新且易于理解的文档。简而言之,数据产品是具有正确访问权限的用户可以获得的高质量数据,并且数据产品易于理解和使用。

播放器领域团队是播放列表数据产品的主要用户之一,该团队专注于跨不同播放器用户界面(如移动端、桌面、汽车等)向听众呈现内容。团队持续消费最新和最优秀的播放列表并将它们呈现给听众。

播放列表团队正计划改进它们的模型,以便为不同的运动活动推荐新的播放列表,例如跑步播放列表、骑行播放列表等。团队需要找到现有数据,其中包含有关听众在运动活动中喜欢和播放的音乐的信息。

首先,播放列表团队进入Data Mesh的发现门户并搜索所有可能与运动活动相关的数据产品。通过发现机制,该团队发现合作伙伴领域有一些与此相关的数据。发现工具允许团队自动访问文档、示例代码以及有关数据产品的更多信息。团队自动发送访问请求,连接到合作伙伴数据产品,然后检查样本数据集。团队虽然发现了一些涉及联合成员(既是合作伙伴健身平台成员,又是听众)的有用数据,但没有找到任何关于他们在跑步、骑自行车或做瑜伽时在这些平台上听的或喜欢的音乐的信息。

播放列表团队与合作伙伴数据产品所有者取得联系。每个领域都有一个专门的产品所有者,他专注于该领域的数据共享。通过直接对话,他们让合作伙伴团队知道播放列表团队需要访问健身平台在不同活动中播放的音乐曲目以及会员喜欢的音乐曲目。此对话使得创建合作伙伴播放列表数据产品的优先级大大提高。

合作伙伴业务团队的宗旨是通过与健身平台等合作平台的无缝集成和音乐共享,为听众创造更好的体验。创建合作伙伴播放列表数据产品符合该团队的业务目标。合作伙伴团队最适合创建这个数据产品,它们与合作伙伴平台合作最密切,并了解它们的集成API和这些API的生命周期,这些API直接为合作伙伴播放列表数据产品提供数据。

鉴于Daff在过去三年中建立的自助数据基础设施和平台功能,合作伙伴团队可以相当容易地创建新的数据产品。它们开始与最受欢迎的骑行和健身合作伙伴合作,并使用他们的API访问其会员播放和喜欢的曲目。

合作伙伴团队使用平台数据产品生命周期管理工具构建转换逻辑,并将这些数据呈现为多种模式的数据产品,其中最初只是近实时增量快照文件的模式。为了使合作伙伴播放列表与其他数据产品的集成更容易,转换代码着重于协调音乐曲目ID与Daff所有数据产品中使用的全局曲目ID系统(不同系统的ID映射问题)。在几个小时内,团队构建了新的合作伙伴播放列表数据产品并将其部署到网格中,并提供给播放列表团队以继续实验。

在这个简单的场景中,有一些Data Mesh的基本原则在发挥作用。一个原则是分布式的数据领域所有权注5,以消除数据用户和数据提供者之间的隔阂,在这种情况下,允许播放列表领域直接与合作伙伴领域一起工作,每个团队都为提供数据、播放列表合作伙伴播放列表等功能长期负责。

数据即产品注6的文化和技术是Data Mesh的第二个原则。团队有责任提供易于发现、易于理解、可访问和可用的数据,我们称之为数据产品。每个跨职能领域团队中都有既定的角色,例如数据产品所有者,他对数据和数据的成功分享负责。

在几个小时(最多一两天)的时间内验证共享新的合作伙伴播放列表数据产品的可行性,以及发现正确数据并无摩擦地使用它的可能性,都依赖于自助数据平台注7。平台为跨功能团队提供数据共享和数据使用的服务,并为高效、安全地创建和共享数据产品铺平了道路。例如,自动访问控制、默认加密个人信息以及使用全局发现工具注册所有数据产品等都是平台提供的服务。

Daff依靠一套完善的治理策略来自信和有效地共享数据。例如,对于谁应该拥有哪些数据的集体统一共识就是这种策略的一个例子。在这种情况下,合作伙伴团队就是合作伙伴播放列表的所有者。它们是最接近源头的团队,控制着与合作伙伴的关系,非常了解影响合作伙伴数据的因素。虽然这似乎是一个简单而自然的决定,但它是基于Daff为管理“给数据产品分配长期所有者”策略而建立的一套启发式方法。一个来自多个领域的联合代表小组负责定义这些策略,数据平台负责将它们自动化。这就是Data Mesh的联邦计算治理原则注8

Daff走了很长一段路才实现这一无缝且无摩擦的旅程。图P-1展示了这种点对点和去中心化的协作方式。

图P-1:使用Data Mesh创建智能播放列表的场景

Data Mesh之前的数据工作

如果是三年前,在相似的场景下,我们将面临数周的工作、许多摩擦和瓶颈,以及跨多个团队的多次交接,这些都可能导致数据质量不佳。在三年前,预期的代价和所有摩擦可能会阻碍该计划的启动,也可能中途放弃,即使最好的情况下也需要花费更多成本。

三年前,播放列表团队需要请求中央数据和AI团队进行优先构建并训练新的运动播放列表模型。中央数据和AI团队中的数据科学家需要排列整个组织范围内的基于机器学习的项目的优先级。在优先考虑播放列表请求的最好情况下,数据科学家将不得不去一个集中的数据湖团队或数据仓库团队获取数据,并向一个集中的治理团队请求访问数据。

这会增加几天工作量。即便如此,在找到数据之后,数据科学家很可能还不能完全理解这些数据。数据可能已经过时了,因为合作伙伴团队已经建立了许多新的应用集成,但是它们尚未进入中央仓库或数据湖。中央数据科学家团队也因此可能降低对数据源的信任。

在意识到数据科学家需要更多来自合作伙伴的音乐相关数据后,数据湖团队将需要去找一个负责流水线的数据工程团队来建立新的提取、转换、加载或者提取、加载、转换(ETL或者ELT)流水线,以便从合作伙伴集成API获取数据并将它们存储到数据仓库或数据湖中,但又卡在了另一个工作上。

集中式数据工程团队不得不花费数天时间来协商和理解一个全新的领域,即合作伙伴领域,以便将数据从它们的应用程序数据库纳入流水线,然后再进入数据湖。集中式数据工程团队必须了解内部的数据库,找出它与其他内部应用程序之间的细微差别,才能将内部音乐ID映射到全局ID。这些都需要更多时间。

在没有直接参与和理解业务用例的情况下,合作伙伴团队没有动力优先考虑高质量的合作伙伴音乐集成注9,并支持数据工程师的ETL流水线。临时集成需要经过几天调试才会有一些数据流到数据湖中。这样的冒险还在继续。

Daff按功能划分的组织设计和技术根本不利于数据驱动的实验注10

图P-2展示了Daff在Data Mesh之前的组织结构和架构。它们拥有现代化的软件开发架构和组织结构,因为其业务和技术开发团队已经围绕自治领域进行了调整。然而,它们的数据和分析团队及其架构是按照功能划分的,并被集中放在了一起使用了数据湖和数据仓库的单体架构。

中央数据团队和单体架构已成为应对公司内部和外部数据源激增及其用例多样性的瓶颈。数据团队一直承受着巨大的压力,对Daff增长的响应也持续放缓。投资回报率已经很难上升。

简而言之,Daff的数据团队结构和架构已经与其抱负和组织的发展格格不入了注11

图P-2:Daff在Data Mesh之前的组织和架构

隐形的平台与策略

在我刚刚与大家分享的运动播放列表场景中,应用Data Mesh后,数据用户和数据提供者的体验会很神奇:没有摩擦、快速的端到端的结果、共享的责任感和明确的责任边界。

为了使这些成为可能,Daff创建了一套自助服务技术和自动化工具,这些技术和自动化工具看起来原生可用,并且几乎对用户透明。

在满足数据提供者和数据用户的体验的背后,为了快速、自主地共享数据,有一个由自助服务功能组成的平台,它实现了一系列关键体验。

构建、部署、监控和演进数据产品的体验

在此示例中,数据平台提升了在短时间内创建和演进合作伙伴播放列表运动播放列表数据产品的无摩擦体验,包括与源集成、构建和测试数据转换代码以及提供数据。

将数据产品网格作为一个整体的体验

在这个场景下,平台服务支持搜索和发现数据产品、连接数据产品、查询它们的数据、订阅持续更新的数据,以及连接和关联多个数据产品以创建新颖的播放列表。

该平台的这些基于体验的功能针对用户(数据产品开发人员、数据所有者、数据用户)进行了优化,以最大限度地减少他们在数据共享和实验中的学习成本。

对于Daff来说,以机器层面的逆优化为代价来优化用户(数据产品开发人员和数据用户)层面的体验是不可接受的。平台的不可见部分更靠近物理层,远离用户,负责物理和机器优化。平台的体验平面(一组内聚的服务)负责优化用户体验来使其自主使用和连接数据产品,而平台的工具平面负责优化物理和机器层面的性能注12。例如,它支持:

•数据产品的高效多格式存储

•跨数据产品的高效查询和工作负载处理

•高效的搜索和索引

•缩减的数据移动

播放列表团队使用和关联来自不同团队(如合作伙伴、听众和音乐资料)的多个数据产品,它们提供一致的无缝体验,这些体验是由一套管理所有数据产品的全局标准策略决定的注13

•数据共享API的标准化

•元数据标准化,包括SLO、文档和数据建模语言

•共享数据实体ID的标准化

自主数据产品的无限扩展

Data Mesh通过可以横向扩展的组织和技术结构满足了Daff的增长愿望。正如你在智能播放列表示例中看到的,引入新播放列表或改进现有播放列表只是添加更多数据产品并将它们连接起来的问题,例如,跑步播放列表、骑行播放列表、健身平台X合作伙伴播放列表、健身平台Y合作伙伴播放列表等。这是一种横向扩展的架构,你可以通过添加更多同等节点并将它们相互连接来实现无限扩展。数据产品是作为架构量子实现的,这是架构中可以独立部署并且仍然拥有所有结构组件来完成其工作的最小单元。

该架构确保每个数据产品都实现了一组标准的数据访问和共享契约,每个产品都可以连接到网格上的其他数据量子以共享数据和语义。每个数据产品都封装了管理其数据的转换逻辑和策略。面向数据产品的分布式架构匹配了面向领域的组织自治。

Daff的数据产品标准化加快了其发展速度,扩大了其规模注14

积极的网络效应

Daff在使用数据和分析方面的成功可以总结如下:通过领域间的点对点连接,以数据产品为单元进行价值交换,从而产生积极的网络效应。网络越大,建立的连接越多,领域之间共享的数据就越多,以此产生智能应用和高阶洞察力,并最终改善业务。

Daff投入巨资来执行其Data Mesh战略,进行组织和文化变革,并搭建基础设施和平台底座。但它也一直在努力通过可衡量的收益来跟踪投资回报。

根据衡量结果,在外部,Daff创造了更深层次的用户参与度,并通过应用机器学习和数据来改善听众在多个触点的体验,从而增加了活跃听众的数量。在内部,Daff通过消除中心化和中间人的瓶颈减少了访问数据的准备时间,通过创建用于发现和共享数据产品的标准契约和接口来降低数据变更的风险,通过对数据产品采用自动化持续交付实践,减少了开发数据产品的浪费。Daff增加了数据在整个业务中的应用,这可以通过数据产品之间的连接量来度量。Daff在每个领域和团队中嵌入数据所有权,从而增加了参与创建数据驱动解决方案的团队的数量。Daff还利用平台的服务和聚焦数据开发人员的体验,降低了拥有数据的成本和创建端到端数据解决方案的成本。

Daff对投资Data Mesh所产生的一些改进的方面进行了度量注15

为什么要转向Data Mesh

让我们回到2019年,那是Daff的拐点之年注16

在那过去的几年里,Daff对数据解决方案进行了大量投资,例如数据湖和数据仓库,以大规模捕获数据。Daff在首席数据和人工智能官的领导下建立了一个大型数据和人工智能团队,负责组织范围内的数据采集、建模和服务,以及构建业务所需的分析和机器学习解决方案。Daff采用的组织架构和运营模式是当时行业内的标准做法。

这一年,Daff反思并意识到它们对数据的渴望已经超出了其执行能力。集中式数据团队和单体架构已成为应对公司内部和外部数据源激增及其用例多样性的瓶颈。数据团队承受着巨大的压力,对Daff的增长的响应也持续放缓。投资回报率已很难提升。

Daff需要改变,并在那时发现了Data Mesh。

在开始应用Data Mesh之前,Daff仔细研究了它们的业务(目标、组织、技术能力)和Data Mesh是否匹配。

Data Mesh的预期结果与它们要解决的痛点一致:

快速的增长和增加的复杂性

Daff发展迅速,业务变得越来越复杂,对多样化和大胆的分析愿望的实现变得越来越慢。Data Mesh旨在从数据中获取价值并在复杂和大型环境中保持敏捷性。

从大规模数据中获取价值

Daff在数据和分析的基础技术上进行了大量投资,但结果却停滞不前。Data Mesh通过调动更多的通才型技术人员成为数据开发人员和用户,从而更经济地从数据中获取价值。

Data Mesh的目标和影响的总体范围听起来很有前途。然而,基于Daff的背景,现在有一个问题:这是否就是Daff正确的选择。

这个问题的答案是肯定的。

Data Mesh与Daff现有的面向领域的组织设计相兼容。这是对它们现有设计和架构的扩展。Data Mesh建立在去中心化的数据所有权模型之上,该模型只是扩展了它们现有的业务相关的开发团队。

实际上,集中式数据团队是最后按功能划分的团队之一,这与Daff当前面向领域的业务和技术组织设计有些不一致。鉴于它们希望使每个领域都由数据驱动并在其中嵌入智能决策,因此将数据和分析的所有权转移到领域是有意义的。该公司已由领域对齐的业务-开发-运维团队一起运营,因此这些团队很自然地可以扩展数据能力和职责,实现数据访问的自治。诚然,治理也需要考虑组织内部的各个衔接处的问题。

Daff知道,作为Data Mesh的主要采用者,它需要投入时间和资源来构建基础技术和支持平台。Daff将自己视为一家以技术为核心的软件公司,不仅支持其业务,而且还塑造和扩展了技术本身。Daff从没有回避技术投资注17

Daff意识到实施一种新方法将是一个持续数年的转型,它包括对数据文化、数据组织结构、数据角色、数据架构和技术的改变。

因此,Daff在接下来的三年中致力于逐步转向Data Mesh。在整个旅程中,它们交付了精心挑选的数据驱动用例,同时进行了组织转型并建立了平台和技术注18

前方的路

尽管在业务、文化和技术方面取得了成功,但Daff仍有一段路要走。它们对Data Mesh实现的演进当然已经度过了探索阶段,建立了工作方式和基础平台。它们已经将Data Mesh扩展到了众多领域。然而,为了继续从Data Mesh中提取价值,还需要不断优化和完善方法。还有一些领域未进入Data Mesh,它们需要向这些领域扩展,并将它们的平台功能扩展到可以与遗留系统一起工作但无法与面向领域的跨职能团队一起工作的领域。

这就是Data Mesh转型的预期轨迹:一条演进路径,不时出现探索、扩展和提取的重复循环注19

我希望Daff的Data Mesh故事已经说服了你,让你愿意继续阅读下去,我们下一章见。


注1:根据美国劳工统计局(BLS)的数据(https://oreil.ly/SrQSC),只有25%的新企业能够活到15年或更长时间。随着时间的推移,这些统计数据也没有太大变化,自1990年以来一直基本一致。

注2:虚构公司的名称“Daff”来自一种可追溯到3000多年前的波斯打击乐器的名称,该乐器至今仍在演奏,象征着某种经久不衰的东西。

注3:Daff的灵感来自我作为Spotify听众的经历(https://oreil.ly/rzLnp)。公司内部运作及其服务的例子都是虚构的。

注4:请参阅第16章,其中使用此处引入的Daff的例子讨论了Data Mesh组织中的价值观、文化、激励和责任。

译注1:通过机器学习和数据可以发现很多通过人类的感官很难发现的洞见。

注5:第2章介绍了Data Mesh组织中的长期数据产品所有权。

注6:第3章介绍了数据共享即产品在Data Mesh组织中的概念。

注7:第4章介绍了Data Mesh基础设施服务作为自助平台的目的和特征。

注8:第5章描述了在跨数据产品网格层面建立全局策略的运作模型和方法。

注9:第16章描述了团队共享数据的内在动机。

注10:第8章描述了Data Mesh之前数据团队的性质。

注11:第8章详细介绍了当今企业现有架构和组织方法的瓶颈和不足之处。

注12:第10章更详细地描述了平台的不同平面。

注13:第四部分描述了作为网格上架构量子的数据产品共享的各个方面。

注14:第11章描述了数据量子的设计和功能。

注15:请参阅第15章以了解如何度量和监控Data Mesh的执行进度。

注16:第6章介绍了行业范围内需要采用新方法来管理和使用数据的主要驱动因素,类似于此处为Daff提出的方法。

注17:第五部分介绍了一种自我评估工具,用于评估在撰写本文时Data Mesh是否适合你的公司。

注18:如果我将Daff多年的旅程都包括在内,这将是一个很长的故事。但是,如果你想阅读关于执行和转型的方法,请参见第15章和第16章。

注19:第15章介绍了一种在演进式转型中建立Data Mesh的方法。