目录
第1章 MongoDB 3.4新特性
1.1 复制集(Replica Set)
1.2 分片集群(Sharded Cluster)
第2章 MongoDB 3.6新特性
2.1 复制集(Replica Sets)
2.2 分片集群(Sharded Clusters)
第3章 运维实战:故障案例分析
3.1 调整oplog大小引发的从库宕机
3.2 hotbackup报错
3.3 MongoDB最大连接数限制
3.4 MongoDB启动失败
3.5 Mongos异常宕机
3.6 sharding集群执行sh.stopBalancer()命令卡住
3.7 Remove shard失败
3.8 move chunk aborted
3.9 迁移引发的性能抖动
3.10 Mongos连接数异常
3.11 rs.add时报错operation exceeded time limit
3.12 副本集延迟突然增大到上万秒
3.13 升级发现infoMessage异常
3.14 对已存在集合shardcollection失败
3.15 operation exceeded time limit
3.16 强制重新配置副本集
3.17 create index oom
3.18 rs.remove导致从节点crash
第4章 性能调优
4.1 机器负载高
4.2 快速修改库名
4.3 dbhash检查一致性
4.4 使用索引却依旧性能低下
4.5 索引
4.5.1 单列索引
4.5.2 复合索引
4.5.3 多键索引
4.5.4 文本索引
4.5.5 2dsphere索引
4.5.6 2d索引
4.5.7 Hash索引
4.5.8 一条SQL创建多个索引
4.6 索引属性
4.6.1 TTL索引
4.6.2 唯一索引
4.6.3 部分索引
4.6.4 稀疏索引
4.7 在大集合上创建索引
4.8 索引交集
4.9 索引排序
4.10 查询计划
4.11 systemprofile
4.12 Profile操作相关
第5章 备份与恢复
5.1 逻辑备份
5.2 Oplog Replay
5.3 物理备份
第6章 高可用架构集群管理
6.1 副本集
6.1.1 冗余和数据可用性
6.1.2 MongoDB中的副本集
6.1.3 自动故障转移
6.1.4 关于MongoDB的读操作
6.2 副本集成员状态
6.3 副本集原理
6.4 复制集成员
6.5 复制集成员类型
6.6 副本集中的主库
6.7 副本集中的从库
6.7.1 Priority 0从库
6.7.2 hidden从库
6.7.3 延迟从库
6.8 oplog简介
6.9 oplog过滤
6.10 副本集的数据复制
6.11 3节点最小副本集架构
6.12 副本集的选举
6.12.1 writeConcern
6.12.2 Read Preference
6.13 副本集环境搭建
6.14 配置延迟
6.15 从2.6版本升级至3.0版本
6.15.1 升级过程
6.15.2 关于认证
6.15.3 变更存储引擎
6.15.4 Driver兼容性
6.16 从3.2版本升级至3.4版本
6.16.1 升级过程
6.16.2 启用不向下兼容的3.4版本功能
6.16.3 升级发现infoMessage异常
6.17 分片
6.17.1 分片和非分片集合
6.17.2 Sharding组建
6.17.3 Shard
6.17.4 Config server
6.17.5 mongos
6.17.6 Shard keys
6.17.7 哈希分片
6.17.8 范围分片
6.17.9 zone
6.17.10 zone常用命令
6.17.11 Chunk
6.17.12 Chunk迁移
6.17.13 chunksize
6.17.14 Balancer
6.17.15 Balancer运维
6.18 Troubleshoot Sharded Clusters
6.19 在线开启认证
6.20 分片架构搭建
第7章 监控
7.1 PMM监控MongoDB
7.2 Server组件
7.3 Client组件
7.3.1 安装Docker
7.3.2 创建PMM数据容器
7.3.3 运行PMM容器,并配置监控登录用户名密码
7.3.4 安装客户端
第8章 常用命令
8.1 查询
8.2 插入
8.3 修改
8.4 删除
8.5 分片集群常用命令
展开
——张友东,阿里云,MongoDB专家
一直以来和很多MongoDB的使用者包括DBA打过不少交道,普遍抱怨市面上没有太多可以选择的MongoDB书籍。阅读《MongoDB运维实战》部分章节后,深感两位作者的专业、细致与用心。大量线上故障实例和部分源码的分析讲解,简单明了、通俗易懂。相信本书能对初中级乃至高级DBA在故障定位、线上问题处理及对MongoDB部分原理的理解上都能带来很多帮助。
——李丹,MongoDB社区北京分会主席
相同的一个服务,在小规模、大规模乃至海量的情况下,面临的问题和挑战是截然不同的,小规模下的一个可以忽略不计的小问题,在规模放大后,可能会变成一个致命问题。本书的两位作者,基于自己多年在大规模集群使用场景下管理和优化MongoDB服务的实战经验,通过真实的线上案例,以深入浅出的方式,带领读者探索线上问题的排查的解决思路与过程,探索如何对大规模集群进行管理和维护,来保障其持续的高可用、高性能。相信读完本书,能让大家对MongoDB服务有一个更深的认识。
——李彬,滴滴出行基础平台部,高级专家
《MongoDB运维实战》浓缩了两位作者多年MongoDB运维的经验,感谢作者不仅能够快速解决MongoDB线上服务遇到的问题,减少故障损失,还能将其分类整理,帮助更多新老DBA朋友共同进步。开放、严谨的治学精神值得我为作者点赞。
——张良,小米云平台,DBA团队负责人