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

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

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

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

相关文章
|
7天前
|
运维 监控 负载均衡
云原生架构的演进:从微服务到服务的网格
【7月更文挑战第8天】云原生技术正以惊人的速度不断进化,其核心理念是构建可扩展、灵活且高度可靠的应用程序。本文将深入探讨云原生架构的关键组成部分,特别是微服务和服务网格,以及它们如何共同推动现代软件的发展。我们将通过一个具体的案例分析,揭示这些技术如何在现实世界中被应用来提升业务敏捷性和操作效率。
|
12天前
|
Dart JavaScript Java
flutter 架构、渲染原理、家族
flutter 架构、渲染原理、家族
22 2
|
14天前
|
监控 Kubernetes 持续交付
后端开发中的微服务架构:原理、优势与实践
本文深入探讨了在现代后端开发中,微服务架构如何成为提升系统可维护性、扩展性和敏捷性的关键技术。文章首先定义了微服务并解释了其核心原理,随后通过数据和案例分析,展示了微服务架构如何优化开发流程和提高系统性能。最后,文中提供了实施微服务架构的实用建议,旨在帮助开发者更好地理解和应用这一架构模式。
|
18天前
|
存储 SQL BI
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
|
21天前
|
Java 数据库连接 API
“论数据访问层设计技术及其应用”写作框架,系统架构设计师
在信息系统的开发与建设中,分层设计是一种常见的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常见的层次划分模型是将信息系统分为表现层、业务逻辑层和数据访问层。信息系统一般以数据为中心,数据访问层的设计是系统设计中的重要内容。数据访问层需要针对需求,提供对数据源读写的访问接口;在保障性能的前提下,数据访问层应具有良好的封装性、可移植性,以及数据库无关性。
“论数据访问层设计技术及其应用”写作框架,系统架构设计师
|
18天前
|
存储 消息中间件 负载均衡
技术心得记录:架构设计之数据分片
技术心得记录:架构设计之数据分片
|
18天前
|
存储 SQL 分布式计算
技术心得记录:深入学习HBase架构原理
技术心得记录:深入学习HBase架构原理
|
4天前
|
运维 Kubernetes 监控
深入解析微服务架构的演进与实践
本文旨在探究微服务架构从诞生到成熟的发展历程,分析其背后的技术推动力和业务需求,并结合具体案例,揭示实施微服务过程中的挑战与解决策略。通过对微服务架构与传统单体架构的对比,阐明微服务如何优化现代应用开发流程,提高系统的可扩展性、可维护性和敏捷性。
14 0
|
2天前
|
监控 负载均衡 安全
探索微服务架构中的API网关模式
【7月更文挑战第13天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务间的通信和客户端请求。本文将深入剖析API网关的核心作用、设计考量以及实现策略,为构建高效、可靠的分布式系统提供实践指南。
18 10
|
1天前
|
弹性计算 运维 Kubernetes
自动化运维的新篇章:容器编排与微服务架构
【7月更文挑战第14天】在数字化转型的浪潮中,企业对运维效率和系统可靠性的需求日益增长。本文深入探讨了自动化运维的最新趋势——容器编排和微服务架构,并阐述了如何通过这些技术提升运维效率、降低系统复杂性以及提高服务的可用性和可扩展性。文章不仅介绍了相关技术和工具的选择,还提供了实际案例分析,旨在为读者提供一套完整的解决方案框架,以适应快速变化的市场需求。