主要使用OB数据库的公司是怎么设计自己的架构的?

主要使用OB数据库的公司是怎么设计自己的架构的?能具体说说大部分采用的方案吗?

5 个赞
  使用 OceanBase(OB)的公司(尤其是金融、电信等核心业务场景)通常采用‌“Shared-Nothing 分布式架构 + 多租户资源隔离 + Paxos 高可用部署”‌的设计方案,旨在实现金融级高可用(RPO=0)、弹性扩展及 HTAP 混合负载能力。‌‌
  1. 核心架构设计模式
  1.1 分层接入与路由‌:应用层不直连数据库节点,而是通过‌OBProxy(ODP)‌集群接入。OBProxy 无状态,负责 SQL 解析、智能路由、负载均衡及读写分离,对外提供统一 VIP 或域名,屏蔽底层数据分片细节 。
  1.2 多租户资源隔离‌:在单个 OB 集群内创建多个‌租户‌(Tenant),每个租户逻辑上等同于独立数据库实例。通过‌资源单元(Unit)‌配置 CPU/内存配额,实现不同业务线(如交易、分析、测试)的物理资源隔离,避免相互干扰,提升资源利用率 。
  1.3 存储与计算引擎‌:底层采用‌LSM-Tree‌存储引擎,写入全顺序化以支撑高并发;支持‌行存+列存‌一体化,原生支持 HTAP,同一份数据可同时服务 OLTP 交易和 OLAP 实时分析,无需额外 ETL 同步至数仓 。
‌  1.4 强一致性复制‌:数据默认采用‌Multi-Paxos 协议‌进行多副本同步。每个数据分片(Tablet)有 3 或 5 个副本分散在不同可用区(Zone),多数派持久化成功后即确认提交,确保故障时数据零丢失 。‌‌
   2.主流部署容灾方案
   大部分企业根据容灾等级要求,采用以下两种典型部署拓扑:
   2.1 ‌三地五中心(最高等级)‌
    ‌架构‌:跨越 3 个城市部署 5 个可用区(Zone),通常配置‌5 副本‌。
    ‌场景‌:满足银行核心系统等对“城市级灾难”零容忍的需求。任意两个城市故障,剩余多数派副本仍可自动选主提供服务,RPO=0,RTO<30 秒 。
    ‌特点‌:成本较高,但具备极强的异地容灾能力,符合金融监管最高标准 。‌‌
  2.2 ‌同城三机房(主流标准)‌
    ‌架构‌:在同一城市的 3 个不同机房部署‌3 副本‌,每个机房对应一个 Zone。
    ‌场景‌:适用于绝大多数核心及一般业务系统。单机房故障不影响服务,网络延时低(<5ms),事务性能最优 。
    ‌特点‌:性价比最高,是国有大行、股份制银行替换 Oracle/MySQL 时的首选方案 。‌‌
 
 可以参考一下文档:
 1. https://open.oceanbase.com/blog/24382023760
 2. https://www.modb.pro/db/328724
3 个赞

一般公司都是使用一个集群,多租户数据库架构!以及灵活的扩展能力!

1 个赞

两地三中心,三地五中心的高可用容灾架构吧

1 个赞

三副本(1:1:1)+备租户架构

1 个赞

看场景,看目的,比如poc阶段,可能是功能行的,设备配置啥的不一定像生产或准生产那么高,主要是功能性测试。

1 个赞

银行业(核心交易系统:账户、核心账务、手机银行、信贷)

业务诉求

零数据丢失(RPO=0)、城市级故障不中断(RTO<30 秒)、严格强一致、分布式事务稳定,满足金融监管;同时兼容 Oracle,实现去 IOE 改造OceanBase。

架构设计

  1. 部署架构:三地五中心(金融最高标准)
  • 同城 3 个 Zone(同城市 3 个机房)+ 异地 2 个 Zone(跨城灾备),共 5 个机房;分区采用5 副本模式,保证城市级灾难无损切换。
  • 主写流量集中在同城主机房,异地副本仅做灾备,不承担写入压力。
  1. 租户拆分(多租户隔离)
  • 拆分独立租户:核心账务租户、互联网渠道租户、报表分析租户;
  • 资源池 + Unit 资源隔离,交易租户(OLTP)与报表租户(OLAP)物理资源隔离,杜绝大查询拖垮核心交易OceanBase。
  1. 表与分区设计
  • 选择业务自然分片键(客户号、账号)做哈希分区,数据均匀打散;
  • 订单、流水采用范围分区(按日期),方便定期清理历史冷数据;
  • 核心热点表配置表组SHARDING=ON,分区均匀分散多节点,避免单机热点。
  1. 读写架构
  • ODP 开启读写分离:写请求路由到分区主副本;普通查询分流到备副本,分摊主节点压力;
  • 跨分区分布式事务严格控制数量,业务尽量按分区键拆分事务,减少 2PC 开销。
  1. 高可用 Paxos 自动选主,单节点 / 机房故障自动切换;搭配应用层单元化多活,同城双活流量互切。
1 个赞