本文转载于OceanBase博客博主,作者为 JiekeXu。本文观点仅代表作者观点。

JiekeXu,江湖人称“强哥”,青学会 MOP 技术社区主席,荣获 Oracle ACE Pro 称号,墨天轮 MVP,墨天轮年度“墨力之星”,拥有 Oracle OCP/OCM 认证,MySQL 5.7/8.0 OCP 认证以及 PCA、PCTA、OBCA、OGCA、KCA、KCP、KCSM 等众多国产数据库认证证书。
本文将和大家一起看看OceanBase 最新推出的共享存储。

前 言

2025 年 5 月 17 日,第三届 OceanBase 开发者大会在广州举行。本次大会 OceanBase 发布了多项重要内容,涵盖Windows/Mac桌面版单机社区版本、AI Vector向量功能,以及国内首款支持共享存储的全新版本等。

1750001072

大会上,CTO 杨传辉回顾了OceanBase一体化架构的发展历程:从2010年的V0.1版本起,到今年推出具备向量能力和 SQL+AI 深度整合的V4.3.3版本,直至最新发布的V4.4版本。V4.4版本创新性地在单一产品中同时支持 Shared Nothing 和 Shared Storage 两种架构,成为业界首个基于对象存储、面向OLTP 场景的多云原生数据库。

1750001059

另外,大会上也展示了每年都有的现场演示环节,本次展示向量性能现场演练,结果显示 OceanBase 向量性能已达到开源向量数据库业界领先水平。同时打造面向 AI 时代开箱即用的 RAG 服务——OceanBase PowerRAG 正式发布;OceanBase 即将开启 TP+AP+AI 真正的一体化产品形态。

1750001047

今天主要来聊一聊我比较感兴趣的共享存储,今年我们同事也在做对象存储冷热数据分离的改造,通过访问日志需要计算统计每个文件访问、上传、下载的次数,之前也借助 DeepSeek 和 Oracle in-memory 特性协助处理过,真是耗时耗力花费巨大。

共享存储架构

一听到共享存储我原先以为是和 Oracle 的 ASM 那样的共享存储架构,结果到现场发现说的是共享对象存储,还有有所区别的。OceanBase 为了弥补对象存储在延迟上的短板,他们构建了一套多层缓存体系,通过冷热分层 + 命中率最大化的设计,可以把对象存储的影响控制在最低限度。

1750001028

如图所示,整个架构分为四层:

  • 内存缓存层:承载最热点数据,包括微块、索引数据等,确保关键事务毫秒级响应;
  • 本地持久化缓存层:独立部署三副本日志服务,提升访问效率,解决对象存储随机读慢的问题,并且这种单日志服务可支撑多集群运行,为共享存储架构补上关键一环。其主要功能包括: 1)缓存从对象存储读取的数据。 2)预读数据。例如全表扫描时,提前将待读取的数据缓存到本地。 3)预热。在合并切版本前,将热点数据加载至本地缓存。在短时间宕机重启后,持久化缓存依然有效,减少容灾场景下的性能抖动。同时,为了保证 RTO 时间,本地持久化缓存的访问序列会实时地同步给 Follower 副本,Leader 副本和 Follower 副本有近乎相同的缓存数据。在复制迁移时,也会将本地缓存数据带给目的端,保证复制迁移后的性能。 4)写缓存。利用本地盘的低延迟,充当写缓存,记录一些重要的本地状态,例如 Meta 文件、最新的 clog、mini 转储等。
  • 分布式缓存层:为共享存储架构补上关键一环,热点数据的三级缓存;
  • 对象存储层:用于存储低频访问的大容量数据,兼容 S3 接口,支持多云对象存储(如 AWS S3)及私有化部署方案(如 MinIO);

那么为何会出现这种架构呢?以 OceanBase 为例,过去 OceanBase 集群采用 shared-nothing 架构,各个 OBServer 节点将数据直接存储于本地磁盘,并通过网络完成节点间的协同。这种架构在性能上具备天然优势,尤其适用于对延迟敏感 的 OLTP 业务场景。然而,shared-nothing 架构在灵活性方面存在明显限制:扩缩容需要迁移数据,操作复杂、耗时较长;同时,每个节点都需持有完整副本,导致整体存储冗余度高,面对大规模数据时,成本 压力显著。为解决 shared-nothing 架构在弹性和成本方面的瓶颈,OceanBase 推出了共享对象存储产品。

1750000986

对象存储是一种以对象为中心的数据存储方式,具有高度的可靠性、可扩展性和性能。这款产品比较常见,也不是什么新概念,市面上已有不少数据库产品已支持对象存储,比如 Oracle 19c 数据泵就支持备份到对象存储;很多数据库厂商的支持更多停留在 HTAP、备份、冷数据场景,尚未真正突破 OLTP 对延迟和稳定性的极致要求。OceanBase 是业内首个实现基于对象存储并落地 OLTP 生产环境的云数据库,背后依赖的是深度的技术创新和极高的工程复杂度。

1750000972

那么总结起来有如下六点:

1)OceanBase 创新性地构建了多级缓存架构解决性能问题,专为 TP 场景设计,OceanBase 增加了本地持久化缓存+分布式缓存,有效承接对象存储的访问延迟问题。

2)OceanBase 使用自研的基于对象存储的 LSM-Tree 引擎,天然适配"只追加、不修改"的对象存储特性,避免覆盖写,降低写放大和冲突概率,提升 IOPS 利用效率。同时 OceanBase 通过聚合小 I/O、异步写入、读写路径优化、并发控制等深度工程手段,极大缓解了 TP 场景下频繁事务访问对底层存储带来的压力。

3)OceanBase 独有的持久化缓存弹性伸缩能力,进一步解决了TP场景下热点数据随业务波动而动态变化的问题。相比业界普遍的固定缓存策略,OceanBase 的本地缓存空间可随负载自动扩缩,保障高并发读写的同时降低资源成本。

4)OceanBase 日志架构重构:通过独立服务化模块,不仅带来了更稳定的日志 I/O,还实现了日志的跨集群共享,进一步降低了存储成本,提高了资源利用率,实现更好的性能、更好的弹性和更低的成本。这一点在原来的 Share Nothing 三副本架构中,日志服务分布在每个副本内部,会生成大量的日志,造成日志大 I/O,也浪费磁盘空间,这个优化值得大赞。

5)OceanBase 支持 Serverless 弹性架构, AWS Lambda Spot 实践可以带来70%成本节约。同时,OceanBase 将 Compaction、DDL、备份恢复等重I/O 操作独立成异步后台服务,计算节点实现本地无状态,具备更强的自动弹性和跨集群迁移能力,真正从架构层面更深度融入云原生。

 6)OceanBase 适配和优化对象存储的访问全链路,从 I/O 调度机制、缓存命中率、预取策略,到跨可用区的副本同步机制,全面压低延迟波动。

1750000947

正是这些技术难点的逐一突破、这些工程能力的系统构建,使 OceanBase 成为目前业内唯一能够在 OLTP 场景下稳定运行对象存储的云数据库。在 TP 负载下,OceanBase 共享存储产品在保障强一致性的同时,可将存储成本降至原有的一半;在 AP、AI 及多模相关负载下,支持大规模分析和离线任务的同时,存储成本可进一步降低至原来的十分之一,打造面向海量数据的一体化数据底座。

1750000932

共享存储应用场景

共享存储可以使用在 TP、AP、多模等多个场景,尤其是在历史库、实时报表、风控场景下,有很大的应用。但对象存储是否真的能扛起 OLTP 系统的重任?目前还不能下定论。但 OceanBase 是第一个吃螃蟹的,他们用行动证明:路是人走出来的,虽然现在还没到大规模商用阶段,但至少证明了:这条路,是能走通的。在当天的大会上也认真学习了任老师的《OceanBase 共享存储在蚂蚁国际历史库实践》的演讲,受益匪浅,共享存储也被真真正正用在了历史库场景下!!!

1750000904

1750000863

1750000848

1750000832

OceanBase 桌面版发布

最后推荐一下 OceanBase 桌面版,官方将社区版本进行了进一步优化,开发者可在个人笔记本上安装桌面版,仅需 2c6g 即可安装。OceanBase Desktop 软件下载链接 https://www.oceanbase.com/softwarecenter

OceanBase 桌面版具有如下特性:

  • 图形化界面:直观易用的图形化界面,简化数据库管理任务。
  • 数据库管理:支持创建和管理数据库实例。
  • 查询执行:提供 SQL 查询命令行。
  • 监控与日志:实时监控数据库状态。

1750000782

参考链接

https://mp.weixin.qq.com/s/HljX0G0F9vEgWQ6lCWFI_g
https://mp.weixin.qq.com/s/TeWR7oFXZX1L58AIId3sEg
https://www.oceanbase.com/devcon2025/resources
https://www.oceanbase.com/softwarecenter

全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

❤️ 欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!

Logo

了解最新的技术洞察和前沿趋势,参与 OceanBase 定期举办的线下活动,与行业开发者互动交流

更多推荐