Skip to content

CORE CONCEPTS · 分布式 SQL · 强一致

CockroachDB 核心知识

CockroachDB 默认提供分布式 Serializable 事务。核心学习点是 Range/Raft、leaseholder、事务重试和多区域 locality。

学完应该能做到

  • 能解释 Range 与副本
  • 能正确处理序列化重试
  • 能设计多区域表局部性

三个必须建立的心智模型

01

Range 与 Raft

键空间自动切为 Range,每个 Range 通过 Raft 复制;leaseholder 通常服务一致性读。

  • 关注热点 Range
  • 理解 rebalancing
  • 容量按副本数计算
02

Serializable 与重试

并发冲突可能返回可重试错误,应用和驱动需要正确的事务重试循环。

  • 事务保持短小
  • 使用稳定幂等逻辑
  • 监控 contention events
03

多区域局部性

REGIONAL BY ROW/TABLE 与 GLOBAL 表在延迟、存活和一致性之间做不同取舍。

  • 先定义 survival goal
  • 让数据靠近写入者
  • 量化跨区域提交延迟

把知识落到工程决策

建模前

先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。

上线前

使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。

运行中

监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。

Released under the MIT License.