课程
集中式数据架构可以是一种有效的数据战略——直到它开始难以应对不断增长的数据规模和复杂性。
随着数据扩张,这些集中式系统可能会出现瓶颈。它们依赖单一控制点,而这点可能会不堪重负。结果便是流程变慢,难以及时高效地提取有价值的洞见。
所谓数据网格,是一种采用去中心化、面向领域的数据管理的架构体系。此方法让团队能够掌控自身数据,从而提升数据质量并更快获得洞见。
如果您想进一步了解数据管理,欢迎查看本系列的其他文章:
您也可以观看我们的网络研讨会,探讨如何提升组织的数据与人工智能成熟度。
什么是数据网格?
数据网格是一种现代数据架构方法,将数据管理从集中式模式转向去中心化模式。
它强调面向领域的所有权,使数据管理与特定业务领域相匹配。此种匹配让数据运作更具可扩展性与灵活性,并能发挥最贴近数据之人的知识与专长。
核心原则
数据网格的实施与运行由四项关键原则所支撑。
面向领域的所有权
数据由最接近源头的领域团队拥有并管理。这些团队最了解数据的语境与价值,因此是其数据的理想托管者。
将数据视为产品
将数据视为产品意味着要建立清晰的接口、质量标准与文档。这让数据更易被发现、访问与使用,并有助于确保数据为其用户创造价值。
自助式数据基础设施
为团队提供构建、部署与独立管理其数据产品所需的工具与基础设施。这样可减少对集中式 IT 团队的依赖,加速数据运作。
联合计算治理
联合治理模型在全组织范围内保持数据一致性、安全性与合规性。它在集中监督与领域自主之间取得平衡,允许因地制宜的治理实践。
想了解更多,请查看这篇关于什么是数据联邦的文章。
这些原则共同营造了一个让数据在大型组织内更易获取、更可靠且更有价值的环境。
数据网格如何运作
数据产品是数据网格的构建基石。它们是可复用、可发现的资产,封装了领域特定数据,并具备清晰的接口与质量标准,使数据在组织内更易集成与使用。
例如,销售团队可以创建一个数据产品,包含客户购买历史与销售趋势。随后,市场团队便能轻松访问并利用这些数据来定制其营销活动。

上图展示了一个组织数据网格的简化示意图。整体数据治理政策为四个部门提供指引:销售、财务、市场与产品开发。各部门对自身数据负责,并在共享平台上创建完整的数据产品。数据消费者通过统一的数据网格体验层,在整个组织范围内与数据产品交互。
数据网格架构
典型的数据网格架构由若干关键组件协同构成:
领域数据产品
数据产品是数据网格的核心,由领域团队拥有并管理。这些团队负责其数据产品的质量与维护,并确保其满足用户需求。
数据基础设施平台
数据基础设施平台为数据存储、处理与治理提供通用底座。它通过提供必要的工具与技术来支持数据产品的开发与部署。
数据治理
数据治理为数据质量、安全与访问制定政策与标准,以确保一致且合规的管理实践。此组件对在全组织范围内维持对数据的信任至关重要。您可在这门数据治理概念课程中了解更多。
数据网格体验层
数据网格体验层是便于发现、访问与使用数据产品的用户友好型界面。它确保数据消费者可以轻松找到并使用所需数据。我喜欢把它想象成一家“商店”,能找到组织内的所有数据产品。
数据网格的落地实施
假设我们计划在组织中实施数据网格,应当从何入手?以下是几个关键步骤。
识别领域
首先为业务领域划定清晰边界。这种对齐有助于将数据所有权分配给合适团队。识别组织内彼此独立的业务板块,如销售、市场、财务或产品开发。
确立数据所有权
将数据所有权分配给相关的领域团队。这些团队对自身数据的质量与管理负责。
构建数据产品
定义并开发满足数据消费者需求的数据产品。消费者可能是同一组织内的员工、投资者或其他利益相关方。确保这些产品易于发现、文档完善且可复用,以最大化其价值。
例如,销售团队可创建一个包含客户购买历史与销售趋势的数据产品,随后由作为数据消费者的市场团队加以使用。
实施联合治理
建立联合治理模型,以维持数据的一致性与合规性。此方法允许领域特定的治理实践,同时确保整体组织标准得到遵循。
我们的治理模型应在集中监督与领域自主之间取得平衡。查看这份 数据治理速查表获取一些实用建议。
部署自助式基础设施
为团队配备所需的工具与平台,使其能够独立管理数据产品。向领域团队开放通用数据基础设施平台的访问权限,其中包含数据存储、处理、管理以及数据血缘等工具(可在这篇关于什么是数据血缘的文章中了解更多)。这将减少对集中式 IT 团队的依赖,加速数据运作。
转向数据网格架构或许看起来艰巨,但对于大型组织而言,其回报可能相当可观。
数据网格相关工具
数据网格通常需要一系列工具来支持领域团队独立构建、部署与管理其数据产品。这些工具涵盖从数据存储与处理平台到治理与发现解决方案。
商业付费工具
以下是数据网格中常用的一些热门工具:
|
工具 |
描述 |
云端 |
关键特性 |
|
统一分析平台,整合数据工程、数据科学与分析 |
是 |
用于数据存储的 Delta Lake、用于机器学习的 MLflow、用于分析的 Databricks SQL |
|
|
面向数据仓库、数据湖与数据共享的云数据平台 |
是 |
可扩展性、数据共享、安全协作、Snowflake 数据市场 |
|
|
支持数据网格原则的数据治理与数据目录平台 |
是 |
数据目录、数据治理、数据隐私与数据质量管理 |
开源工具
接下来看看一些数据网格常用的开源工具:
|
工具 |
描述 |
云端 |
关键特性 |
|
分布式事件流平台 |
是 |
实时数据流处理、可扩展性 |
|
|
工作流自动化与调度系统 |
是 |
复杂数据工作流的编排 |
|
|
面向分析工程的数据转换工具 |
是 |
基于 SQL 的转换、版本控制 |
这些工具提供了多样能力,能够帮助组织高效落地数据网格架构。务必调研多种工具,打造一套契合组织特定需求的定制化工具组合。
数据网格的优势
数据网格通过更有效地容纳不断增长的数据规模与复杂性,为组织带来可扩展性。这种可扩展性确保组织能够管理与处理海量数据,而不至于遭遇瓶颈或性能问题。
在数据网格中进行去中心化的数据管理能提升敏捷性,使组织能更快速地响应变化的业务需求与市场环境。这种灵活性让团队可实时调整各自的数据策略,确保在瞬息万变的商业环境中保持领先。
在数据网格架构中,通过领域特定的所有权来提升数据质量。拥有最相关知识与语境的领域团队负责管理与维护其数据产品。此方法确保数据的准确性、可靠性及与业务目标的一致性。
此外,数据网格架构还促进跨领域协作与知识共享。通过打破数据孤岛,团队能够相互借鉴专长,从而改进决策并获得更佳的整体成果。
采纳数据网格的挑战
采纳数据网格也伴随着需要组织加以应对的挑战。
其中一大难点是所需的文化转变。迈向数据网格意味着组织文化的根本性改变。不再由集中式数据团队对组织内全部数据负责,而是需要去中心化的决策与数据所有权。此转变需要各层级的认同,也可能遭遇习惯于集中控制的人员的阻力。
实施数据网格的技术复杂性同样构成挑战。会引入新的工具、流程与技能,可能需要在培训与基础设施上进行大量投入。组织必须确保具备顺利转型为数据网格架构所需的资源与专业能力。
在领域自治与集中治理之间取得适当平衡也是一大难题。虽然领域团队需要自由创新并独立管理数据产品,但集中治理对于维护全组织范围内的数据一致性、安全性与合规性至关重要。要实现这种平衡,需要通过周密规划与协调来建立既能满足领域特定需求、又能兼顾组织整体目标的治理框架。
何时考虑采用数据网格
对于数据版图广泛且复杂的大型组织而言,集中式方法往往难以高效扩展。在此类环境中,数据规模与复杂性持续增长,数据网格提供了一种更能满足组织需求的去中心化替代方案。
在需要迅速响应市场变化或客户需求的敏捷环境中运行的组织,也能从数据网格的灵活性中获益。其去中心化特性使团队能更快适应不断演变的业务需求,从而提升敏捷性与响应速度。
对于在不同团队或部门间天然分散数据所有权的组织,数据网格尤为有益。通过让数据管理实践与组织既有结构相匹配,数据网格赋能领域团队对自身数据产品负责。这种分布式所有权强化了问责,并确保由最具相关专长与语境的人来管理数据。
然而,若组织在各部门间高度依赖标准化与同质化的数据实践,或缺乏清晰的业务领域边界,则可能难以从数据网格中获益。在缺少明确边界与去中心化决策的情况下,领域所有权与敏捷性的优势将难以体现。这类组织或许更适合采用集中式数据管理方法。
数据网格 vs. 数据织体
数据织体是一种更为集中化的方法,旨在为组织构建统一的数据环境。它将多种数据源与系统整合到一个连贯的平台中,为用户提供统一的数据视图。
数据织体通常强调数据集成、治理与安全,以确保在组织内的一致性与可靠性。您可以在这篇关于什么是数据织体的文章中了解更多。
数据网格与数据织体都致力于解决现代数据管理的挑战,但采取的路径不同。数据网格优先强调去中心化与面向领域的所有权,而数据织体强调集中化与集成。
两者的选择取决于组织结构、数据版图与业务目标等因素。
|
维度 |
数据网格 |
数据织体 |
|
所有权 |
面向领域的所有权;数据由领域团队拥有 |
集中式所有权;数据由中心化部门拥有 |
|
数据集成 |
去中心化;由领域团队负责集成 |
中心化;由中央平台负责集成 |
|
治理 |
联合治理模型;领域层面的自主性 |
集中式治理;全组织范围的标准化 |
|
数据质量 |
领域问责;提升数据质量 |
集中式治理;确保一致的数据质量 |
|
数据访问 |
自助式数据基础设施;赋能领域团队 |
集中式访问控制;由中央 IT 团队管理 |
结语
数据网格范式为大型组织中集中式数据架构的挑战提供了应对之道。通过将数据管理去中心化并与业务领域对齐,数据网格能够提升可扩展性、敏捷性、数据质量与创新能力。
如需进一步了解数据管理,请参考以下资源:
我拥有博士学位,在生物研究环境中从事数据相关工作已有13年。我使用包括 Python、MATLAB 和 R 在内的多种编程语言开发软件。我热衷于与世界分享我对学习的热爱。
