作 者:张泽泉 著 定 价:59 出 版 社:清华大学出版社 出版日期:2017年09月01日 页 数:290 装 帧:平装 ISBN:9787302478607 全面讲解MongoDB的相关知识,使读者对MongoDB有全面的认识以很直接、很细致的方式指导读者轻松掌握MongoDB的安装、部署与使用以实际工作框架为例子进行讲解,使读者真正能胜任MongoDB的开发管理工作由浅入深,层层递进,路线清晰
●部分 基础与架构理论篇 第1章 初识MongoDB 31.1 MongoDB简介 31.1.1 MongoDB是什么 31.1.2 MongoDB的历史 31.1.3 MongoDB的发展情况 41.1.4 哪些公司在用MongoDB 51.2 MongoDB的特点 51.3 MongoDB应用场景 61.3.1 MongoDB适用于以下场景 61.3.2 MongoDB不适合的场景 7第2章 MongoDB的结构 82.1 数据库 82.1.1 数据库的层次 82.1.2 数据的命名 82.1.3 自带数据库 92.2 普通集合 92.2.1 集合是什么 92.2.2 集合的特点—无模式 92.2.3 集合命名 92.2.4 子集合 102.3 固定集合(Capped) 102.3.1 Capped简介 102.3.2 Capped属性特点 102.3.3 Capped应用场景 102.4 文档 112.4.1 文档简介 112.4.2 文档的特点 112.4.3 文档的键名命名规则 112.5 数据类型 112.5.1 基本数据类型 112.5.2 数字类型说明 122.5.3 日期类型说明 142.5.4 数组类型说明 162.5.5 内嵌文档类型说明 162.5.6 _id键和ObjectId对象说明 172.5.7 二进制类型说明——小文件存储 192.6 索引简介 192.6.1 什么是索引 192.6.2 索引的作用 202.6.3 普通索引 202.6.4 唯一索引 202.6.5 地理空间索引 21第3章 MongoDB的大文件存储规范GridFs 223.1 GridFS简介 223.2 GridFS原理 233.3 GridFS应用场景 243.4 GridFS的局限性 24第4章 MongoDB的分布式运算模型MapReduce 254.1 MapReduce简介 254.2 MapReduce原理 264.3 MapReduce应用场景 28第5章 MongoDB存储原理 295.1 存取工作流程 295.2 存储引擎 305.2.1 MMAP引擎 315.2.2 MMAPv1引擎 315.2.3 WiredTiger引擎 325.2.4 In-Memory 335.2.5 引擎的选择 345.2.6 未来的引擎 34第6章 了解MongoDB复制集 356.1 复制集简介 356.1.1 主从复制和副本集 356.1.2 副本集的特点 386.2 副本集工作原理 386.2.1 oplog(操作日志) 386.2.2 数据同步 396.2.3 复制状态和本地数据库 396.2.4 阻塞复制 406.2.5 心跳机制 406.2.6 选举机制 416.2.7 数据回滚 42第7章 了解MongoDB分片 437.1 分片的简介 437.2 分片的工作原理 447.2.1 数据分流 447.2.2 chunkSize和块的拆分 477.2.3 平衡器和块的迁移 477.3 分片的应用场景 48第二部分 管理与开发入门篇 第8章 安装MongoDB 518.1 版本和平台的选择 518.1.1 版本的选择 518.1.2 平台的选择 528.1.3 32位和64位 528.2 Windows系统安装MongoDB 538.2.1 查看安装环境 538.2.2 安装步骤 538.2.3 目录文件了解 558.3 Linux系统安装MongoDB 568.3.1 虚拟机简介 568.3.2 虚拟机安装以及安装Linux系统 588.3.3 安装MongoDB 678.4 Mac OSX系统安装MongoDB 738.4.1 查看安装环境 738.4.2 官网安装包安装 738.4.3 Mac软件仓库安装 74第9章 启动和停止MongoDB 759.1 命令行方式启动和参数 759.1.1 Windows系统命令行启动MongoDB 759.1.2 Linux系统命令行启动MongoDB 769.1.3 Mac OS 系统命令行启动MongoDB 799.2 启动参数 809.3 配置文件方式启动 829.4 启动MongoDB客户端 849.5 关闭MongoDB 849.5.1 Windows系统设置MongoDB关闭 849.5.2 Linux系统设置MongoDB关闭 869.5.3 Mac OS系统设置MongoDB关闭 879.6 设置MongoDB开机启动 889.6.1 Windows系统设置MongoDB开机启动 889.6.2 Linux系统设置MongoDB开机启动 899.6.3 Mac OS系统设置MongoDB开机启动 939.7 修复未正常关闭的MongoDB 96第10章 基本命令 9710.1 数据库常用命令 9710.2 集合 9910.3 文档 10110.4 索引 10410.5 基本查询 10610.5.1 find简介 10610.5.2 游标 10710.6 条件查询 10810.6.1 与操作 10810.6.2 或操作$or 10810.6.3 大于$gt 10810.6.4 小于$lt 10810.6.5 大于等于$gte 10810.6.6 小于等于$lte 10810.6.7 类型查询$type 10810.6.8 是否存在$exists 10910.6.9 取模$mod 10910.6.10 不等于$ne 10910.6.11 包含$in 11010.6.12 不包含$nin 11010.6.13 $not: 反匹配 11010.7 特定类型查询 11010.7.1 null 11010.7.2 正则查询(模糊查询) 11010.7.3 嵌套文档 11210.7.4 数组 11210.8 高级查询$where 11510.8.1 语言简介 11510.8.2 编程简单例子 11510.8.3 与$where结合使用 11510.9 查询辅助 11610.9.1 条数limit 11610.9.2 起始位置skip 11610.9.3 排序sort 11610.10 修改器 11610.10.1 $set 11610.10.2 $unset 11710.10.3 $inc 11710.10.4 $push 11710.10.5 $pushAll 11710.10.6 $pull 11710.10.7 $addToSet 11810.10.8 $pop 11810.10.9 $rename 11810.10.10 $bit 11810.11 原生聚合运算 11910.11.1 数量查询count 11910.11.2 不同值distinct 11910.11.3 分组group 12010.11.4 灵活统计MapReduce 12310.12 聚合管道 12710.12.1 aggregate用法 12710.12.2 管道操作器 12810.12.3 管道表达式 13910.12.4 复合使用示例 141第11章 GUI工具:数据库外部管理工具 14411.1 MongoDB的GUI工具简介 14411.2 Robomongo基本操作 14411.2.1 连接MongoDB 14511.2.2 创建删除数据库 14511.2.3 插入文档 14511.2.4 查询文档 14611.2.5 更新文档 14611.2.6 创建索引 14711.2.7 执行 148第12章 监控 14912.1 原生管理接口监控 14912.2 使用serverStatus在Shell监控 15012.3 使用mongostat在Shell监控 15112.4 使用第三方插件监控 152第13章 安全和访问控制 15313.1 绑定监听ip 15313.2 设置监听端口 15413.3 用户认证 15413.3.1 启用认证 15413.3.2 添加用户 15513.3.3 用户权限控制 15513.3.4 用户登录 15713.3.5 修改密码 15713.3.6 删除用户 157第14章 数据管理 15814.1 数据备份mongodump 15814.2 数据恢复mongorestore 15914.3 数据导出mongoexport 15914.3.1 导出JSON格式 15914.3.2 导出CSV格式 15914.4 数据导入mongoimport 16014.4.1 JSON格式导入 16014.4.2 CSV格式导入 160第15章 MongoDB驱动 16115.1 MongoDB驱动支持的开发语言 16115.2 驱动使用流程 163第16章 Java操作MongoDB 16516.1 安装JDK 16516.2 Eclipse安装 16616.3 加载驱动 16716.4 查阅Java操作语法 16716.5 测试操作 16816.5.1 连接数据库 16816.5.2 插入数据 16916.5.3 查询数据 17016.5.4 更新数据 17016.5.5 删除数据 17116.5.6 聚合方法执行 17116.5.7 操作GridFS 17216.5.8 运行示例 173第三部分 管理与开发进阶篇第17章 副本集部署 17717.1 总体思路 17717.2 MongoDB环境准备 17817.3 创建目录 18117.4 创建Key 18217.5 初始化副本集 18317.6 数据同步测试 19017.7 故障切换测试 19217.8 Java程序连接MongoDB副本集测试 19417.9 主从复制部署 196第18章 分片部署 19818.1 总体思路 19818.2 创建3个Shard Server 20118.2.1 创建目录 20118.2.2 以分片Shard Server模式启动 20118.3 启动Config Server 20218.3.1 创建目录 20218.3.2 以分片Config Server模式启动 20218.4 启动Route Process 20318.5 配置sharding 20418.6 对数据库mytest启用分片 20518.7 集合启用分片 20618.8 分片集群插入数据测试 20818.9 分片的管理 20918.9.1 移除Shard Server,回收数据 20918.9.2 新增Shard Server 211第19章 分片+副本集部署 21219.1 总体思路 21219.2 创建3个复制集 21519.2.1 创建目录 21519.2.2 以复制集模式启动 21519.2.3 初始化复制集 21619.3 创建分片需要的Config Server与Route Process 21719.3.1 创建目录 21719.3.2 启动Config Server、Route Process 21819.4 配置分片 219第20章 springMVC+maven+MongoDB框架搭建 22120.1 SpringMVC和Maven简介 22120.2 Eclipse安装Maven插件 22120.3 新建Maven类型的Web项目 22220.4 搭建SpringMVC+MongoDB框架 22420.4.1 jar包引入 22420.4.2 新建SpringMVC配置文件 22820.4.3 新建MongoDB配置文件 23020.4.4 配置web.xml 23120.4.5 创建index.jsp和IndexController 23220.4.6 启动Web项目 233第21章 注册登录功能的实现 23521.1 UI框架Bootstrap 23521.1.1 简介 23521.1.2 应用Bootstrap 23521.2 新建用户实体 23621.3 注册功能编写 23721.3.1 注册页面代码 23721.3.2 注册后端代码 23921.4 登录功能编写 24121.4.1 登录页面代码 24121.4.2 登录后端代码 24321.5 运行测试 24421.6 Sping Data MongoDB操作 24621.6.1 插入数据 24721.6.2 查询数据 24721.6.3 更新数据 24921.6.4 删除数据 25021.6.5 聚合方法执行 25021.6.6 操作GridFS 25121.6.7 运行示例 253第四部分 管理与开发经验篇第22章 MongoDB开发的经验 25722.1 尽量选取稳定新版本64位的MongoDB 25722.2 数据结构的设计 25722.3 查询的技巧 25922.4 安全写入数据 26222.5 索引设置的技巧 26422.6 不要用GridFS处理小的二进制文件 26822.7 优化器profiler 269第23章 MongoDB管理的经验 27123.1 MongoDB安全管理 27123.2 不要将MongoDB与其他服务部署到同一台机器上 27323.3 单机开启日志Journal,多机器使用副本集 27423.4 生产环境不要信任repair恢复的数据 27523.5 副本集管理 27623.6 副本集回滚丢失的数据 27823.7 分片的管理 27923.8 MongoDB锁 280附录 A MongoDB地理位置距离单位 285附录 B 相关网址 287
内容简介
MongoDB作为很受欢迎的文档存储类型的NoSQL数据库,越来越多的公司在使用它。本书以符合初学者的思维方式,系统全面、层层递进地介绍了MongoDB数据库,通过本书的学习,读者能够胜任实际工作环境中MongoDB的相关开发管理工作。本书共分四个部分23章,靠前部分讲解了MongoDB的相关概念和原理以及其内部工作机制,可以让读者对MongoDB有一个全面的认识。第二部分和第三部分从应用角度,结合实例讲解了MongoDB的安装、配置、部署、开发、集群部署和管理等在实际工作中会用到的技能。第四部分是经验部分,这部分是作者多年使用MongoDB后总结的技巧,对读者在工作中使用MongoDB有极大的参考价值。本书适合MongoDB的初学者,希望深入了解MongoDB安装部署、开发优化的软件工程师,希望深入了解MongoDB管理、集群扩展的数据运维管理员,以及任何对MongoDB相关技术感兴趣的等 张泽泉 著 张泽泉,毕业于四川理工学院,数据工程师、中级职称软件设计师、CSDN博客专家。致力于数据采集、数据分析、数据分布式运算架构等技术的应用与研究。多年一线MongoDB数据库存储、部署、开发经验,以及将其应用于房地产数据分析、金融数据分析、基因数据分析等领域行业经验。 第
2
章?
MongoDB的结构
?要很好地使用MongoDB,需要对它的组成结构进行了解,本章我们就来学习MongoDB的结构。MongoDB的组成结构如下:数据库包含集合,集合包含文档,文档包含一个或多个键值对,如图2-1所示。
图2-1
文档包含键值对key:value2.1
数据库2.1.1
&nb;等 我思考了很长时间,到底要写一本什么样的书,才能让读者轻松、全面地认识MongoDB。从2012年有幸开始接触MongoDB并在实际工作环境中使用它,不知不觉已经过了5年多的时间。在这5年中,大数据兴起,NoSQL来势汹汹。“有MongoDB使用经验优先”“精通MongoDB等NoSQL数据库”这样的要求也渐渐出现在招聘要求中。MongoDB作为NoSQL数据库的典型代表,越来越多的公司在使用它。在开始学习使用MongoDB的过程中,因为相关书籍资料太少,一路走来确实算是翻山越岭,跋山涉水。这也是本书名的由来。本书定位关于本书的定位,在我的想象中应该有如下几点。1. 这不是一本严肃的教科书在轻松的氛围中快速学习知识才能达到比较好的效果,所以我会在书中尽可能多地加入图画以帮助读者加深理解。2. 它能让读者从零开始学习数据库笔者阅读了很多有关MongoDB的书籍,我发现大多数等
MongoDB游记之轻松入门到进阶 电子书 下载 mobi epub pdf txt