OceanBase 凭什么敢说"少数派宕机也不丢数据"?

很多人第一次接触 OceanBase,都会被它"任意一个机房挂了业务无感知"的说法震惊。这背后其实是分区多副本 + Paxos 协议 + Zone 故障隔离三件套在撑腰。

  • Zone(可用区):OceanBase 集群由多个 Zone 组成,一个 Zone 通常对应一个独立的故障域(机柜/机房/城市),Zone 内是若干 OBServer 节点。
  • 分区多副本:数据按分区(Partition)切分,每个分区默认有 3 个副本,分散在不同的 Zone 里。其中 1 个 Leader 副本扛读写,其余 Follower 副本同步。
  • Paxos 强一致:一次写事务,必须经 Paxos 协议在多数派(≥2/3)副本上落盘成功才算提交。所以即使坏掉 1 个副本,剩下的 2 个仍能凑成多数派,事务照常提交、数据零丢失
  • 容灾指标:RPO = 0(强同步不丢数据),RTO 通常 < 30 秒自动选主切换;常见部署形态有同城三机房、两地三中心,可做到城市级容灾。
6 个赞

ddd

不错不错

1 个赞

学习了

1 个赞

学习了,OB是分布式数据库,就是为高可用而生的

1 个赞

保证机制

补充关键前提:这套能力建立在多副本跨故障域部署 + Paxos 多数派提交之上。3 副本模式下,只要宕机副本属于少数派(≤1 个),剩余副本依旧构成多数派。所有成功提交的事务,早已持久化到多数副本,因此不会丢数据

逻辑清晰。