数据架构 - 数据网格基础
数据网格的概念是由 Nextdata 首席执行官 Zhamak Dehghani 提出的。它不是一项特定的技术,而是一种处理数据的新方式。您可以使用不同的技术(如数据仓库或数据湖)来构建数据网格。本章介绍了数据网格是什么、它如何工作以及何时使用它。本章内容包括:
什么是数据网格?
数据网格是一种在公司内组织数据的方式,即让每个团队负责自己的数据。每个团队(或领域)都像处理产品一样处理自己的数据,而不必由一个中央团队控制所有数据。
它有四个主要思想。
- 领域所有权:每个团队都拥有并管理自己的数据。
- 数据作为产品:数据被视为产品,其他人可以轻松找到和使用。
- 自动化基础设施:系统自动处理管理数据所需的工具。
- 治理:有规则确保数据安全、可靠并符合公司标准。
何时使用数据网格?
数据网格在以下情况下很有用:
- 数据处理缓慢或延迟
- 整个组织的数据质量不一致
- 组织难以扩展其数据能力
- 由于数据难以访问,企业错失良机
分散式数据架构
传统数据系统(如数据仓库和数据湖)是集中式的,这意味着中央团队控制所有数据。
在数据网格中,数据是分散式的。每个团队管理自己的数据,决定如何使用它,并将其保存在自己的域中。您可以直接在数据所在位置访问数据,而无需将其移动到中央系统。这使得数据更易于管理,并且随着公司的发展可以更好地扩展。
在集中式系统中,中央团队处理所有事情,包括存储数据、确保质量和安全、管理数据管道和备份。这些系统通过向单个中央系统添加更多功能而增长,而数据网格通过让每个团队控制自己的数据而增长。
数据网格炒作
数据网格自 2019 年以来一直备受关注,但仍处于早期阶段,采用率有限(5%-20%)。 Gartner 预测,随着企业转向使用被动元数据,它将被数据结构取代。
虽然有人认为数据网格解决了数据仓库中的扩展问题,但失败的真正原因往往是人员或流程问题,而不是技术本身。
即使大肆宣传,大规模数据解决方案多年来一直运行良好。很少有公司真正使用数据网格,大多数声称使用的公司实际上都在使用其他系统,如数据结构或Lakehouse。
Dehghani 的数据网格四项原则
旨在改善组织内的数据管理、可扩展性和协作的四项关键原则如下。
域所有权
在数据网格中,每个业务领域(例如销售、制造或营销)都负责自己的数据。最了解数据的人负责管理数据,而不是由中央团队管理。通过分散数据所有权,管理和扩展数据的过程变得更加高效和适应性强。
数据作为产品
数据应被视为不断开发、维护和改进的产品。就像任何产品一样,它应该是高质量的、易于查找的和用户友好的。团队负责确保他们的数据可靠、记录良好、安全且可供他人访问。
自助数据基础设施
领域团队需要能够轻松创建和管理数据产品的工具。中央平台应该提供现成的解决方案来存储、处理和共享数据,而不是从头开始构建复杂的系统。这种方法允许领域团队专注于他们的数据,而不必担心技术基础设施
联合计算治理
数据治理应该是中央团队和每个业务领域共同的责任。中央团队为安全性、数据质量和法律要求制定主要规则,而每个业务领域则确保自己的数据遵循这些规则。这样,组织就可以保持一致,但每个领域仍然可以满足自己的特定需求。
数据网格中的数据域
在数据网格中,创建或使用数据的每个业务领域都对其负责。最了解数据的团队负责管理数据。数据域主要有三种类型。
- 源对齐数据:这是直接来自原始系统的数据,经过转换以供分析。它不是为任何特定群体定制的,而是用于多个业务领域。
- 聚合数据:来自不同领域的数据组合,以简化报告或分析,例如合并销售和制造数据以生成利润报告。
- 与消费者一致的数据:经过修改以满足特定部门或用例的需求的数据,例如使非技术团队或机器学习模型更容易使用。
数据网格逻辑架构
在数据网格中,数据分布在不同的业务领域或域中,每个域都拥有自己的数据产品。以下是它的工作原理。
- 与源一致的域:这些域直接从其操作中处理数据。例如,销售团队将客户数据存储在数据湖中,并将其与其他数据相结合进行分析。
- 面向消费者的域:这些域简化了复杂的数据,使非技术团队(如供应商)更容易理解和使用这些信息。
- 聚合域:这些域结合了来自不同来源(如销售和制造)的数据,以创建报告或执行分析。这提高了查询数据的速度和效率。
- 客户 360 域:此域将来自不同来源(例如人口统计、交易、反馈)的客户数据组合成一个完整的视图,供所有相关团队共享。
数据网格拓扑
数据网格可以以三种方式组织,具体取决于集中化或分散化的程度:每种方式都有自己的优点和缺点。
- 网格类型 1:所有域都使用相同的技术和单个共享数据湖。这使得管理安全性和数据变得更加容易,并避免了使用单独的数据湖带来的性能问题。
- 网格类型 2:域使用相同的技术,但拥有自己独立的数据湖。这提供了更多的自由,但可能使组合来自不同数据湖的数据变得更加困难。
- 网格类型 3:域可以使用不同的技术和云服务(如 AWS、Azure 或 GCP)。这提供了更大的灵活性,但也带来了安全性、数据管理和跨不同平台集成数据的挑战。
数据网格与数据结构
数据网格和数据结构都是重要的概念,但它们的用途不同,如下表所示。
方面 | 数据网格 | 数据结构 |
---|---|---|
它是什么 | 一种通过将数据划分到业务的不同部分来管理数据的方法。 | 在一个地方连接和管理数据的系统。 |
数据所有权 | 不同的团队或部门拥有并管理自己的数据。 | 一个中央团队(如 IT)管理所有数据。 |
数据的组织方式 | 数据按业务领域(如销售、营销等)划分。 | 所有数据都保存在一个地方并组织在一起。 |
灵活性 | 每个团队都可以使用他们喜欢的工具和技术。 | 每个人都在整个系统中使用相同的工具和技术。 |
最适合 | 拥有许多部门且需要控制自己数据的公司。 | 希望将所有数据集中在一个中央系统中的公司。 |
可扩展性 | 随着更多部门的加入,易于发展。 | 当数据量很大时,扩展会更加困难。 |
数据共享 | 数据通过 API 和其他方法在团队之间共享。 | 数据存储在一个地方,因此团队可以轻松访问它。 |
主要焦点 | 让不同的团队控制自己的数据。 | 更轻松地在一个地方连接和管理所有数据。 |
数据网格和数据结构如何协同工作?
数据网格和数据Fabric 协同工作,帮助管理和连接整个组织的数据。以下是它们各自发挥作用的方式:
- 数据网格:按不同的业务领域细分数据,因此每个团队都负责自己的数据。
- 数据结构:提供将所有数据链接在一起的工具和系统,使每个人都可以轻松访问。
何时使用数据网格与数据结构
数据网格和数据结构都可用于管理数据,但每种方法都适用于不同的需求。以下是每个方法的使用时间。
用例 | 数据网格 | 数据结构 |
---|---|---|
最适合 | 分散团队管理自己的数据 | 集中控制所有数据源 |
理想用途 | 具有多个域的复杂组织 | 简化来自不同系统的数据 |
扩展 | 无需集中控制即可跨团队扩展数据 | 管理来自多个来源的大数据 |
数据网格用例
数据网格在以下情况下很有用:
- 金融服务:管理客户账户、交易和风险的数据。
- 医疗保健:组织患者记录、索赔和研究数据。
- 零售:连接客户、库存和销售数据。
- 数据处理缓慢:通过让团队控制自己的数据来加快速度。
- 数据质量差:帮助提高每个部门的数据质量。