OceanBase
→ 返回 分布式数据库
OceanBase(蚂蚁集团开源)是面向金融级场景的原生分布式关系型数据库:Shared-Nothing 架构,基于 Paxos/Raft 多副本,支持 MySQL 与 Oracle 两种租户模式,在国产替代、高可用与 HTAP 场景与国内大行、互联网公司有较多落地。
架构(概念)
应用(MySQL 或 Oracle 协议)
│
▼
OBProxy(可选,连接路由、负载均衡)
│
▼
OBServer 集群(SQL 引擎 + 存储引擎合一节点)
│
┌────┴────────────────────┐
▼ ▼
RootService / 日志流 分区(Partition)多副本
(元数据、调度) Paxos 复制,自动选主、扩缩容
| 组件 | 职责 |
|---|
| OBServer | 计算与存储融合节点,承载分区副本 |
| OBProxy | SQL 入口,会话保持、读写分离路由 |
| RootService | 集群元数据、资源调度、副本分布 |
| 分区(Partition) | 数据分片单位,类似 Region/Shard |
核心特性
| 特性 | 说明 |
|---|
| 高可用 | 多副本 + Paxos,RPO≈0,支持同城三中心、异地多活 |
| 水平扩展 | 在线加机器,分区自动均衡 |
| 多租户 | 一套集群多 Tenant,资源隔离(CPU/内存/IO) |
| 双模式 | MySQL 模式、Oracle 模式(语法与兼容度因版本而异) |
| HTAP | 行列混存 / 旁路分析能力(版本演进中,对标 TiDB HTAP) |
| 压缩 | 高压缩比存储,适合海量历史数据 |
与 TiDB / MySQL 分片对比
| 维度 | OceanBase | TiDB | ShardingSphere + MySQL |
|---|
| 定位 | 金融级、国产分布式 | 开源 HTAP、MySQL 生态 | 渐进分片 |
| 协议 | MySQL / Oracle 租户 | MySQL | MySQL |
| 存储引擎 | 自研 LSM 等 | TiKV | InnoDB |
| 生态工具 | OCP、OMS 迁移 | TiUP、DM、TiFlash | 社区中间件 |
| 选型倾向 | 监管、双活、Oracle 替代 | 互联网 HTAP、开源栈 | 存量 MySQL |
与 TiDB 二选一居多:都兼容 MySQL 业务,需结合团队运维经验、许可、迁移工具(OMS vs DM)与 POC 指标。
使用注意
| 项 | 建议 |
|---|
| 租户规划 | 按业务线划 Tenant,避免单租户撑满集群 |
| 分区键 | 仍须合理设计,避免热点分区 |
| Oracle 模式 | 迁移需评估存储过程、方言、数据类型 |
| 跨服务事务 | 库内由 OceanBase 保证;跨微服务仍用 Seata 或 MQ |
| 迁移 | 使用 OMS(OceanBase Migration Service)等从 MySQL/Oracle 同步 |
Spring / Java
MySQL 模式下与 MySQL 类似:
spring:
datasource:
url: jdbc:mysql://obproxy:2883/tenant_db?useSSL=false
username: app@tenant
password: ***
相关链接