| 作者 |
| 丛书名 |
| 出版社 |
| 清华大学出版社 |
| ISBN |
| 9787302532989 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书详细阐述了与MongoDB 3.x 相关的基本解决方案,主要包括MongoDB —现代Web 数据库, 模式设计和数据建模,MongoDB CRUD 操作,高级查询,聚合,索引,监控、备份和安全性,存储引擎, 通过MongoDB 利用大数据,复制,分片,容错和高可用性等内容。此外,本书还提供了相应的示例、 代码,以帮助读者进一步理解相关方案的实现过程。 本书既适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教 材和参考手册。 |
| 目录 |
第1 章 MongoDB现代Web 数据库 . 1 1.1 Web 的历史 1 1.1.1 Web 1.0 1 1.1.2 Web 2.0 3 1.1.3 Web 3.0 5 1.2 SQL 和NoSQL 的演变 .5 1.2.1 MongoDB 的演变 .6 1.2.2 MongoDB 和SQL 开发人员 8 1.2.3 MongoDB 和NoSQL 开发人员 .10 1.3 MongoDB 的主要特征和用例 10 1.3.1 主要特征 .10 1.3.2 MongoDB 的用例 .11 1.3.3 对MongoDB 的批评 13 1.4 MongoDB 配置和最佳实践 14 1.4.1 操作最佳实践 .14 1.4.2 模式设计最佳实践 .16 1.4.3 写入持久性的最佳实践 .17 1.4.4 复制的最佳实践 .18 1.4.5 分片的最佳实践 .18 1.4.6 安全性的最佳实践 .19 1.4.7 AWS 的最佳实践 19 1.5 参考资料 20 1.5.1 MongoDB 帮助文档 .20 1.5.2 进一步阅读 .20 1.6 小结 21 第2 章 模式设计和数据建模 . 23 2.1 关系模式设计 24 X 精通MongoDB 3.x 2.1.1 MongoDB 模式设计 .24 2.1.2 数据建模 .25 2.1.3 为原子操作建模数据 .29 2.1.4 关系建模 .31 2.1.5 连接到MongoDB .35 2.1.6 使用Python 连接 39 2.1.7 使用PHP 连接 42 2.2 小结 46 第3 章 MongoDB CRUD 操作 . 47 3.1 使用shell 执行CRUD 操作 .47 3.1.1 使用mongo shell 脚本 49 3.1.2 管理 .54 3.1.3 mongo shell 中的MapReduce 57 3.1.4 聚合框架 .62 3.1.5 保护shell 的安全 64 3.1.6 使用MongoDB 进行身份验证 68 3.2 小结 69 第4 章 高级查询 . 71 4.1 MongoDB CRUD 操作 71 4.1.1 使用Ruby 驱动程序执行CRUD 操作 71 4.1.2 在Mongoid 中的CRUD 操作 78 4.1.3 使用Python 驱动程序执行CRUD 操作 .79 4.1.4 使用PyMODM 执行CRUD 操作 .84 4.1.5 使用PHP 驱动程序执行CRUD 操作 .86 4.1.6 使用Doctrine 执行CRUD 操作 92 4.1.7 比较操作符 .96 4.1.8 更新操作符 .97 4.1.9 智能查询 .97 4.2 小结 101 第5 章 聚合 103 5.1 聚合的用途 103 5.2 聚合操作符 104 目 录 XI 5.2.1 聚合阶段操作符 .104 5.2.2 表达式操作符 .105 5.3 限制 110 5.4 聚合用例 111 5.5 小结 122 第6 章 索引 123 6.1 内部索引 123 6.2 索引类型 125 6.2.1 单字段索引 .125 6.2.2 复合索引 .127 6.2.3 多键索引 .129 6.2.4 特殊类型的索引 .132 6.3 建立和管理索引 140 6.3.1 强制使用索引 .140 6.3.2 管理索引 .143 6.4 高效使用索引 144 6.5 参考资料 146 6.6 小结 147 第7 章 监控、备份和安全性 . 149 7.1 监控 149 7.1.1 应该监控的重点内容 .149 7.1.2 监控WiredTiger 中的内存使用情况 .151 7.1.3 跟踪页面错误 .151 7.1.4 跟踪B 树未命中的情况 .152 7.1.5 工作集计算 .154 7.1.6 监控工具 .154 7.2 备份 155 7.2.1 备份选项 .156 7.2.2 EC2 备份和还原 .159 7.2.3 增量备份 .159 7.3 安全性 160 7.3.1 身份验证 .160 XII 精通MongoDB 3.x 7.3.2 授权机制 .162 7.3.3 网络级安全性 .166 7.3.4 审计安全性 .166 7.3.5 特别案例 .167 7.3.6 综述 .167 7.4 小结 168 第8 章 存储引擎 . 169 8.1 可插拔存储引擎 169 8.1.1 WiredTiger .169 8.1.2 加密 .175 8.1.3 使用In-Memory 存储 .176 8.1.4 MMAPv1 .177 8.1.5 混合使用存储引擎 .179 8.1.6 其他存储引擎 .180 8.2 MongoDB 中的锁 180 8.2.1 锁的报告 .183 8.2.2 锁的产生 .183 8.2.3 常用命令和锁 .184 8.2.4 需要数据库锁的命令 .184 8.3 参考资料 185 8.4 小结 186 第9 章 通过MongoDB 利用大数据 187 9.1 关于大数据 187 9.1.1 大数据发展前景 .188 9.1.2 消息排队系统 .189 9.1.3 数据仓库 .191 9.1.4 以MongoDB 作为数据仓库 193 9.2 大据用例 194 9.2.1 Kafka 设置 .195 9.2.2 Hadoop 设置 198 9.2.3 从Hadoop 到MongoDB 管道 201 9.2.4 从Spark 到MongoDB 201 目 录 XIII 9.3 参考资料 202 9.4 小结 203 第10 章 复制 205 10.1 复制 205 10.1.1 逻辑或物理复制 .205 10.1.2 不同的高可用性类型 .206 10.2 架构概述 207 10.3 选举方式 208 10.4 关于副本集的用例 210 10.5 设置副本集 211 10.5.1 将独立服务器转换为副本集 .211 10.5.2 创建副本集 .212 10.5.3 读取首选项设置 .214 10.5.4 写入关注 .215 10.5.5 副本集成员的优先级设置 .216 10.6 连接到副本集 220 10.7 副本集管理 222 10.7.1 对副本集执行维护的方式 .222 10.7.2 重新同步副本集的成员 .223 10.7.3 更改oplog 大小 223 10.7.4 在丢失了大部分服务器时重新配置副本集 .224 10.7.5 链式复制 .225 10.8 副本集的云选项 225 10.8.1 mLab 226 10.8.2 MongoDB Atlas .226 10.9 副本集的限制 226 10.10 小结 227 第11 章 分片 229 11.1 分片的优点 229 11.2 架构概述 231 11.2.1 开发、持续部署和暂存环境 .232 11.2.2 提前计划分片 .233 XIV 精通MongoDB 3.x 11.3 分片设置 233 11.3.1 选择分片键 .233 11.3.2 选择正确的分片键 .234 11.4 分片管理和监控 237 11.4.1 跟踪和保持数据平衡 .237 11.4.2 块的管理 .240 11.4.3 分片限制 .247 11.5 查询分片数据 248 11.5.1 查询路由器 .248 11.5.2 使用Ruby 查询 .250 11.5.3 与副本集的性能比较 .250 11.6 分片的恢复 251 11.6.1 mongos .251 11.6.2 mongod 进程 .251 11.6.3 配置服务器 .252 11.6.4 分片崩溃 .252 11.6.5 整个集群都崩溃了 .252 11.7 参考资料 252 11.8 小结 253 第12 章 容错和高可用性 255 12.1 应用程序设计 255 12.1.1 无模式并不意味着没有模式设计 .255 12.1.2 读取性能优化 .256 12.1.3 防御性编码 .258 12.2 操作 259 12.3 安全性 260 12.3.1 默认启用安全性 .260 12.3.2 隔离服务器 .261 12.3.3 对照检查表 .262 12.4 参考资料 263 12.5 小结 264 |