一文读懂数据网格原理与逻辑架构

简介: 数据网格的目标是为从大规模分析数据和历史事实中获取价值奠定基础,并将其应用于不断变化的数据环境、不断增长的数据源和消费者、用例所需转换和处理的多样性以及对变化的反应。

82132a18bbccb84c12c6504751a82baf.png

46d2e17e63e2156a21bba923e96825ed.png

585918a54a570159732a7dacd0d5790c.png

1065004a0ded022dd5d6e9f7170c0fc5.png

06c697f4d32eb984281c8fde082bb320.png

二 数据网格的核心原理和逻辑架构

数据网格的目标是为从大规模分析数据和历史事实中获取价值奠定基础,并将其应用于不断变化的数据环境、不断增长的数据源和消费者、用例所需转换和处理的多样性以及对变化的反应。为了实现这一目标,以下四个基本原则保障了数据网格实现都体现为实现规模化承诺,同时提供使数据可用所需的质量和完整性保证:1)面向域的分散数据所有权和架构,2)将数据作为产品,3)自助数据基础设施作为一个平台, 4) 联合计算治理。这四项原则对成为实现弹性扩展,同时解决不兼容数据孤岛或运营成本增加的问题是必要和充分的。

1域数据所有权

数据网格的核心是分散和将责任分配给最接近数据的人,以支持持续的变化和可扩展性。问题是,我们如何分解和分散数据生态系统的组成部分及其所有权。这里的组件由分析数据、其元数据以及为其提供服务所需的计算组成。

数据网格遵循组织单元的视角作为分解依据。我们今天的组织是根据其业务领域进行分解的。这种分解将首持续变化和进化的影响,在大多数情况下本地化到域的有界上下文中。因此,使业务域的有界上下文成为数据所有权分布的良好选择。

在本文中,将继续使用 数字媒体相同的用例。可以想象,媒体公司根据播客、管理播客发布的团队和系统等领域来划分其运营,成为支持运营的系统和团队;艺术家、管理加入和付费艺术家的团队和系统等。数据网格认为分析数据的所有权和服务应该依赖这些领域。例如,管理播客的团队在提供用于发布播客的API 的同时,还应负责提供代表已发布播客随时间推移的历史数据以及随时间推移的收听率等其他事实。

逻辑架构:面向域的数据和计算

为了促进这种分解,我们需要建模一个按域排列分析数据的架构。在此架构中,域与组织其他部分的接口不仅包括操作能力,还包括对域所服务的分析数据的访问。例如,播客域提供了操作 API 来创建新的播客集,还提供了一个分析数据端点,用于检索过去N个月内的所有播客集数据。这意味着架构必须消除任何冲突或耦合,以让域提供其分析数据并发布计算数据的代码,独立于其他域。

以下示例演示了面向域的数据所有权原则。这些图只是逻辑表示和示例性的。每个域可以公开一个或多个操作 API,以及一个或多个分析数据端点。

fb31d2185115b95b010f021e5663aa0e.png

98db9a98c261478befaf2f367e0e356c.png

1f058292908a3eb15c57d0f2c476d93b.png

19cf1d4ce106acd5cf0eba02bc4fcba2.png

f0b415828ed85c06e740714cc376a191.png

b787d7849bb1e40e3049af92e6e25c22.png

d1fa854c7784a99b9559b361b35ecb97.pnga0cac788b11d10f07a4f99476a35dc84.png

dcbfccc625e1237e1f88f2af024c2703.png

78f06a94d24d40da7eb6a902f82a812a.png

8d9e0c479b53a240094df85d1a5f156c.png

69ceebf2f075c3c5a437cbd0338bad7e.png

fd094fb3ad8922e9b366a50850507734.png

ce9ed6487894eaa74d7db14c2c4a4e78.png

f34be023d4ba449ad21e431fe7303971.png

ed2e07294cfe9490aeb1c86099b7e915.png

0d7979fc09e197fc4361b20831f9f34a.png

b3edfd142154b907892d9db637547eb6.png

cabc75cefc847ca857bebeb649fadd82.png

通过上文我们已经建立了一种通用语言和一种逻辑思维模型,未来可以共同推进网格组件的详细蓝图,例如数据产品、平台和所需的标准化。

相关文章
|
6天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
41 0
|
6天前
|
Cloud Native Linux 网络虚拟化
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
在Linux网络虚拟化领域,虚拟以太网设备(veth)扮演着至关重要的角色🌐。veth是一种特殊类型的网络设备,它在Linux内核中以成对的形式存在,允许两个网络命名空间之间的通信🔗。这篇文章将从多个维度深入分析veth的概念、作用、重要性,以及在容器和云原生环境中的应用📚。
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
|
6天前
|
运维 监控 安全
WLAN的组网架构和工作原理
WLAN的组网架构和工作原理
9 0
|
6天前
|
存储 移动开发 前端开发
【Uniapp 专栏】Uniapp 架构设计与原理探究
【5月更文挑战第12天】Uniapp是一款用于跨平台移动应用开发的框架,以其高效性和灵活性脱颖而出。它基于HTML、CSS和Vue.js构建视图层,JavaScript处理逻辑层,管理数据层,实现统一编码并支持原生插件扩展。通过抽象平台特性,开发者能专注于业务逻辑,提高开发效率。尽管存在兼容性和复杂性挑战,但深入理解其架构设计与原理将助力开发者创建高质量的跨平台应用。随着技术进步,Uniapp将继续在移动开发领域扮演重要角色。
【Uniapp 专栏】Uniapp 架构设计与原理探究
|
6天前
|
负载均衡 NoSQL 关系型数据库
深入浅出Redis(六):Redis的主从架构与主从复制原理
深入浅出Redis(六):Redis的主从架构与主从复制原理
|
6天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
6天前
|
机器学习/深度学习 语音技术 网络架构
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
|
6天前
|
运维 监控 Cloud Native
江帅帅:一盏茶的时间初探网格服务架构 Istio
江帅帅:一盏茶的时间初探网格服务架构 Istio
24 0
|
6天前
|
Java API 微服务
Java微服务架构:原理与实践
【4月更文挑战第15天】本文介绍了Java微服务架构的原理和实践,包括服务拆分、注册与发现、API网关、配置中心和分布式链路追踪。重点提及Spring Boot和Spring Cloud作为开发工具,以及Docker和Kubernetes用于容器化和集群管理。Java微服务架构旨在应对大规模、复杂业务系统的挑战,提升系统可用性和可扩展性。
|
6天前
|
存储 负载均衡 NoSQL
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
54 1