关于 OceanBase 中日志流(Log Stream)与分区的映射关系,以下描述正确的是?

A. 每个分区(Partition)拥有独立的日志流,所有该分区的 Clog 写入、Paxos 选举均在各自的日志流内完成,互不干扰。

B. 一个日志流可以承载多个分区,同一日志流内的所有分区共享 Clog 序号和 Paxos 副本组,写入时共用同一个日志队列。

C. 日志流与分区是一对一的关系,每个日志流只能服务于一个分区,这是为了保证故障隔离的最小粒度。

D. 系统租户(sys )的日志流与用户租户的日志流相互独立,但所有用户租户共享同一个日志流以降低元数据管理开销。

解析
OceanBase V4.x 版本引入了日志流(Log Stream)概念,作为 Paxos 复制和高可用的基本单元。一个日志流可以承载多个分区 ,这些分区共享同一个 Clog 序列和副本组成员。写入任一分区的事务,其 Clog 都会追加到所属日志流中。这种设计减少了 Paxos 组的数量(避免每个分区一个日志流带来的元数据和通信开销),同时保证同一日志流内的分区数据具有相同的高可用属性(副本分布、Leader 位置一致)。

  • A 错误 :每个分区不拥有独立的日志流 ,多个分区共享一个日志流。
  • B 正确 :这是日志流的核心设计:多分区共享日志流,共用一个 Paxos 组和 Clog 队列。
  • C 错误 :日志流与分区是 一对多 的关系。
  • D 错误 :每个租户(包括系统租户和用户租户)拥有独立的日志流集合,租户之间的日志流完全隔离。用户租户之间也不共享日志流。

正确答案:B

1 个赞

选B