构建数据网格分布式架构的四项原则

简介: 构建数据网格分布式架构的四项原则

Data Mesh 是最近随着微服务开始流行起来的数据架构,以一种分布式、可扩展、用户友好的方式管理数据,提供更好的数据洞察能力和更灵活的数据治理能力。原文:Data Mesh: The Four Principles of a Distributed Architecture[1]


数据网格(Data Mesh)是一个相对较新的术语,其本质上是最近数十年来关于数据架构[2]的思考、研究和实验的演进结果,下面我们会进一步介绍这一概念。


数据网格是由 Zhamak Dehghani 设计的分布式架构,他是 Next Tech 孵化器的董事、Thoughtworks 首席顾问和技术咨询委员会成员。


根据 Thoughtworks[3]的定义,数据网格旨在“解决传统集中式数据湖或数据平台架构的常见故障模式”,依赖于现代分布式架构和“自服务数据基础设施”。


数据网格的关键用例


数据网格的主要目的是帮助我们分析数据并从历史事实中获得价值[4],它可以灵活应对数据场景的频繁变化、数据源激增以及各种数据的转换和处理,可以根据对变化的反应速度灵活调整。


数据网格有很多用例:

  • 从分散的数据源构建虚拟数据目录
  • 帮助研发和 DevOps 团队直接运行不同来源的数据查询
  • 得益于数据网格的自服务平台基础设施,数据团队可以引入一种通用的、领域无关的、自动化的数据标准化方法。


接下来我们详细看一下支撑数据网格分布式架构的四个关键原则。


分布式架构的四个核心原则


这些原则本身并不新鲜,它们已经以这样或那样的形式存在了很长一段时间。然而,当我们把它们放在一起之后,得到的是(正如 Datameer 描述的那样[5])“一个连接分布式数据集以实现大规模数据分析的新架构范例”,允许不同的业务领域以用户友好的方式托管、共享和访问数据集。


image.png


1. 面向领域的去中心化数据所有权和体系架构


去中心化体系架构的趋势始于几十年前——由面向服务体系架构所驱动,然后出现了微服务。它能提供更大的灵活性,更好的可伸缩性,更容易并行工作,并允许功能的复用。与老式的单体数据湖和数据仓库(DWH,data warehouses)相比,数据网格提供了一种灵活得多的方法来管理数据。


在历史上,有多种不同的方式实现数据的去中心化,包括去中心化 DWH、联邦 DWHs[6],甚至 Kimball 的数据集市(DWH 的核心),这些方法都是面向域的[7],由独立的部门支持和实现。我们将这种方法应用于多个软件工程团队协同工作的情况,总体复杂度很高。


在一个财务咨询项目中,我们客户的分析部门根据所覆盖的财务领域被分成几个小组,这意味着大多数决策和分析数据集的创建可以在团队内部完成,而团队成员仍然可以读取全局数据集,使用通用工具集,遵循相同的数据质量、演示和发布的最佳实践。


2. 数据即产品


这意味着将广泛使用的产品思维应用到数据中,并在此过程中使数据成为一等公民,数据所有者将和开发团队一起支持运营。


创建数据集并保证其质量并不足以生产出数据产品,还需要便于用户查询、读取和理解,并且也应该遵循版本控制、监控、安全等全局性规则。


3. 自助式数据基础设施即平台


数据平台实际上是企业用于运行、维护和监控其服务的平台的扩展,但使用的技术栈截然不同。创建自助基础架构的原则是提供工具和用户友好的界面,以便有能力的开发人员能够开发数据分析产品。在没有这个平台之前,由于运维平台所涉及的范围非常广泛,使得开发数据分析产品非常困难。


4. 联邦计算治理


这是第一原则造成的必然结果。无论在何处部署分布式服务(例如微服务),都必须引入总体规划和规则来管理它们的操作,正如 Dehghani 所言,“在中央集权和地方分权之间保持平衡”至关重要。


本质上,这意味着整个平台有一个“共同点”,即所有数据产品都遵循一套共享的规则,在必要时为自主决策留下足够的空间,这最后一点是去中心化和集中化方法的关键区别。


数据网格的挑战


虽然数据网格提供了更好的可伸缩性,但和其他范式一样,不应被视为适用于所有场景的完美解决方案。与所有去中心化数据架构一样,它也面临着一些常见的挑战:


  • 确保跨团队的工具集和方法(在适用的地方)是一致的。
  • 尽量减少不同团队之间的重复工作和数据,而集中化的数据管理通常难以在公司范围内实现。
  • 协调数据和统一展示,跨多个数据产品读取互连数据的用户应该能够确保正确映射数据。
  • 通过全面的文档,使数据产品易于查找和理解。
  • 建立一致的监测、告警和日志记录。
  • 保护数据访问控制,特别是在数据产品之间存在多对多关系的地方。


总结


随着数据分析越来越多的成为社会日常运作的工具,组织必须超越单体数据架构,采用真正的数据驱动方法[8]的原则。而数据湖和数据仓库不够灵活,难以满足现代需求。


数据网格使数据对那些需要它的人来说更可用、更容易发现,同时又能够确保安全和可互操作。



Reference:

[1] https://medium.datadriveninvestor.com/data-mesh-the-four-principles-of-a-distributed-architecture-59514eba1e52

[2] https://eleks.com/services/data-science-services/?utm_source=medium&utm_medium=refferal&utm_campaign=Republ-BlockchainBusiness-Blog

[3] https://www.thoughtworks.com/radar/techniques/data-mesh

[4] https://labs.eleks.com/2021/02/data-science-project-life-cycle.html

[5] https://www.datameer.com/blog/data-mesh/

[6] https://www.zentut.com/data-warehouse/federated-data-warehouse-architecture/

[7] https://www.kimballgroup.com/1999/12/the-matrix/

[8] https://eleks.com/blog/dataops-efficient-data-ecosystem/


目录
相关文章
|
3天前
|
JSON JavaScript 前端开发
Vue3源码架构简析及Monorepo流程构建
【10月更文挑战第12天】Vue3源码架构简析及Monorepo流程构建
Vue3源码架构简析及Monorepo流程构建
|
3天前
|
缓存 Devops jenkins
专家视角:构建可维护的测试架构与持续集成
【10月更文挑战第14天】在现代软件开发过程中,构建一个可维护且易于扩展的测试架构对于确保产品质量至关重要。本文将探讨如何设计这样的测试架构,并将单元测试无缝地融入持续集成(CI)流程之中。我们将讨论最佳实践、自动化测试部署、性能优化技巧以及如何管理和扩展日益增长的测试套件规模。
18 3
|
3天前
|
监控 持续交付 API
深入理解微服务架构:构建高效、可扩展的系统
【10月更文挑战第14天】深入理解微服务架构:构建高效、可扩展的系统
20 0
|
5天前
|
存储 人工智能 算法
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
为了帮助更多人掌握大模型技术,尼恩和他的团队编写了《LLM大模型学习圣经》系列文档,包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构,基于LLM+RAG构建生产级企业知识库》和《从0到1吃透大模型的顶级架构》。这些文档不仅系统地讲解了大模型的核心技术,还提供了实战案例和配套视频,帮助读者快速上手。
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
|
4天前
|
存储 监控 前端开发
掌握微前端架构:构建未来前端应用的基石
【10月更文挑战第12天】随着前端技术的发展,传统的单体应用架构已无法满足现代应用的需求。微前端架构通过将大型应用拆分为独立的小模块,提供了更高的灵活性、可维护性和快速迭代能力。本文介绍了微前端架构的概念、核心优势及实施步骤,并探讨了其在复杂应用中的应用及实战技巧。
|
3天前
|
消息中间件 关系型数据库 Java
‘分布式事务‘ 圣经:从入门到精通,架构师尼恩最新、最全详解 (50+图文4万字全面总结 )
本文 是 基于尼恩之前写的一篇 分布式事务的文章 升级而来 , 尼恩之前写的 分布式事务的文章, 在全网阅读量 100万次以上 , 被很多培训机构 作为 顶级教程。 此文修改了 老版本的 一个大bug , 大家不要再看老版本啦。
|
6天前
|
存储 监控 负载均衡
|
8天前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
12 1
|
6天前
|
机器学习/深度学习 存储 自然语言处理
基础与构建:GraphRAG架构解析及其在知识图谱中的应用
【10月更文挑战第11天】随着数据的不断增长和复杂化,传统的信息检索和生成方法面临着越来越多的挑战。特别是在处理结构化和半结构化数据时,如何高效地提取、理解和生成内容变得尤为重要。近年来,一种名为Graph Retrieval-Augmented Generation (GraphRAG) 的新架构被提出,它结合了图神经网络(GNNs)和预训练语言模型,以提高多模态数据的理解和生成能力。本文将深入探讨GraphRAG的基础原理、架构设计,并通过实际代码示例展示其在知识图谱中的应用。
25 0
|
6天前
|
缓存 安全 测试技术
构建高效后端架构的关键技术与实践
【10月更文挑战第11天】 本文深入探讨了后端开发中的几个关键技术点,包括微服务架构、数据库优化、缓存机制、安全性保障以及自动化测试。通过这些技术的应用和最佳实践,可以帮助开发者构建出高效、稳定、安全的后端系统。
22 0