数据网的介绍以及用途

107 阅读17分钟

数据网格是一个去中心化的范式。它分散了数据的所有权,将其转化为信息以及为其服务。它的目的是通过消除数据价值流中的瓶颈来增加从数据中提取的价值。

数据网范式正在颠覆数据空间。大大小小的公司都在争先恐后地在互联网上展示 "他们类似于数据网的旅程"。它正在成为任何想要从他们的数据中提取更多价值的公司需要尝试的新 "东西"。我认为数据网范式是一个强调社会性的社会技术架构。主要关注的是人、流程和组织,而不是技术。数据网格可以,但不一定要使用目前大多数数据系统所运行的相同技术来实现。

但是,作为一个不断争论的话题,以及缓慢出现的最佳实践和标准,我们发现需要一本深入的书,涵盖使数据网格发挥作用的关键原则,以及使其适用于任何公司所需的例子和变化。

首先,我们将看看数据网格的核心思想,以及与之相关的好处和挑战。

数据网格101

数据网的范式是关于分散责任的。

例如,一个公司的 "客户注册组件 "的开发团队也创建了一个用于分析 "注册客户 "的数据集。他们通过将数据转化为CSV文件等方式来确保数据是易于消化的格式,并以消费者喜欢的方式提供给他们,例如在一个中央文件共享系统上。

但是,这个看似简单的定义有很多含义,因为在大多数公司中,数据是作为一种 "副产品 "来处理的。它通常只有在作为副产品输出到某种形式的存储后,才会变成价值,然后被集中的数据团队拉到中央技术中,然后分散的行为者再次拿起数据。无论是营销部门的分析师,还是在营销活动中使用的推荐系统内,或者在前端显示。

图1描述了一种常见的数据架构形式,包括组织和技术。希望它也能显示出它的陷阱。


图1 分散的数据排放和中央转化会给用户带来问题,因为数据的所有权和责任以及它的质量等都不明确。


我们在这里可以看到两个层次的集中化:

  • 以存储和通常的数据工程、数据科学机器为形式的中心化技术。
  • 数据团队的组织集中化。

由于开发团队认为数据是一个 "副产品",所有权被隐含地分配给数据团队。但这样的中心团队通常无法跟上多个数据源领域内的业务领域知识。负责客户注册的开发人员只需要知道该组件内部的语言和更新以及相关业务。但是中心数据团队将不得不对每个域的理解乘以域的数量。这种超负荷的工作使得中心团队对单个领域的理解不可能达到负责的开发团队的程度。结果是,数据团队无法判断数据是否正确,实际意味着什么,或者具体指标可能意味着什么。

数据网范式的转变要求对数据的责任进行分散,也就是将其视为一种实际的产品。如果开发团队通过一些标准化的数据端口将数据产品直接提供给分析师,那么图1中描述的情况就可以变成一个数据网。它可以是一个简单的CSV文件,托管在适当的云存储点,便于分析人员访问。看一下图2,看看这种转变的作用。


图2 分散化的数据转换通过提供对描述良好的数据的简单访问而使数据消费者满意。


一个平台团队可以帮助提供一个简单的技术即服务,供开发团队使用,以快速部署这种数据产品,包括数据端口。

数据生产者专注于开发数据产品**,**这些产品与数据消费者一起,开始形成连接,构成一个网络。我们把这样的网络称为网状,其中的各个节点是数据产品和消费者。

即使在我们的小例子中,我们也观察到了一个重大的操作范式变化。它既包括所有权责任的转变(从中央数据团队到开发团队),也包括使新设置工作的技术挑战。

引入运营范式的变化将导致影响你业务的许多领域的涟漪。为了阻止它变成混乱,我们需要指导性的原则。

在此之前,你必须了解我们对 "数据网 "的定义和它的非技术方面。

数据网的定义

Zhamak Dehghani在2019年开始策划数据网的想法时做出了令人难以置信的努力。她为我们提供了它的所有关键要素,并为之前讨论的范式转变引入了一种结构化的方法。

自从Zhamak首次介绍 "数据网 "的方法以来,出现了许多受 "数据网 "启发的、源于商业的和理论上的例子。这些内容有很多可能并不完全符合本文所介绍的数据网格框架的最初描述。很多企业似乎有些不确定哪些内容符合数据网格的定义,哪些不符合。

出于这个原因,我们选择了首先是实用的解决方案。因此,我们下面提出的数据网格的定义旨在广泛的、功能性的,并强调分散的努力,以最大化数据的价值

数据网的定义

数据网是一种去中心化的范式。它分散了数据的所有权,将数据转化为信息,以及数据服务。

它的目的是通过消除数据价值流中的瓶颈来增加从数据中提取的价值。

数据网格范式以四项原则为指导,帮助实现数据的大规模高效运行:领域所有权、领域数据作为产品、联合计算治理和自我服务数据平台。数据网格的实施在范围和对这些原则的利用程度上可能有所不同。

实施数据网格的目的是为了从公司的数据资产中提取更多的价值。这也是我们将这个定义保持在如此轻量级的原因,并且在遵循每个原则的层面上具有包容性。下面这个非技术性的数据网格使用案例,希望能够解释我们的意思。

为什么是数据网格?

我们认为有三个主要的原因使数据世界需要以数据网的形式进行分散化:

  • 随着数据源和数据消费者的激增,中间的中心团队造成了组织上的瓶颈。
  • 随着多种数据发射和消费技术的出现,中央单体数据存储造成了技术瓶颈,很多信息因此而丢失。
  • 数据质量和数据所有权都只是隐性的分配,这就造成了混乱,并且在这两种情况下缺乏控制。

在过去的三十年里,大多数数据架构的设计都是为了整合多个数据源,即中央数据团队合并来自各种源系统的数据,并向用户提供统一的数据集,而用户又试图利用它来推动商业价值。

然而,十多年来,大数据的宿醉问题一直困扰着各种规模的公司。数据环境在解决方案的可扩展性、数据的完整性、可访问性问题等方面挣扎。这对你们中的一些人来说可能是熟悉的。有些事情似乎根本无法解决。与创建和维护它们的成本相比,几十份报告和仪表盘似乎没有什么用处。一批数据科学项目似乎停留在 "原型 "阶段,而那些运行数据密集型应用程序的人可能正面临着一堆与数据有关的问题。至少与让一个软件组件运行所需的努力相比,应该是这样的。只是还不对。

可扩展性问题的原因之一是数据源和数据消费者的激增。当一个中心团队管理和拥有数据的整个旅程时,一个明显的瓶颈就出现了:从摄取到转换和协调,再到为所有潜在用户提供服务。沿着数据管道分割团队也没有什么帮助。当从事数据摄取的工程师改变任何东西时,他们需要通知负责转换的小组。否则,上游系统可能会失败,或者会错误地处理数据。工程师之间需要密切协作,这导致了所有与数据相关的系统的紧密耦合。

另一个问题来自于数据平台的单体性质,如仓库和湖泊。因此,它们往往缺乏多样性,无法反映出从来源和特定领域结构中获得的数据所编码的现实。此外,数据结构的强制扁平化降低了从收集的数据中产生有价值的见解的能力,因为关键的特定领域的知识在这些集中化的平台中被丢失了。我们可以在我们工作的一个项目中观察到这一点。汽车零件制造公司正在购买与不同零件的故障有关的数据。尽管供应商有关于部件出处的信息,即部件安装的型号,但买方没有数据模型允许它存储这些信息。因此,部件被分开分析,阻碍了研发部门更好地了解全局的努力。

还有两个交织在一起的因素加剧了上述的问题。一个是数据所有权结构不明确;另一个是数据质量的责任。在不同专业团队中穿梭的数据失去了与业务意义的联系,这意味着集中式数据处理系统和应用程序的开发者不能也不会完全理解其内容。相反,数据质量的评估不能脱离其意义。

类似的问题已经在软件工程的其他领域被认识到,并导致了领域驱动开发和微服务的出现(和成功!)。将类似的思想(即关注数据所有权和共享工具)应用于数据工程,导致了数据网的发展。

替代模式

对于Data Mesh的数据责任的分散化,有两个主要的替代模式。

第一个选择是人员和技术的集中化。这是任何创业公司的默认设置。而且这是一个非常体面的默认选项,就像巨石是任何软件组件的一个体面的默认选项一样。在开始时,分散化的成本超过了它的好处。通过在一个数据团队内部紧密合作,只使用一种技术,带来的好处让事情变得更容易。

INSIGHT 集中化是一个明智的默认选项

集中的数据工作在组织和技术上都是有意义的,是一种默认的选择。分散化确实有成本,而集中化可以减轻这些成本。但这也意味着,从集中化和分散化的数据中获得的价值是大致相等的。

第二个选择是,不是像数据网建议的那样,按业务领域划分工作,而是按技术划分。这通常会导致一个核心数据工程团队主要负责摄取数据和提供数据存储基础设施,以及其他多个团队,分析团队,数据科学团队,分析师,你的名字。这些团队收集原始数据并将其转化为有意义的东西。你可能会首先集中你的数据系统,然后用这个选项分层,以增加流量。

这两个选项并没有错。它们可能是合理的默认选项,但这两个选项都未能与价值创造保持一致,而价值创造又与业务领域深深地联系在一起。两者都无法解决仅仅一个业务领域的突然变化。就像微服务一样,微服务的优势在于能够通过自身的扩展从一个特定的服务中快速提取价值,数据网能够在一个领域内扩展价值提取。所有其他的选择都需要扩大所有的规模,以扩大在一个领域的价值提取。

因此,在某种程度上,这两种选择都会在某个时间点上碰壁,在这个时间点上,添加下一个数据源,或添加下一个数据科学项目会感觉越来越复杂和昂贵。这就是你想切换到数据网的时候了。

数据网中的数据仓库和数据湖

关于数据网格有一个误解。它有时被认为是中央数据湖或中央数据仓库的唯一替代品。

但这并没有考虑到数据网格是什么,也就是两件事的结合:技术和组织。数据网是一个替代方案,而不是由一个集中的数据单元来处理中央数据存储中的数据。

这仍然留下了一个选择,即有中央数据存储和分散的单位工作和拥有数据。事实上,这是在那些不需要数据生产者方面的完全灵活性的公司中常见的实施方式。

把数据湖和数据仓库放在商业智能或数据科学团队内部也是一种常见的方法。然后,数据湖和数据仓库就成了Data Mesh里面的一个节点。


图3 数据网格仍然可以使用数据湖,例如,建立数据产品的数据科学团队可以使用数据湖作为数据网格中的节点。


数据网格大量使用各种格式的数据湖和数据仓库,一般来说,数据网格不会试图专注于任何特定的技术。让我们来看看数据网格的好处。

数据网格的好处

让我们从两个不同的角度来分析数据网格实施的潜在优势:通过商业决策者和技术专家的眼睛。

业务的角度

从商业角度来看,数据本身没有什么价值。更糟的是,它意味着产生的成本!这意味着什么?听起来像是异端邪说?为了理解这句话,如果需要的话,把它传达给你的商业伙伴,你需要了解人们对现实的看法的不同层次。这种现象的一个很好的近似值是所谓的DIKW金字塔,源自T.S.艾略特1934年的剧本《岩石》。它将数据、信息、知识和智慧表现为一个层次结构,每一个下一个元素都可以从前者衍生出来。

在这种情况下,数据只是一组价值(需要花钱来存储)。为了从中获取价值,人们需要建立起允许知情决策的背景。数据网提高了整个金字塔的稳健性。

正如我们所提到的,拥有原始数据对决策者来说是没有用的。人们可以争辩说,他们可以把数据下载到他们的笔记本电脑上,然后自己进行分析。这倒是真的!然而,它有两个基本假设。

  1. 为了下载数据,它需要被访问。
  2. 为了确保任何执行的分析的价值,数据需要尽可能的完整。

为了解决第一个假设:我们已经提到过,并且会反复说,Data Mesh非常注重使数据可访问。不仅是可访问,而且是可查找、可互操作和可重用的!这也是我们的四大原则之一。这包含在数据网格的四个原则之一--数据是一种产品--这都是为了确保数据是可以被利用的。

数据的完整性是Data Mesh的另一个亮点。与大多数数据仓库或数据湖的架构不同,数据产品及其数据模型并不是由IT专家孤立地开发的,而是由业务人员共同完成的。相反,它是一个联合的努力,确保呈现在领域之外的数据足以得出有意义的结论。

数据网也有助于为层次更高的元素增加价值。将数据转化为信息、知识和智慧(商业环境喜欢称之为 "洞察力")的团队获得了对多个可互操作数据源的即时访问。

当然,从理论上讲,在数据湖中也是可以实现的。然而,根据我们的经验,作为一个单一的团队来管理环境的技术方面,以及数据访问和传输权限,现实中是不可行的。而且,如果所需的数据位存储在两个不同的数据湖中(或四个,这并不罕见),让它们都能一起工作几乎是不可能的。

简而言之,如果能够访问经过阅读优化的数据产品,就可以快速建立新的分析方法的原型,并为快速开发新的业务能力开辟道路。

技术的角度

从技术的角度来看,主要的好处是随着组织的发展保持发展的速度。数据网格是为了解决其他数据架构的缺点,如数据仓库或数据湖,通过分散数据生产和治理。这些架构引入了一个瓶颈--一个中央团队负责协调整个公司的所有数据,并使其准备好供消费。一个单一的团队无法适应一个不断增长的组织的各种数据需求。技术以及团队知识都会迅速成为一个规模问题。最终,更多的时间被花在维护上,而新的项目也变得越来越迟缓。

数据网格的另一个好处是在创建时就明确了数据的所有权。它使数据管理结构扁平化,只留下一个薄薄的联邦治理团队。而且,即使这个团队的活动也仅限于在自治领域内商定标准。

开发速度的提高也来自于对实施团队的授权。由于数据产品的生产和维护都在他们的肩上,变化的速度不受单个中央集成团队积压的任务的限制。这意味着数据产品的演变和修复都会更快。这在任何错误修复和停机的情况下尤为突出。此外,拥有特定数据产品的团队更有能力做出更快反应,因为没有上下文切换,就像一个单一的中央数据团队那样。

另一个值得一提的因素是数据环境的稳定性。由于数据产品提供了对其数据集的合同版本的访问,建立在其上的管道更加强大,需要的维护也更少。

现在就说到这里。谢谢你的阅读。