第1章 MongoDB 3.4新特性 1
1.1 复制集(Replica Set) 1
1.2 分片集群(Sharded Cluster) 6
第2章 MongoDB3.6新特性 10
2.1 复制集(Replica Sets) 14
2.2 分片集群(Sharded Clusters) 15
第3章 运维实战:故障案例分析 16
3.1 调整oplog大小引发的从库宕机 16
3.2 hotbackup报错 18
3.3 MongoDB最大连接数限制 19
3.4 MongoDB启动失败 20
3.5 Mongos异常宕机 22
3.6 sharding集群执行sh.stopBalancer()命令卡住 23
3.7 Remove shard失败 25
3.8 move chunk aborted 31
3.9 迁移引发的性能抖动 33
3.10 Mongos连接数异常 36
3.11 rs.add时报错operation exceeded time limit 38
3.12 副本集延迟突然增大到上万秒 39
3.13 升级发现infoMessage异常 39
3.14 对已存在集合shardcollection失败 40
3.15 operation exceeded time limit 41
3.16 强制重新配置副本集 43
3.17 create index oom 49
3.18 rs.remove导致从节点crash 50
第4章 性能调优 55
4.1 机器负载高 55
4.2 快速修改库名 56
4.3 dbhash检查一致性 58
4.4 使用索引却依旧性能低下 59
4.5 索引 74
4.5.1 单列索引 74
4.5.2 复合索引 76
4.5.3 多键索引 78
4.5.4 文本索引 84
4.5.5 2dsphere索引 84
4.5.6 2d索引 85
4.5.7 Hash索引 86
4.5.8 一条SQL创建多个索引 87
4.6 索引属性 88
4.6.1 TTL索引 88
4.6.2 唯一索引 90
4.6.3 部分索引 91
4.6.4 稀疏索引 92
4.7 在大集合上创建索引 93
4.8 索引交集 94
4.9 索引排序 96
4.10 查询计划 98
4.11 systemprofile 99
4.12 Profile操作相关 101
第5章 备份与恢复 103
5.1 逻辑备份 103
5.2 Oplog Replay 104
5.3 物理备份 105
第6章 高可用架构集群管理 106
6.1 副本集 106
6.1.1 冗余和数据可用性 106
6.1.2 MongoDB中的副本集 107
6.1.3 自动故障转移 108
6.1.4 关于MongoDB的读操作 109
6.2 副本集成员状态 109
6.3 副本集原理 109
6.4 复制集成员 110
6.5 复制集成员类型 112
6.6 副本集中的主库 114
6.7 副本集中的从库 115
6.7.1 Priority 0从库 115
6.7.2 hidden从库 116
6.7.3 延迟从库 117
6.8 oplog简介 118
6.9 oplog过滤 119
6.10 副本集的数据复制 119
6.11 3节点最小副本集架构 121
6.12 副本集的选举 122
6.12.1 writeConcern 124
6.12.2 Read Preference 125
6.13 副本集环境搭建 126
6.14 配置延迟 134
6.15 从2.6版本升级至3.0版本 135
6.15.1 升级过程 135
6.15.2 关于认证 136
6.15.3 变更存储引擎 136
6.15.4 Driver兼容性 137
6.16 从3.2版本升级至3.4版本 137
6.16.1 升级过程 137
6.16.2 启用不向下兼容的3.4版本功能 138
6.16.3 升级发现infoMessage异常 138
6.17 分片 139
6.17.1 分片和非分片集合 141
6.17.2 Sharding组建 144
6.17.3 Shard 145
6.17.4 Config server 146
6.17.5 mongos 149
6.17.6 Shard keys 152
6.17.7 哈希分片 155
6.17.8 范围分片 157
6.17.9 zone 158
6.17.10 zone常用命令 160
6.17.11 Chunk 161
6.17.12 Chunk迁移 164
6.17.13 chunksize 166
6.17.14 Balancer 167
6.17.15 Balancer运维 169
6.18 Troubleshoot Sharded Clusters 171
6.19 在线开启认证 173
6.20 分片架构搭建 176
第7章 监控 187
7.1 PMM监控MongoDB 187
7.2 Server组件 188
7.3 Client组件 188
7.3.1 安装Docker 189
7.3.2 创建PMM数据容器 190
7.3.3 运行PMM容器,并配置监控登录用户名密码 190
7.3.4 安装客户端 192
第8章 常用命令 204
8.1 查询 207
8.2 插入 207
8.3 修改 208
8.4 删除 208
8.5 分片集群常用命令 210