作品简介

本书围绕如何用好MongoDB这个复杂命题,利用大部分篇幅讲述了MongoDB在应用开发方面的各种进阶技巧,同时也介绍了MongoDB4.0版本的事务特性及微服务相关的技术范例。很多基本的数据库问题都可以从MongoDB的官方文档中找到答案,但官方文档中在MongoDB周边技术栈的整合、系统管理及调优方面仍然缺乏一些富有针对性的内容,所以本书在结合一些实践案例的前提下,以开发管理者的角度对MongoDB技术进行了系统地梳理,希望能够让读者的学习达到事半功倍的效果。相信本书会对应用MongoDB的开发人员具有广泛的指导意义。

唐卓章,十年研发老兵,持续关注NoSQL分布式数据库技术,在系统高可用、弹性扩展、性能调优等方面有着丰富的实践及管理经验。

MongoDB中文社区核心成员之一。常活跃于Mongoing社区原创及问答板块。

华为云MongoDB技术专家。致力于万物互联事业,负责物联网平台系统的架设及研发工作。

作品目录

  • 内容简介
  • 前言
  • 第1部分 MongoDB入门
  • 第1章 什么是MongoDB
  • 1.1 认识MongoDB
  • 1.2 类比SQL模型
  • 第2章 体验MongoDB
  • 2.1 安装MongoDB
  • 2.2 使用mongo shell
  • 2.3 插入文档
  • 2.4 查询文档
  • 2.5 更新文档
  • 2.6 删除文档
  • 2.7 使用聚合
  • 2.8 计算文档大小
  • 2.9 小技巧——定义mongo shell环境
  • 第3章 数据模型
  • 3.1 BSON协议与类型
  • 3.2 使用日期
  • 3.3 ObjectId生成器
  • 3.4 数组、内嵌
  • 3.5 固定集合
  • 3.6 小技巧——使用固定集合实现FIFO队列
  • 第4章 索引介绍
  • 4.1 索引简述
  • 4.2 单键、复合索引
  • 4.3 数组索引
  • 4.4 地理空间索引
  • 4.5 唯一性约束
  • 4.6 TTL索引
  • 4.7 其他索引特性
  • 4.8 小技巧——使用explain命令验证优化
  • 第5章 副本集
  • 5.1 副本集架构
  • 5.2 集群选举
  • 5.3 实时复制
  • 5.4 自动故障转移
  • 5.5 搭建副本集
  • 5.6 小技巧——检查复制的延迟情况
  • 第6章 分片
  • 6.1 分片集群架构
  • 6.2 分片策略
  • 6.3 读写分发模式
  • 6.4 数据均衡
  • 6.5 使用mtools搭建集群
  • 6.6 使用分片集群
  • 6.7 小技巧——使用标签
  • 第2部分 MongoDB微服务开发
  • 第7章 微服务入门
  • 7.1 微服务定义
  • 7.2 微服务基础设施
  • 7.3 CAP与BASE理论
  • 7.4 为什么MongoDB适合微服务
  • 第8章 使用Java操作MongoDB
  • 8.1 搭建Java开发环境
  • 8.2 安装Robo 3T
  • 8.3 使用MongoDB Java Driver
  • 8.4 实例:文章列表的存储与检索
  • 8.5 异步驱动
  • 8.6 使用CommandListener检测慢操作
  • 8.7 MongoDB Java Driver的工作原理
  • 8.8 小技巧——如何监视驱动的连接数
  • 第9章 SpringBoot框架整合
  • 9.1 SpringBoot简介
  • 9.2 第一个SpringBoot项目
  • 9.3 Spring Data框架介绍
  • 9.4 使用Spring Data MongoDB操作数据库
  • 9.5 高级操作
  • 9.6 自定义配置
  • 9.7 实现单元测试
  • 9.8 多数据源
  • 9.9 使用审计功能
  • 9.10 小技巧——自定义数据序列化方式
  • 第10章 项目实战
  • 10.1 初始化项目
  • 10.2 实现资源抓取
  • 10.3 发布RssFeed
  • 10.4 统计功能
  • 10.5 开发门户界面
  • 10.6 打包应用程序
  • 第3部分 MongoDB高效进阶
  • 第11章 性能基准
  • 11.1 性能基准
  • 11.2 WiredTiger读写模型
  • 11.3 性能监控工具
  • 11.4 使用YCSB测试MongoDB性能
  • 11.5 使用nmon监视服务器性能
  • 第12章 合理使用索引
  • 12.1 索引检索原理
  • 12.2 索引检索范例
  • 12.3 覆盖索引
  • 12.4 查询计划
  • 12.5 实战:查询案例分析
  • 12.6 查询缓存原理
  • 12.7 强制命中
  • 12.8 索引正交
  • 12.9 使用MongoDB Compass
  • 12.10 优化原则
  • 第13章 并发优化
  • 13.1 MongoDB的锁模式
  • 13.2 MVCC
  • 13.3 原子性操作
  • 13.4 乐观锁
  • 13.5 缓解行锁竞争
  • 13.6 避免重复数据
  • 13.7 那些影响并发的操作
  • 第14章 应用设计调优
  • 14.1 应用范式设计
  • 14.2 嵌套设计
  • 14.3 桶模式
  • 14.4 海量数据分页
  • 14.5 批操作
  • 14.6 读写分离与一致性
  • 14.7 聚合范例
  • 第15章 高级特性
  • 15.1 Change Stream介绍
  • 15.2 Change Stream案例:数据迁移
  • 15.3 多文档事务
  • 15.4 基于Spring开发事务
  • 15.5 事务实现原理
  • 15.6 写冲突模式
  • 15.7 使用事务的限制
  • 第4部分 MongoDB架构管理
  • 第16章安全管理
  • 16.1 MongoDB如何鉴权
  • 16.2 角色管理
  • 16.3 最小权限原则
  • 16.4 安全最佳实践
  • 第17章 高可靠
  • 17.1 节点部署优化
  • 17.2 集群高可靠
  • 17.3 应用层高可靠
  • 17.4 备份可靠性
  • 17.5 容灾可靠性
  • 第18章 治理经验
  • 18.1 强化约束
  • 18.2 使用Mongobee实现升级
  • 18.3 规范与自动化
  • 18.4 运维管理
展开全部