Skip to content

CORE CONCEPTS · 文档数据库 · 同步

Apache CouchDB 核心知识

CouchDB 围绕 HTTP、MVCC 修订树和复制构建。最重要的是接受最终一致复制与应用级冲突处理,而不是把它当 MongoDB 替代品。

学完应该能做到

  • 能解释 revision 与冲突
  • 能设计复制拓扑
  • 能选择 Mango 或 View

三个必须建立的心智模型

01

Revision 与 MVCC

更新创建新 revision,冲突分支可能同时存在;_rev 是并发控制令牌而非业务版本号。

  • 写入携带当前 _rev
  • 保留业务合并策略
  • 不要依赖 revision 排序
02

复制与冲突

复制是增量、可恢复和双向的,但不会自动按业务语义合并冲突。

  • 监控 checkpoint
  • 设计幂等文档
  • 定期扫描冲突
03

Mango 与 View

Mango 提供声明式选择器,MapReduce View 适合预计算索引;两者能力与成本不同。

  • 为 selector 建索引
  • 避免全库扫描
  • 规划索引重建

把知识落到工程决策

建模前

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

上线前

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

运行中

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

Released under the MIT License.