问题:OceanBase 作为原生分布式数据库,支持自增主键和序列(Sequence)。在 MySQL 兼容模式下,OceanBase 提供了 ORDER 和 NOORDER 两种自增模式。请问这两种模式在底层实现机制和性能表现上有什么核心区别?在什么场景下推荐使用 NOORDER 模式?

问题:OceanBase 作为原生分布式数据库,支持自增主键和序列(Sequence)。在 MySQL 兼容模式下,OceanBase 提供了 ORDER 和 NOORDER 两种自增模式。请问这两种模式在底层实现机制和性能表现上有什么核心区别?在什么场景下推荐使用 NOORDER 模式?

ORDER 模式(集中式缓存):底层采用集中式缓存,由选举出的 Leader 节点统一提供自增服务,其他节点通过 RPC 请求获取。它能保证全局严格单调递增,兼容性更好,但在高并发下性能略低。

NOORDER 模式(分布式缓存):底层采用分布式缓存,仅保证全局唯一性(各分区内的值单调递增,但全局不保证单调)。由于减少了节点间的 RPC 通信,其在分布式分区表场景下具有更高的写入性能。当业务对全局严格递增没有强诉求,且追求极致写入性能时,推荐使用 NOORDER 模式 。