27 单体到分布式到数据空间——架构演变的底层逻辑

这篇文章要拆解一个架构变迁:从单体架构(一个数据库扛所有),到分布式架构(多个服务节点各有各的存储),到数据空间架构(联邦式对等网络)。理解了这三个阶段的演变逻辑,你就知道为什么数据空间不能用”分布式数据平台”的打法来做。

2021年,我在一个企业的数据平台转型项目上做评审。他们的技术负责人说了一句让我印象很深的话:”我们要从单体架构升级到分布式架构,最终目标是做成数据空间。”

我说:”分布式架构和数据空间架构不是递进关系——它们在解决两个完全不同的问题。”

这句话需要展开。

单体:简单时代的最好方案

单体架构的逻辑很简单:一个应用、一个服务层、一个数据库。用户请求进来,经过应用层处理,调用数据库,返回结果。

这种架构在今天已经被很多技术人嫌弃了,但它在1980到2000年是绝对主流,而且它解决了一类特定问题:数据在企业内部、单系统的范围内被统一管理。

单体架构的局限也很明显:扩展性不足(数据库成为瓶颈后很难水平扩展)、可用性不够(单点故障导致整个系统不可用)、耦合度高(一个业务模块的数据模型变更可能影响其他模块)。

分布式:拆开但不解耦

分布式架构解决了单体架构的扩展性和可用性问题。核心思路是”拆”,它把大系统拆成多个小服务,每个服务有自己的数据存储,服务之间通过API通信。

典型的分布式架构是一个网状拓扑:多个服务节点(水平扩展),多个数据存储(各管各的数据),服务之间通过双向箭头互联。

分布式架构的优势:扩展性好(加节点就行)、故障隔离(一个服务挂了不影响其他)、技术选型灵活(不同服务可以用不同的数据库)。

但分布式架构有一个它自己解决不了的问题:数据仍然被锁在各自服务的边界内。 A服务的数据库只有A服务能直接访问,B服务想用A服务的数据,必须通过A服务的API,数据的流通被”服务边界”约束。

数据空间:解决分布式架构解决不了的问题

数据空间架构的出现,不是为了替代分布式架构,而是为了解决分布式架构解决不了的”跨组织数据流通”问题。

在分布式架构中,数据的流通路径是:A服务的数据库 → A服务的API → B服务的调用 → B服务的业务处理。这是一个”间接流通”模式,数据经过API的过滤和变换,不再是原始的数据,而是”服务视角的数据”。

在数据空间架构中,数据的流通路径是:数据提供方的连接器 → 数据空间安全通道 → 数据使用方的连接器。这是一个”直接流通”模式。数据在提供方和使用方之间直接交换,不经过中间服务的”代理”。

这两条路径的核心差异是什么?控制权的归属。

在分布式架构中,数据的控制权在”服务”。A服务的API决定了B服务能拿到什么数据。在数据空间架构中,数据的控制权在”数据的实际拥有者”。数据提供方直接定义使用规则,不依赖中间服务的转述。

三个架构不是替代关系

回到开头那句话。单体架构、分布式架构、数据空间架构不是”一代替代一代”的关系。它们在解决不同范围的问题:

  • 单体架构:在单系统范围内管理数据

  • 分布式架构:在多服务范围内管理系统

  • 数据空间架构:在跨组织范围内流通数据

一个企业可能同时需要三种架构,它的核心业务系统用单体架构(如ERP的财务模块),它的内部数据平台用分布式架构(如数据中台),它的对外数据协作用数据空间架构(如供应链数据空间)。

每个架构回答的是不同半径上的问题。半径越小,越偏向”管控”;半径越大,越偏向”流通”。

从单体到分布式到数据空间,不是”旧的不去新的不来”的技术替代史,而是”每一轮新的架构都扩展了数据的可用半径”。


我是BSN联盟成员。有着十年区块链与隐私计算的产品开发和方案咨询经验,先后参与多个国家重大课题,亲手建过区块链、隐私计算、可信数据空间的落地项目。不追概念,写真的。


发表评论