CORE CONCEPTS · 文档数据库
MongoDB 核心知识
MongoDB 的关键不是“无 Schema”,而是围绕原子边界、查询模式、索引和分片键设计稳定的文档模型。
学完应该能做到
- 能选择嵌入或引用
- 能解释 replica set 与读写关注
- 能设计可扩展分片键
三个必须建立的心智模型
文档原子边界
单文档写入天然原子,嵌入可减少 join,但无限增长数组会制造热点和大文档。
- 按一致性边界嵌入
- 控制文档大小
- 避免无界数组
索引与聚合
复合索引顺序、multikey、覆盖查询和 Aggregation Pipeline 决定查询成本。
- 用 explain executionStats
- 限制高代价 $lookup
- 维护索引选择性
复制与分片
replica set 负责高可用,sharding 负责容量;read/write concern 定义一致性。
- 选择高基数分片键
- 避免单调热点
- 演练 stepdown 与 chunk 迁移
把知识落到工程决策
建模前
先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。
上线前
使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。
运行中
监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。