【单选题】下列哪种场景适合使用 Learner 副本?

下列哪种场景适合使用 Learner 副本?
A. 承载线上核心业务写流量
B. 同城机房做主副本投票节点
C. 异地机房离线数据统计、备份查询
D. 参与分区 Leader 选举切换

3 个赞

正确答案是 C. 异地机房离线数据统计、备份查询

Learner 副本(在 OceanBase 中也称只读型副本)的核心定位就是非投票成员,它不参与任何投票和选举,只负责异步接收数据。这个特性决定了它最适合那些对实时性要求不高、但不能影响主链路的场景。

:dart: 为什么选 C?

  • 承担读负载:Learner 副本可以分担线上查询等读请求压力,将分析统计类查询分流到异地机房,不影响核心业务。
  • 用于备份容灾:Learner 副本可作为数据备份或容灾节点,用于离线数据统计等场景。
  • 不阻塞写入:Leader 提交日志时只需等待多数派副本(Follower)确认,不需要 Learner 确认,因此 Learner 同步慢或故障完全不影响写入性能。

:x: 为什么不选 A、B、D?

  • A. 承载线上核心业务写流量:分布式数据库的写入通常由 Leader 副本处理,Learner 是只读的,不承载写流量。
  • B. 同城机房做主副本投票节点:Learner 不参与任何投票,包括选举投票和日志投票,因此不能作为投票节点。
  • D. 参与分区 Leader 选举切换:Learner 不参与 Leader 选举,也不具备被选举为 Leader 的资格,故不能参与切换。

简单总结:Learner 副本是只负责“学”(同步数据)和“看”(提供查询),不参与“决策”(投票和选举)的节点,非常适合跨机房或用于分析类任务的读扩展场景。

2 个赞