这是《MongoDB 零基础实战指南》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 从会用 MongoDB 到驾驭 MongoDB,需要经历查询优化、副本集治理、分片架构、数据模型治理和源码级理解。最终能力体现在能结合业务约束做出可靠架构决策。
31.1 学习路线
| 阶段 | 重点 |
|---|---|
| 入门 | CRUD、mongosh、文档模型 |
| 进阶 | 索引、聚合、explain、Schema |
| 高级 | 副本集、事务、Change Stream、备份 |
| 专家 | 分片、容量、性能、故障演练 |
| 大师 | 架构选型、平台治理、源码贡献 |
31.2 源码阅读
推荐路径:
driver operation
-> server command
-> query planner
-> storage API
-> WiredTiger
-> replication oplog
-> election
-> sharding metadata
重点模块:
- 查询优化器;
- 执行器;
- 索引扫描;
- WiredTiger 接口;
- oplog 应用;
- 副本集状态机;
- 选举协议;
- chunk split / migrate;
- mongos 路由;
- 事务协调。
从跑通单测和跟踪一条 update 开始。
31.3 实验环境
必做实验:
- 三节点副本集;
- Primary 切换;
- oplog 调整;
- Secondary 读;
- 多文档事务;
- Change Stream;
- 三 shard 集群;
- 哈希与范围分片对比;
- chunk 迁移;
- 备份恢复;
- 慢查询优化;
- cache 压力模拟。
记录版本、配置、数据量、指标和结论。
31.4 平台化治理
MongoDB 平台应提供:
- 集群和库生命周期管理;
- 权限申请与审计;
- Schema 契约和 validator;
- 索引评审;
- 慢查询看板;
- 容量预测;
- 备份恢复演练;
- 变更审批;
- 成本分析;
- Runbook。
31.5 架构能力
继续学习:
- 文档建模与 DDD 聚合;
- 分布式一致性;
- Raft 与共识;
- 存储引擎;
- B+Tree 与 cache;
- 分布式事务;
- CDC 与数据平台;
- 多租户隔离;
- 数据安全;
- 混沌工程。
架构方案必须回答一致性、容量、故障、观测、成本和回滚。
31.6 版本跟踪
关注:
- 新版本默认行为变化;
- 查询优化器改进;
- 分片能力;
- 时间序列集合;
- 搜索能力;
- 安全增强;
- 性能优化;
- 企业审计;
- 云托管特性;
- 驱动兼容。
以官方版本文档为准,不直接套用旧博客结论。
31.7 个人知识库
沉淀:
- Schema 评审模板;
- 索引设计清单;
- 慢查询案例;
- 分片压测报告;
- 故障时间线;
- 升级方案;
- 备份演练记录;
- 一致性矩阵;
- 常用命令;
- 源码笔记。
本章小结
大师之路建立在真实数据和故障经验上。通过源码、实验、平台化和架构治理,把 MongoDB 从一个存储产品变成可控、可观测、可演进的基础设施。
思考题
- 你当前集群的一致性矩阵是否明确?
- 最需要补齐的监控是什么?
- 最近一次备份演练是否验证路由和用户?
- 哪些集合存在无界增长风险?
- 分片键是否有容量模型支撑?