在这篇文章中,你将了解更多有关数据网格(data mesh)架构的知识,以及为什么它们在现代商业环境中非常重要、为什么它们对下一代数据平台非常重要。
01、什么是数据网格架构?
在过去的十年中,组织越来越依赖于存储大量数据,创建数据管道以从中提取价值。这也增加了对有效数据管理和消费架构的需求。最近一个旨在帮助组织实现这一目标的概念是数据网格。
技术顾问 Zhamak Dehghani 最初创造了数据网格这个术语,用于描述基于分布式软件架构和面向领域设计的数据平台模型。这里的 “面向领域” 源于领域驱动设计(DDD)理论,即你的代码结构和语言与相应的业务域匹配。
所有这些都意味着,数据网格架构支持特定业务部门或领域的分布式数据用户。在这种模式下,数据是一个产品,企业中的每个业务领域都有权处理自己的数据管道。
在本文中,你将了解有关数据网格架构的更多信息,它们在现代商业环境中的相关性,以及它们对下一代数据平台的重要性。
02、为什么需要数据网格架构?
目前的数据格局分为两个平面:运营数据和分析数据。业务数据存储在 SingleStoreDB 这样的业务数据库中,并实时为业务需求服务。
分析数据随着时间的推移被汇总,用于商业智能的查询。数据网状结构认识到这些数据平面之间的差异及其架构的性质,它寻求从分析数据中创造规模价值。
直到最近,许多公司都依赖于一个单一的数据基础设施,它直接与商业智能(BI)工具进行通信,并为所有使用情况执行所有的数据转换。
这些单一的数据基础设施 —— 数据湖或仓库 —— 负责数据的摄入、存储、转换和数据输出。这种集中的模式对于那些业务领域和数据消费需求较少的组织来说是有效的。
在更大型的企业中,有更广泛的数据来源和领域,以及更多元化的客户群体。传统的单体式数据架构在这些情况下不够有效,存在多种缺陷:
数据管道过载:传统的数据架构模型可以确保数据湖能够摄取、存储、清洗、增强、转换和服务于数据。但随着更多数据的出现,数据系统将逐渐无法将数据整合到一个平台中。
团队孤立和过度专业化:构建和管理这些数据平台可能导致不同的团队在组织上和知识领域上高度隔离和过度专业化。管理上游数据来源的团队、构建 ETL(数据提取、转换和加载)管道的工程师以及下游的数据消费者或决策者通常都在知识和组织上分开,而没有全局的业务知识。
新客户或数据来源的输出交付速度较慢:随着组织试验创新议程以扩大其消费者群体,会出现新的数据用例以满足需求。这导致组织的数据处理需求增加,不同的转换需求也不同。结果,组织将面临更长的响应时间,试图为新的消费者提供价值。
为了说明这一点,让我们以一个流媒体平台为例,该平台通过提供像 YouTube 一样的视频媒体服务来开展业务。为了扩大市场,公司增加了歌曲流媒体服务、播客和直播等新服务或业务领域。这些新服务或业务领域意味着需要在平台上添加新的功能,例如直播的观众数量或歌曲的播放率。
为了实现这一点,需要在现有的 ETL 管道中摄取、清洗和重新转换运营数据,这将需要改变管道的多个组件。每次平台添加新功能或业务领域时都需要重复这个过程,这将减缓扩展过程。
数据网格架构代表着从传统建立数据平台的方法中的范式转变。在其核心,数据网格由将应用程序域链接在一起的分布式数据处理节点组成。
与现代软件工程中微服务是远离单块应用程序的一种方式类似,数据网格可以被视为数据平台的微服务。虽然这个概念相对较新,但它承诺通过允许更高程度的灵活性和数据自治来解决单体数据平台的以上缺点。它创建了一种可复制的方式来管理组织生态系统中的数据源,这样数据消费者或最终用户就可以快速有效地访问他们所需的数据。
数据网格架构为你的企业提供多种优势:
·分散的数据所有权和技能:数据网格将你的数据架构分散到不同的域中,而数据不会被复制。这意味着每个域中所需的数据所有权和技能也是分布式和分散的,因此你的组织可以在确保满足每个域中的 IT 和业务要求的同时,实现数据的民主化。
·真相的单一版本:使用数据网格可以实现长期组织目标,即实现真相的单一版本。由于每个业务领域所需的数据直接从源通道到领域,因此你可以消除数据复制,并控制数据源和数据使用者之间的任何差距。每个业务单元负责为其领域提供数据真相作为源数据集,以提供给数据使用者和整个业务。
·分布式安全:数据网格所创建的高度分布式数据架构也需要分布式安全架构。身份验证和访问管理活动可以在内部进行或外包给第三方平台。无论哪种方式,你的数据都将在多层加密和不同级别的用户访问下得到安全保障。
数据网格的概念将继续发展,因为越来越多的企业计划将分布式数据存储在数据孪生技术之中,以便有效地生成见解并提供商业价值。为了进一步了解这种架构,你应该了解其指导原则。
03、数据网格架构的原则
数据网格模型有四个基本原则。
1、领域拥有权
现代软件架构受到领域驱动设计的影响,领域驱动设计由 Eric Evans 在其同名书籍中阐述。其基本思想是将软件系统的微服务架构分解和结构化为分布式服务,以反映业务功能或领域的能力。这些领域可以由特定领域的团队独立拥有和管理。这就是数据网格架构中领域拥有权背后的思想。
在数据网格中,数据的所有权是联邦化的。这些数据所有者,包括工程师和科学家,负责确保其领域数据作为服务的可用性,并确保与不同位置的其他领域的互操作性。每个领域还负责自己的 ETL 管道,负责数据摄取、聚合和清理。
一旦一个领域接收到数据,它会执行特定的转换任务,然后利用所得到的数据来支持该领域的业务功能。在数据网格中实现数据的领域所有权的一个关键好处是,它减少了数据生成团队和数据消费地点之间必要的步骤和交接。继续之前所使用的媒体流媒体平台的例子,如果该平台在添加新的业务领域时采用了分布式数据架构,那么该领域可以拥有、处理和服务于自己的数据集,以适当的格式为下游特定的用例提供服务。像 SingleStoreDB 这样的强大分布式数据库可以作为每个领域数据集的存储。
2、数据即产品
这意味着数据被视为一种产品。就像软件应用程序有产品所有者一样,领域数据也有产品所有者。数据产品所有者将确保数据以正确的质量、速度和格式交付。他们必须深入了解领域数据转换的要求,并确保数据符合用户的标准。每个领域都可以开发数据产品以及其他功能性特征。数据产品可以包括清理和转换管道、数据集等等。
每个领域的团队直接负责创建和管理数据资源,了解数据来源和下游用例。这有助于减少传统方法聚合数据到一个中心位置并为每个用例应用相同数据模型所产生的摩擦。将软件开发的指导原则和过程应用于数据。例如,版本控制、文档编写和加密等概念也被应用于数据产品。Zhamak Dehghani 总结了领域数据产品的主要特点,如可发现性、互操作性、可寻址性、可信度和安全性。
3、自助式平台
数据网格模型的开发旨在使团队完全掌控其数据。团队被授权独立提取价值,无需中央数据专家的帮助。数据平台的技术复杂性通过自助式数据架构的自动化进行抽象化处理。
自助式数据平台的主要优点是,由于内置自动化,它可以缩短创建新产品的领先时间。
4、联邦治理
尽管数据及其领域产品可在任何地方使用和访问,但数据治理仍受数据产生的地方限制。数据网格模型中采用联邦治理的目标是创建一个严格遵守领域、组织和行业规则和法规的生态系统。在以前的数据管理模型中,数据从类似 SingleStoreDB 这样的操作性数据库中移动,并存储在中央数据湖中,进行清洗、质量控制和加密(集中式数据治理)。这在数据网格中是分散的。每个业务领域都有自己的质量控制和数据治理原则,在数据成为产品之前必须符合全球业务标准。
04、结论
数据网格架构模型是一个相对较新的概念,但它为组织提供了多种好处。将数据责任转移给领域团队使这些团队能够更高效地工作并拥有更深入的知识,同时确保他们使用的数据不会在组织内其他地方重复。
请记住,分散现有数据架构的这种转变必须逐渐和有条不紊地进行。领域工程师和数据产品所有者需要时间来深入了解领域数据、工具和用例。目标是考虑如何以最 佳方式为团队服务的数据网格架构。