3000万个应用共享一套数据库:多租户“逻辑表”架构是如何做到的?

简介: 传统的“每个应用一张物理表”会导致物理表数量爆炸,“所有数据塞一张大表”又会让SQL计算能力失效。OceanBase用“逻辑表”架构解决了这个问题——每个应用拥有独立的表结构体验,但底层3000万个逻辑表共享同一套物理存储。本文从技术架构角度,拆解这套多租户“逻辑表”方案的实现原理。

大家好,我是小耶,写功课只是为了我踩过的坑,你们别再踩了!

8月初,OceanBase首次公开了支撑蚂蚁灵光AI生成应用的数据架构实践。

灵光平台让用户通过一句话就能生成一个“闪应用”——记账本、报名页面、打卡工具、调查问卷……目前已经承载了约3000万个这样的应用。

3000万个应用,每个都需要独立的数据存储和查询能力。如果是传统架构,要么为每个应用创建独立的物理表——物理表数量爆炸;要么把所有数据塞进一张大JSON表——SQL计算能力直接失效。

OceanBase给出的答案是:逻辑表

一、传统方案的两难困境

方案一:每个应用一张物理表

每个闪应用独立建表——3000万个应用就有3000万张表。数据库的元数据管理压力巨大,表数量爆炸会导致系统表膨胀、DDL操作缓慢、备份恢复时间急剧增加。

方案二:所有应用共用一张大表

把所有应用的数据塞进一张大表,用app_id字段区分。SQL引擎需要处理海量数据,查询时必须扫描全表再过滤app_id,索引效率极低。当单个应用数据量增长时,还会影响其他所有应用的查询性能。

两条路都走不通。灵光需要的是一套“中间方案”——应用层感觉独立,底层共享存储。

二、逻辑表架构的核心设计

逻辑表 vs 物理表

每个“闪应用”在操作层面仍然拥有独立的表结构——可以建表、插入数据、执行SQL查询,和使用独立数据库的体验完全一样。

但底层并不为每个应用创建独立的物理表。逻辑表是对物理存储的抽象映射。用户看到的是“我自己的表”,数据库底层看到的是“共享物理存储上的一个逻辑分区”。

JSONTable SDK

应用层通过JSONTable SDK与数据库交互。用户对逻辑表的操作(建表、插入、查询)被SDK转化为对共享物理存储的操作——数据以JSON格式写入底层物理表,读取时再映射回用户感知的逻辑表结构。

受控SQL计算

当用户执行SQL查询时,SQL引擎会自动注入租户隔离条件——每个查询只看到属于自己租户的数据,不会“越界”看到其他应用的数据。权限隔离在数据库内核层面完成,不需要应用层额外处理。

三、与传统多租户方案的区别

传统的多租户方案通常有两种做法:

  • 独立数据库:每个租户一个数据库——资源浪费严重,管理成本高

  • 共享数据库+租户字段:所有租户一张表,用tenant_id区分——查询需全表扫描,隔离性差

OceanBase的逻辑表方案走的是第三条路:

  • 操作层独立:每个应用看到的是自己独立的表结构,可以建表、插数据、执行SQL,体验跟独立数据库一模一样

  • 存储层共享:底层不创建独立的物理表,所有逻辑表共享同一套物理存储

  • 隔离层内建:多租户的权限隔离在数据库内核层面天然保障,不需要应用层额外处理

这种设计解决了两个核心问题:物理表数量不再随应用数量线性增长,存储成本大幅下降;多租户的权限隔离也天然得到保障。

四、为什么这套架构值得关注?

这不是一个“技术概念”,而是一个已经在生产环境验证的架构。3000万个应用跑在同一套数据库上,验证了逻辑表方案在真实场景下的可行性。

它反映了一个更大的趋势:数据库正在从“面向人”走向“面向AI Agent”。当AI可以批量生成应用,数据库面对的已不再只是容量和性能问题,而是被Agent持续生成的海量动态数据空间。每一个AI生成的应用都需要独立的数据能力,传统“一个应用一个数据库”的模式已经无法支撑。

五、总结

多租户“逻辑表”架构的本质,是在“应用独立”和“资源共享”之间找到了一个平衡点:

  • 每个应用拥有完整的SQL体验

  • 底层共享一套物理存储

  • 3000万个应用共享一套数据库

  • 某个应用增长到足够大时,可以一键迁移到独立的物理表

这套架构的价值不在于“多租户”本身,而在于它证明了:当数据规模从“人”的尺度变成“Agent”的尺度时,数据库架构需要被重新设计。逻辑表方案提供了一个可扩展的路径——让AI生成的应用从一开始就拥有独立的数据能力,而不用等到规模大了再重构。

小耶在手,SQL 不愁

还有什么想了解的,欢迎留言!小耶一定知无不言言无不尽……我们下次见~

相关文章
缓存 JavaScript 安全
213 0
缓存 人工智能 算法
430 0
|
移动开发 JavaScript 前端开发
分享92个JS相册效果JS代码,总有一款适合你
分享92个JS相册效果JS代码,总有一款适合你
668 0
人工智能 运维 安全
30 0
存储 架构师 数据库
26 0
监控 安全 Devops
28 1
人工智能 数据库 开发者
45 0
人工智能 自然语言处理 数据可视化
59 1
Oracle IDE Java
32 1
安全
28 0

热门文章

最新文章