OceanBase

返回 分布式数据库

OceanBase(蚂蚁集团开源)是面向金融级场景的原生分布式关系型数据库:Shared-Nothing 架构,基于 Paxos/Raft 多副本,支持 MySQLOracle 两种租户模式,在国产替代、高可用与 HTAP 场景与国内大行、互联网公司有较多落地。


架构(概念)

应用(MySQL 或 Oracle 协议)
        │
        ▼
   OBProxy(可选,连接路由、负载均衡)
        │
        ▼
   OBServer 集群(SQL 引擎 + 存储引擎合一节点)
        │
   ┌────┴────────────────────┐
   ▼                         ▼
 RootService / 日志流      分区(Partition)多副本
(元数据、调度)            Paxos 复制,自动选主、扩缩容
组件职责
OBServer计算与存储融合节点,承载分区副本
OBProxySQL 入口,会话保持、读写分离路由
RootService集群元数据、资源调度、副本分布
分区(Partition)数据分片单位,类似 Region/Shard

核心特性

特性说明
高可用多副本 + Paxos,RPO≈0,支持同城三中心、异地多活
水平扩展在线加机器,分区自动均衡
多租户一套集群多 Tenant,资源隔离(CPU/内存/IO)
双模式MySQL 模式Oracle 模式(语法与兼容度因版本而异)
HTAP行列混存 / 旁路分析能力(版本演进中,对标 TiDB HTAP)
压缩高压缩比存储,适合海量历史数据

与 TiDB / MySQL 分片对比

维度OceanBaseTiDBShardingSphere + MySQL
定位金融级、国产分布式开源 HTAP、MySQL 生态渐进分片
协议MySQL / Oracle 租户MySQLMySQL
存储引擎自研 LSM 等TiKVInnoDB
生态工具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: ***

相关链接