第1章 MongoDB——现代Web数据库
1.1 Web的历史
1.1.1 Web 1.0
1.1.2 Web 2.0
1.1.3 Web 3.0
1.2 SQL和NoSQL的演变
1.2.1 MongoDB的演变
1.2.2 MongoDB和SQL开发人员
1.2.3 MongoDB和NoSQL开发人员
1.3 MongoDB的主要特征和用例
1.3.1 主要特征
1.3.2 MongoDB的用例
1.3.3 对MongoDB的批评
1.4 MongoDB配置和最佳实践
1.4.1 操作最佳实践
1.4.2 模式设计最佳实践
1.4.3 写入持久性的最佳实践
1.4.4 复制的最佳实践
1.4.5 分片的最佳实践
1.4.6 安全性的最佳实践
1.4.7 AWS的最佳实践
1.5 参考资料
1.5.1 MongoDB帮助文档
1.5.2 进一步阅读
1.6 小结
第2章 模式设计和数据建模
2.1 关系模式设计
2.1.1 MongoDB模式设计
2.1.2 数据建模
2.1.3 为原子操作建模数据
2.1.4 关系建模
2.1.5 连接到MongoDB
2.1.6 使用Python连接
2.1.7 使用PHP连接
2.2 小结
第3章 MongoDB CRUD操作
3.1 使用shell执行CRUD操作
3.1.1 使用mongo shell脚本
3.1.2 管理
3.1.3 mongo shell中的MapReduce
3.1.4 聚合框架
3.1.5 保护shell的安全
3.1.6 使用MongoDB进行身份验证
3.2 小结
第4章 高级查询
4.1 MongoDB CRUD操作
4.1.1 使用Ruby驱动程序执行CRUD操作
4.1.2 在Mongoid辛的CRUD操作
4.1.3 使用Python驱动程序执行CRUD操作
4.1.4 使用PyMODM执行CRUD操作
4.1.5 使用PHP驱动程序执行CRUD操作
4.1.6 使用Doctrine执行CRUD操作
4.1.7 比较操作符
4.1.8 更新操作符
4.1.9 智能查询
4.2 小结
第5章 聚合
5.1 聚合的用途
5.2 聚合操作符
5.2.1 聚合阶段操作符
5.2.2 表达式操作符
5.3 限制
5.4 聚合用例
5.5 小结
第6章 索引
6.1 内部索引
6.2 索引类型
6.2.1 单字段索引
6.2.2 复合索引
6.2.3 多键索引
6.2.4 特殊类型的索引
6.3 建立和管理索引
6.3.1 强制使用索引
6.3.2 管理索引
6.4 高效使用索引
6.5 参考资料
6.6 小结
第7章 监控、备份和安全性
7.1 监控
7.1.1 应该监控的重点内容
7.1.2 监控WiredTiger中的内存使用情况
7.1.3 跟踪页面错误
7.1.4 跟踪B树未命中的情况
7.1.5 工作集计算
7.1.6 监控工具
7.2 备份
7.2.1 备份选项
7.2.2 EC2备份和还原
7.2.3 增量备份
7.3 安全性
7.3.1 身份验证
7.3.2 授权机制
7.3.3 网络级安全性
7.3.4 审计安全性
7.3.5 特别案例
7.3.6 综述
7.4 小结
第8章 存储引擎
8.1 可插拔存储引擎
8.1.1 WiredTiger
8.1.2 加密
8.1.3 使用In-Memory存储
8.1.4 MMAPv1
8.1.5 混合使用存储引擎
8.1.6 其他存储引擎
8.2 MongoDB中的锁
8.2.1 锁的报告
8.2.2 锁的产生
8.2.3 常用命令和锁
8.2.4 需要数据库锁的命令
8.3 参考资料
8.4 小结
第9章 通过MongoDB利用大数据
9.1 关于大数据
9.1.1 大数据发展前景
9.1.2 消息排队系统
9.1.3 数据仓库
9.1.4 以MongoDB作为数据仓库
9.2 大据用例
9.2.1 Kafka设置
9.2.2 Hadoop设置
9.2.3 从Hadoop到MongoDB管道
9.2.4 从Spark到MongoDB
9.3 参考资料
9.4 小结
第10章 复制
10.1 复制
10.1.1 逻辑或物理复制
10.1.2 不同的高可用性类型
10.2 架构概述
10.3 选举方式
10.4 关于副本集的用例
10.5 设置副本集
10.5.1 将独立服务器转换为副本集
10.5.2 创建副本集
10.5.3 读取首选项设置
10.5.4 写入关注
10.5.5 副本集成员的优先级设置
10.6 连接到副本集
10.7 副本集管理
10.7.1 对副本集执行维护的方式
10.7.2 重新同步副本集的成员
10.7.3 更改oplog大小
10.7.4 在丢失了大部分服务器时重新配置副本集
10.7.5 链式复制
10.8 副本集的云选项
10.8.1 mLab
10.8.2 MongoDB Atlas
10.9 副本集的限制
10.10 小结
第11章 分片
11.1 分片的优点
l1.2 架构概述
l1.2.1 开发、持续部署和暂存环境
11.2.2 提前计划分片
11.3 分片设置
11.3.1 选择分片键
11.3.2 选择正确的分片键
l1.4 分片管理和监控
11.4.1 跟踪和保持数据平衡
11.4.2 块的管理
11.4.3 分片限制
11.5 查询分片数据
11.5.1 查询路由器
11.5.2 使用Ruby查询
11.5.3 与副本集的性能比