
如何实现数据网格?让我们探讨数据网格的四个原则、它们如何相互关联,以及如何使用它们来指导和优化您的实施过程。
数据网格是一种分散的数据管理架构,包含特定于域的数据。
在数据整体架构中,数据产品的所有元素都由一个集中团队在一个集中位置存储和管理。相比之下,对于数据网格,集中式团队通过核心数据处理服务启用数据网格场景,而各个团队保留对其自己的特定领域数据的所有权和控制权。
如果实施得当,数据网格可以在数据民主化和数据治理之间提供理想的平衡。它使数据域团队能够快速行动并根据需求变化或市场条件进行更改,同时使组织能够有效地管理和监控数据的质量和合规性。
数据网格架构的鼻祖 Zhamak Dehghani在 Thoughtworks 期间 阐述了数据网格的四个原则。
这些原则非常关键,因为数据网格需要的不仅仅是重新架构数据驱动的应用程序。它涉及组织如何管理数据的思维方式转变。还需要努力在敏捷性和有效监督之间取得正确的平衡。
您可以使用这四个原则来指导您的组织完成自己的数据网格之旅。让我们详细看看每一项。
数据所有权的基本原则是各个业务领域团队应该拥有自己的数据。这个想法建立在 Eric Evans 围绕领域驱动设计的工作之上。领域驱动的数据所有权的目的是使责任与业务(营销、财务等)保持一致,而不是与技术(数据仓库、数据湖)保持一致。
例如,考虑一家虚构的电子商务公司。在最高层,公司按部门和职能细分为自然数据域:例如销售、营销、财务、工程。
数据网格的这一原则至关重要,但通常也是最难接受的。它需要组织处理数据的方式发生根本性转变。原则上,它需要一个新的数据架构来支持它:一个在联邦治理模型上运行的自助数据平台。(我们将在下面进一步深入探讨这些原则。)
然而,如果做得正确,与旧的数据整体相比,领域驱动的所有权会给组织带来许多好处:
·明确的所有权和界限。现有数据架构长期存在的问题之一是确定谁拥有给定的数据集。通过域驱动的所有权,团队拥有自己的数据并在数据目录中注册其所有权。在上面的示例中,这意味着财务部门将拥有财务数据,销售部门将拥有销售数据,依此类推。
·可扩展性。在数据整体架构中,单个数据工程团队必须拥有并管理整个组织中每个团队的数据和相关业务逻辑。这会造成瓶颈。通过领域驱动的所有权,各个团队拥有自己的数据和管道,从而分散了负担。
·提高数据质量。集中式数据工程团队并不总是拥有他们所需的全部信息,无法就什么是“好”数据做出最佳决策。将这些决策交还给数据域所有者可以在整个组织内带来更好的决策和更好的数据质量。
·更快的上市时间。数据域团队对自己的数据更加了解,并拥有自己的数据管道和业务逻辑。这意味着,平均而言,与将整个实施工作交给集中式数据工程团队相比,他们可以在更短的时间内交付新解决方案。
对于每个领域数据团队来说,重新发明轮子是没有意义的。为了支持领域驱动的数据,组织应该责成数据平台团队创建必要的基础设施,使领域团队能够管理自己的数据。
集中式数据网格支持架构为数据管理提供集中式服务,包括存储、编排、摄取、转换、编目和分类以及监控和警报。
在数据域方面,团队需要定义自己的数据上下文和数据产品(我们将在下面详细讨论)。他们可能还希望拥有嵌入式数据工程师和分析工程师来支持管理自己的数据管道和报告。
任何团队都不应该生活在孤岛中。团队需要不断地相互共享数据。这就是数据网格的网格部分的用武之地。每个团队不仅定义他们拥有的数据,还定义他们从其他团队生成和使用的数据。
在软件工程中,许多团队已经转向面向服务的架构(SOA),其中每个团队都定义其他团队和组件可以调用的显式接口。这使得团队能够保持小型(“两个比萨饼”大小)并快速行动。它还使团队能够对合同进行版本控制,以便他们可以在不破坏现有依赖关系的情况下引入更改。
数据网格架构的目标之一是实现与面向服务的敏捷软件团队相同水平的速度和敏捷性。这就是数据产品的想法的由来。
数据产品是一个定义明确、独立的数据单元,可以解决业务问题。数据产品可以是简单的(表格或报告)或复杂的(整个机器学习模型)。
为了取得成功,数据产品必须:
·可发现的。其他团队需要一种方法来查找数据产品并将其合并到自己的数据驱动应用程序中。
·值得信赖。依赖数据产品的团队应该相信它不会突然改变或中断,导致他们自己的工作流程陷入停滞。他们还应该觉得他们可以信任基础数据。
·无障碍。团队应该能够轻松访问和配置数据产品——最好是自助服务格式,例如自助商业智能报告。
数据产品如何实现这一目标?
·定义团队如何向其他人公开数据的接口:例如构成给定数据产品的列、数据类型和约束
·作为接口书面规范的契约,所有团队都可以使用它来验证其对接口的一致性
·定义合同的新修订版本,同时支持以前的版本以实现向后兼容性
·访问规则定义谁可以访问数据产品中的哪些数据。例如,产品应屏蔽敏感数据字段(例如个人身份信息 (PII)),防止没有明确业务原因的人员查看这些数据字段。
当团队未能将数据视为产品时,他们最终就没有明确的互操作性计划。当他们争先恐后地了解合作伙伴如何构建数据时,这会浪费时间。当某些上游或下游团队意外更改其隐式数据契约(例如,删除列或更改数据类型)时,还会导致数据管道和报告损坏。
相比之下,定义契约使接口变得明确,并减少互操作性的障碍。它还限制了下游破坏,因为团队可以引入接口的 v2,同时为 v1 提供限时支持。
为了将数据实现为产品,数据平台团队需要支持用于定义、验证和版本控制合同的工具。例如,使用 dbt 的模型契约功能,团队可以轻松定义模型的列、数据类型和约束。
模型访问控制使团队能够更细粒度地控制他们公开的模型。这样可以区分为互操作性而设计的公共模型、项目中使用的受保护模型以及仅在组内公开的私有模型。
将数据视为产品也意味着将其作为产品进行管理。数据域团队应该努力理解和记录他们现有的数据工作流程,并创建待办事项以跟踪和管理即将发布的版本。
数据网格的一个重要成功因素是数据支持团队。支持团队通过定义建模最佳实践、设计参考示例以及对用户进行工具和流程培训,协助领域团队将数据作为产品转变。从组织上来说,数据支持团队通常是数据平台团队的一部分。
原则 3:自助数据平台
领域数据团队从具体细节管理自己的数据产品。这包括所有相关的摄取、数据转换、数据质量测试和分析。
但如上所述,每个领域数据团队都自己建立这个工具集是没有意义的。大多数人没有时间或能力。充其量,这会导致冗余合同(例如,多个团队从不同供应商获得多个数据存储解决方案的许可)和不兼容的工具。
管理此问题的更有效方法是创建自助数据平台。该平台包含数据领域团队提取、转换、存储、清理、测试和分析数据所需的工具。
自助数据平台还将定义其他工具,例如:
·用于管理数据访问的安全控制
·用于注册、查找和管理整个公司的数据产品的数据目录
·用于管理对数据产品的访问和配置的编排平台
如果没有这个自助服务平台,许多团队将缺乏加入数据网格所需的工具。通过启用这些工具,数据平台团队解锁了数据网格架构的可扩展性。
自助数据平台是数据网格从理论走向现实的地方。因此,数据平台团队和数据域团队密切合作以创建适用于所有利益相关者的工具集至关重要。
最成功的工具集将是那些利用工程师和分析师已知技术的工具集。例如,使用 dbt 等工具进行数据转换需要更少的启动时间,因为它利用了大多数工程师和分析师每天都知道和使用的 SQL 语言。
在引入自助数据平台等重大变革时,最好从小事做起。数据平台团队应尽可能广泛地收集需求,但实施应从单个数据域团队开始。在加入一个团队并整合他们的反馈后,数据平台和支持团队可以加入下一个团队,然后再加入下一个团队。在此过程中,平台和领域团队迭代工具集和流程,而支持团队则扩展其培训和最佳实践库。
如果没有适当的治理控制,数据网格可能会变成数据无政府状态。这就是为什么数据网格的最终原则(也许是最重要的原则)是联合计算治理。
《通用数据保护条例》(GDPR) 等合规法律要求公司对其系统中的敏感客户数据进行分类、保护并在需要时删除。在数据整体架构中,数据平台团队可以自上而下强制执行这些规则。虽然这(大部分)有效,但它通常是手动的,难以扩展,并且引入了领域需求所视为的官僚主义延误。
在数据网格架构中,虽然领域团队拥有自己的数据产品,但数据平台和企业数据治理团队通过数据目录和数据治理工具集中跟踪和管理合规性。
数据治理团队制定合规性标准——敏感信息的构成、谁应该有权访问这些信息以及如何在系统中标记这些信息。数据治理团队还定义数据质量标准,以确保团队之间的一致性。数据平台团队通过自动化(计算治理的“计算”部分)来实施这些策略。
例如,数据治理团队将要求所有政府颁发的 ID 号都需要在数据目录中标记为 PII。数据平台团队可以通过要求对所有注册数据产品中的所有 PII 进行适当标记来通过计算强制执行此操作。它还可以扫描与敏感数据模式匹配的字段,并在发现 PII 访问控制不足时发出警告。
创建新数据产品时,数据域团队将它们添加到数据平台的数据目录中。然后,他们负责响应和修复数据的任何合规性问题,例如对未分类值进行分类或从访问日志中删除敏感信息。
联合计算治理可实现大规模数据治理。自动化的策略执行减少了遵守全球不断增长、复杂的数据法规所需的体力劳动。当出现问题时,数据域团队(数据所有者)可以快速解决它们。
在建立坚定的数据治理政策后,数据治理和数据平台团队投资支持联合计算治理的工具。许多数据目录提供了强大的开箱即用的数据治理工具或作为单独购买的附加组件。数据平台和数据转换工具还提供治理功能,例如基于角色的访问控制、测试和模型治理。
将数据治理策略转化为自动化治理是数据平台的工作。这包括设置适当的访问控制、执行分类规则、建立数据质量规则以及配置异常检测等。
数据治理团队本身由领域专家组成,他们与支持团队和数据领域团队合作,向每个人传授数据治理最佳实践,包括领域团队作为数据所有者的新职责。
数据网格的四个原则定义了一种新的数据架构方法,包括领域驱动的数据所有权、数据即产品、自助数据平台和联合计算治理。通过将这四个原则付诸实践,您可以将您的组织转变为高度可扩展的数据模型,从而有效地平衡速度与责任。
原文链接:https://www.getdbt.com/blog/what-are-the-four-principles-of-data-mesh




