CORE CONCEPTS · 分布式 SQL · 强一致
CockroachDB 核心知识
CockroachDB 默认提供分布式 Serializable 事务。核心学习点是 Range/Raft、leaseholder、事务重试和多区域 locality。
学完应该能做到
- 能解释 Range 与副本
- 能正确处理序列化重试
- 能设计多区域表局部性
三个必须建立的心智模型
Range 与 Raft
键空间自动切为 Range,每个 Range 通过 Raft 复制;leaseholder 通常服务一致性读。
- 关注热点 Range
- 理解 rebalancing
- 容量按副本数计算
Serializable 与重试
并发冲突可能返回可重试错误,应用和驱动需要正确的事务重试循环。
- 事务保持短小
- 使用稳定幂等逻辑
- 监控 contention events
多区域局部性
REGIONAL BY ROW/TABLE 与 GLOBAL 表在延迟、存活和一致性之间做不同取舍。
- 先定义 survival goal
- 让数据靠近写入者
- 量化跨区域提交延迟
把知识落到工程决策
建模前
先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。
上线前
使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。
运行中
监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。