在 OceanBase 中,关于数据分区的描述,以下正确的是?


A. 分区是 OceanBase 中数据分布和负载均衡的基本单位,每个分区包含若干行数据,分布在一个或多个 OBServer 上。

B. OceanBase 支持 RANGE、LIST、HASH 三种分区方式,但不支持组合分区(二级分区)。

C. 每个分区在多个 Zone 中拥有多个副本,副本之间通过 Paxos 协议保证数据一致性。

D. 分区一旦创建后,其分区边界和数量就不能再修改,只能通过重建表来调整。

1 个赞

解析
OceanBase 中的分区是数据分布和负载均衡的基本单位。为了高可用,每个分区在多个 Zone 中维护多个副本(如 3 副本集群中,每个分区有 3 个副本)。这些副本之间通过 Paxos 协议保证强一致性:Leader 副本处理读写,Follower 副本同步日志并在 Leader 故障时接管服务。

  • A 错误 :每个分区分布在一个 OBServer 节点上(只有 Leader 副本处理读写),但分区的多个副本分布在不同的 OBServer 上,而非一个分区分布在一个或多个 OBServer。
  • B 错误 :OceanBase 支持二级分区(组合分区) ,例如 RANGE-HASH、RANGE-RANGE、HASH-HASH 等。
  • C 正确 :分区副本跨 Zone 分布,Paxos 保证一致性。
  • D 错误 :分区支持在线 SPLITMERGEADDDROP 等操作(RANGE/LIST 分区),无需重建表。HASH 分区可通过 COALESCEADD 调整数量。
2 个赞

正确答案:C

2 个赞

C. 每个分区在多个 Zone 中拥有多个副本,副本之间通过 Paxos 协议保证数据一致性。

1 个赞