Snowflake 全球数据网格

2025年8月2日 | 阅读 9 分钟

什么是数据网格?

数据网格(Data Mesh)强调一种自助式、领域导向的设计。它是一种新颖的数据团队组织方式,旨在解决当企业数据湖或数据仓库的集中式数据方法快速扩展时,经常出现的许多重要问题。

数据网格中的分布式领域团队负责为组织的(数据)消费者生成数据产品的管道,以及其业务领域内的数据。每个领域数据团队管理自己的数据,数据消费、存储、转换和输出都是去中心化的。

Snowflake Global Data Mesh

数据网格方法的四大基础

数据网格概念的成功实施需要四个指导原则,这构成了一个重大的范式转变。

1.领域所有权

在传统的集中式数据架构(依赖数据仓库)中,数据所有权通常由数据仓库团队负责。然而,数据网格战略将数据的控制权交给了领域团队。额外的职责包括摄取、清理、转换、管理和控制数据,以便提供易于访问和在需要时与其他团队交换的最终数据产品。

  • 这种方法是合理的,因为领域团队最熟悉其业务领域的数据,因此最适合快速处理数据。
  • 因此,将数据所有权分配给领域团队可以提高组织的数据敏捷性。
  • 通过采纳每个领域将数据视为产品(Data as a Product)的思想,并利用联邦治理(Federated Governance)强制要求领域和数据产品遵循互操作性标准,数据网格可以避免数据孤岛(并防止领域变成孤岛)。

2.数据即产品

建议组织将数据视为“产品”。领域团队负责创建和维护数据集,以确保它们准确、最新且质量高。数据集拥有将使用它们的用户(“客户”)。在组织内,数据产品必须易于访问,并为其他领域团队或数据消费者做好使用准备。

3.自助式基础设施

成功的数据网格方法需要一个共享的平台和一套易于使用的工具,特别是对于那些不熟悉数据基础设施技术的人来说。领域团队需要能够独立创建和管理他们的数据产品。

如果没有自助式基础设施,领域团队将缺乏完全拥有其数据的工具,并将被迫依赖受限的基础设施资源。

4.联邦治理

在去中心化的数据网格架构中,保持一致的访问限制和数据安全仍然至关重要。在传统、集中式方法中,数据仓库团队负责数据质量。

  • 然而,这种安排可能导致问题,因为数据仓库团队通常不如源头团队熟悉数据。
  • 通过将最大程度地负责维护高质量数据的责任交给最了解数据的人,转向去中心化的数据网格可以提高数据质量。
  • 每个领域必须遵守联邦治理为数据产品设定的元数据和文档要求。
  • 此外,治理确保了在开发和分发其数据产品时,能够轻松地将来自多个领域的数据产品进行组合。
  • 领域团队必须在遵守全局治理政策要求和给予他们解释这些标准如何应用的自由度之间取得平衡。
Snowflake Global Data Mesh

Snowflake 如何增强您的数据网格

通过使用 Snowflake Data Cloud,组织和数据团队可以按时获得所需数据。Snowflake 的方法消除了阻碍有意义的数据访问的复杂性和数据孤岛。以下是 Snowflake 支持您公司数据网格实施的几种方式。

1.提供强大、自助式的框架,赋能远程领域团队

真正的所有权只能通过合适的技术来实现,一个自助式的数据平台。领域团队需要在数据产品生命周期的每个阶段按需访问他们所需的工具和资源。Snowflake 提供了广泛的功能,用于构建和管理数据产品,以及部署自动化的数据转换管道。

Snowflake 的平台设计易于使用、几乎无需维护,并且资源可快速扩展,以提供真正的自助式体验。每个领域团队都可以根据自己的需求部署和扩展其资源,而不会影响其他团队,从而摆脱对基础设施团队的依赖。

Snowflake Global Data Mesh

2.查找和共享数据产品

在 Snowflake 平台上,领域团队可以独立工作并轻松共享数据产品。每个领域可以在 Snowflake Data Exchange(充当数据网格中所有数据产品的目录)中指定要共享的数据项,然后再发布产品描述。其他团队可以通过搜索此目录来查找符合其需求的数据项。

  • 通过数据生产者和消费者之间的请求-审批流程,可以立即或可选地授予对数据产品的访问权限。
  • 无论如何,消费者都可以实时访问数据产品,而无需跨领域复制或 ETL 数据。每个领域都可以轻松监控谁在使用他们的数据产品以及使用频率。

创建数据网格

数据网格是定义各领域团队及其数据产品之间的角色和协调的基本组织策略。然而,为了使领域能够以实用的方式遵循数据网格的概念,需要合适的技术。

Snowflake Global Data Mesh

使用 Snowflake 设计数据网格-

  • 许多采用数据网格方法的公司正在成功地将 Snowflake 用作数据平台。
  • 单一技术平台无法提供全面的端到端解决方案来支持数据网格概念。
  • 尽管如此,Snowflake 提供了许多自助式数据平台所需的功能,支持分布式、领域驱动的架构,并提供支持联邦计算治理和数据即产品实施的工具。

这些是数据网格设计解决方案所需的一些主要特性,而 Snowflake 的原生功能有助于实现分布式架构。

1.Snowflake 是一个分布式平台,而不是单体

Snowflake 是一个分布式但互联的平台,通过避免孤岛并允许全局团队以受控和安全的方式共享数据。一家公司可以创建一个或多个 Snowflake 账户,这些账户可以位于相同或不同的云区域和平台。每个账户可以包含多个独立的数据库,这些数据库可以以分布式方式独立部署和扩展。

2.Snowflake 带有内置的市场和数据共享功能

通过发布元数据或“列表”,Snowflake 中的数据生产者可以与其他账户共享数据、数据服务或应用程序。生产者可以选择通过 Snowflake Marketplace 公开分发,或使用列表发现控件私密地与其他账户或账户组进行分发。

3.Snowflake 提供多种安全和治理选项

联邦治理无疑是数据网格旅程中最具挑战性的方面之一,它通常需要一个或多个工具的组合来满足所有要求。

Snowflake 提供近乎自助的服务体验。

我们的客户之所以经常选择 Snowflake,是因为其易用性和低维护要求。对于自助式平台来说,这些特性至关重要。例如,客户无需 IT 基础设施团队的协助,即可快速启动和扩展计算集群。开发和测试环境也可以轻松克隆。可以使用一行 SQL DDL 语句来设置更改数据捕获系统。Snowflake 平台上的每个特性和功能都秉承了这种对可用性的重视。

Snowflake Global Data Mesh

使用 Snowflake 进行数据网格设计的模式-

企业已选择这些 Snowflake 拓扑作为支持远程领域的基础平台。这些拓扑的实际实现可能因特定需求和偏好而异,因为它们仅是广泛的模式。实现数据网格涉及定义数据域,这些域可以在 Snowflake 的拓扑结构中完成。

每个领域一个数据库:每个领域使用一个或多个独立的 Snowflake 数据库。可以创建一个账户,在数据库级别构建领域,并在领域级别管理用户和资源。此方法提供了:

  • 所有这些数据库由一个 Snowflake 账户进行管理。
  • 简化的跨域治理、安全和用户管理。
  • 可以轻松地定义跨数据库的对象级权限,以授予对数据产品的访问权限。
  • 每个领域团队仍然能够独立于其他领域启动和扩展其计算集群。
Snowflake Global Data Mesh

在一个账户下拥有多个领域的优势

  1. 设置数据库内权限使访问数据产品变得容易。
  2. 网络、安全和治理策略的管理是集中化的,这使得整体管理更加容易。

数据网格提供的好处和缺点是什么?

  • 数据网格的好处:数据质量得到提升,因为领域团队负责其数据。
  • 通过鼓励数据复用和共享,减少了数据孤岛。
  • 无需中央数据团队作为瓶颈,自助式数据基础设施加快了数据分发速度。

数据网格的缺点

  • 实施数据网格的复杂过程可能需要重大的组织文化变革。
  • 为了转向数据网格架构,可能需要对技术、培训和组织重组进行一次性投资。
  • 确保领域团队能够获得他们处理数据所需的基础设施和工具在后勤上可能具有挑战性,因此组织必须进行必要的投资。
Snowflake Global Data Mesh

为什么在 Snowflake 中使用数据网格?

许多采用数据网格方法的公司正在成功地将 Snowflake 用作数据平台。单一技术平台无法提供全面的端到端解决方案来支持数据网格概念。尽管如此,Snowflake 提供了许多自助式数据平台所需的功能,支持分布式、领域驱动的架构,并提供支持联邦计算治理和数据即产品实施的工具。

Snowflake 中的数据网格用例

虽然数据网格并非适合所有情况,但最近在数据工程界引起了广泛关注。以下是一些数据网格可能对您的业务有用的典型场景。

组织转型是创建数据网格的先决条件

数据网格首先是一种组织变革。虽然这种转变通常需要 IT 架构和技术层面的调整,但它具有许多非技术方面的影响。

  • 数据网格代表了公司如何使用和管理其数据资产的重大转变。它涉及对整个数据生态系统的彻底反思,以及数据如何被视为组织内的战略资产,而不仅仅是技术上的改变。
  • 因此,在开始构建数据网格之前规划组织变革是推荐的做法。在任何技术开发开始之前,必须采取以下步骤:
    Snowflake Global Data Mesh
  • 领导层支持
    首先获得高层领导的支持。致力于推动变革的领导者应该了解数据网格的优势。
  • 沟通策略
    制定一项全面的沟通计划。定期沟通数据网格实施的进展、成就和挑战。回应问题并提供反馈渠道。
  • 最佳实践和文档
    记录成功案例、经验教训和最佳实践。建立一个知识库,以促进公司内部的信息共享。
Snowflake Global Data Mesh

如何利用 Snowflake 的功能创建数据网格

现在您的公司已准备好过渡到数据网格,分离新创建的数据域的技术难题就开始了。幸运的是,Snowflake 通过其拓扑选项支持分布式域。

每个领域一个数据库

  • 一种常见的策略是使用单个 Snowflake 账户。在此配置中,不同的域在独立的数据库和独立的计算集群中运行,每个集群充当自己的环境。
  • 这些域可以分配一个或多个数据库和集群来满足其开发、测试和生产需求。
  • 所有域拥有一个 Snowflake 账户的好处包括:
  • 设置数据库内权限可以轻松访问数据产品。
  • 集中化的网络、安全和治理策略管理使整体管理更加简单。
  • 由于只需在不同位置或云中再创建一个账户即可支持,因此灾难恢复更加容易。

结论

总之,我们可以得出结论,在不断变化的数据架构领域,数据网格的概念代表了一种范式转变。它标志着向去中心化的转变,打破了传统的数据孤岛,并使领域团队能够充分利用他们的数据。从改进数据所有权到加强协作,Snowflake 都为创建能够适应现代数据生态系统不断变化的需求的数据网格提供了强大基础。


下一主题