设计数据网格以控制数据蔓延

设计数据网格以控制数据蔓延

💡 原文英文,约2100词,阅读约需8分钟。
📝

内容提要

数据网格是一种分散化的数据架构,可以帮助企业实现更加数据驱动的发展。它由ThoughtWorks的Zhamak Dehghani在2019年发明。数据网格旨在解决由于微服务的采用导致操作数据碎片化的问题。该架构基于四个指导原则:领域所有权、数据作为产品、自助数据平台和联邦计算治理。为了实施数据网格,组织可以使用数据目录、API网关和分布式查询引擎等技术。然而,目前还没有完全符合所有四个指导原则的产品。构建和部署数据网格需要仔细考虑,它仍然是一个具有巨大潜力的发展概念。

🔎

延伸解读

数据网格的起源与设计思想

数据网格由ThoughtWorks的Zhamak Dehghani于2019年提出,旨在解决微服务架构导致的操作数据碎片化问题。其设计思想与领域驱动设计(DDD)和敏捷开发一脉相承,强调去中心化和领域自治。DDD建议将软件团队按业务领域组织,数据网格则将这一理念扩展到数据架构,要求各业务领域拥有并管理自己的数据。这种历史渊源有助于理解数据网格为何强调领域所有权和数据作为产品。

实施数据网格的三大技术组件

实现数据网格需要数据目录、API网关和分布式查询引擎三类技术。数据目录(如Atlan、Collibra)支持领域所有权、数据作为产品和联邦计算治理,但自助平台能力有限;API网关(如Hasura、Apollo Router)基于GraphQL,主要提供自助数据平台,但在治理和产品化方面较弱;分布式查询引擎(如Trino、PrestoDB)能增强跨库查询,但增加运维复杂度。目前尚无产品能完全满足所有原则,需组合使用。

构建数据网格的实用建议

构建数据网格时,数据目录是必选项,因为它提供了血缘、溯源、质量指标、文档和协作等全套服务,支撑领域所有权、数据作为产品和联邦治理。如果涉及操作数据工作负载,API网关几乎是必须的,且需采用GraphQL。分布式查询引擎可作为自助平台的补充,但会带来额外运维负担。组织需根据自身数据类型(操作或分析)和查询需求,权衡选择组件,逐步搭建。

数据网格的现状与潜力

目前,数据网格仍是一个发展中的概念,市场上没有完全符合四个指导原则的现成产品。构建和部署数据网格需要仔细考虑,往往需要从多个组件拼凑。尽管如此,数据网格在机器学习、分析和数据密集型应用中展现出巨大潜力,能提高数据驱动应用开发的效率。随着技术演进,数据网格有望成为企业数据战略的重要组成部分,但现阶段实践者需保持耐心,关注组件生态的成熟。

❓

Q&A

什么是数据网格,它的主要目的是什么?

数据网格是一种分散化的数据架构,旨在帮助企业实现数据驱动的发展,解决微服务导致的数据碎片化问题。

数据网格的四个指导原则是什么?

数据网格的四个指导原则是领域所有权、数据作为产品、自助数据平台和联邦计算治理。

实施数据网格需要哪些关键技术?

实施数据网格需要使用数据目录、API网关和分布式查询引擎等技术。

数据网格与领域驱动设计(DDD)有什么关系?

数据网格是领域驱动设计(DDD)的后代,强调去中心化,类似于DDD在软件团队组织上的建议。

数据网格在机器学习和分析中的潜力是什么?

数据网格在机器学习、分析和数据密集型应用中具有巨大潜力,能够提高数据驱动应用开发的效率。

构建理想的数据网格需要考虑哪些因素?

构建理想的数据网格需要结合数据目录和API网关等组件,并仔细考虑现有产品的不足之处。

🏷️

标签

➡️

继续阅读