出版社:机械工业出版社
年代:2011
定价:59.0
本书共分为六个部分:基础篇首先介绍了MongoDB的功能特点和实用场合,然后讲解了MongoDB的基本使用和操作;高级篇详细讲解了MongoDB的高级查询、高级更新和高级特性;管理篇讲解了各种常用的管理工具、管理命令和访问控制;性能篇讲解了索引优化和性能监控;架构篇讲解了Replica Sets复制集、Sharding分片以及二者的结合;开发篇讲解了MongoDB的C#开发接口和Java开发接口。
前言
第一部分 基础篇
第1章 认识MongoDB / 2
1.1 NoSQL简介 / 2
1.1.1 产生背景 / 2
1.1.2 NoSQL的种类及其特性 / 4
1.1.3 NoSQL特点 / 8
1.1.4 发展现状 / 8
1.2 初识MongoDB / 9
1.2.1 特点及功能 / 10
1.2.2 适用场合 / 11
1.3 MongoDB实际应用案例 / 12
1.3.1 国内案例 / 12
1.3.2 国外案例 / 12
1.4 本章小结 / 13
第2章 快速入门 / 14
2.1 体系结构 / 14
2.1.1 数据逻辑结构 / 14
2.1.2 数据存储结构 / 15
2.1.3 日志系统 / 17
2.1.4 元数据的存储 / 18
2.1.5 数据类型 / 19
2.2 MongoDB的安装和配置 / 22
2.2.1 在Windows平台下的安装和配置 / 22
2.2.2 在Linux平台下的安装和配置 / 23
2.3 启动数据库 / 25
2.3.1 命令行方式 / 25
2.3.2 配置文件方式 / 25
2.3.3 Daemon方式 / 26
2.3.4 mongod参数方式 / 26
2.4 停止数据库 / 27
2.4.1 Ctrl+C组合键 / 27
2.4.2 shutdownServer()指令 / 28
2.4.3 UNIX系统指令 / 28
2.5 操作数据库 / 29
2.5.1 连接数据库 / 29
2.5.2 插入记录 / 29
2.5.3 查询记录 / 31
2.5.4 修改记录 / 34
2.5.5 删除记录 / 34
2.6 常用GUI管理工具 / 34
2.6.1 MongoVUE / 34
2.6.2 RockMongo / 35
2.6.3 MongoHub / 36
2.7 本章小结 / 37
第二部分 高级篇
第3章 高级查询 / 40
3.1 查询操作符 / 40
3.2 查询语法 / 46
3.2.1 数组内容的查询 / 47
3.2.2 内嵌文档的查询 / 47
3.2.3 正则表达式匹配 / 48
3.2.4 $where查询 / 48
3.3 联合查询 / 49
3.3.1 简单手工关联 / 49
3.3.2 DBRef方式关联 / 50
3.4 游标和存储过程 / 51
3.4.1 游标 / 51
3.4.2 存储过程 / 52
3.5 本章小结 / 53
第4章 高级更新 / 55
4.1 数据更新命令详解 / 55
4.1.1 update命令 / 55
4.1.2 save命令 / 56
4.2 数据更新操作符 / 57
4.3 本章小结 / 62
第5章 高级特性 / 63
5.1 Capped Col
ection集合 / 63
5.1.1 创建Capped Collection / 63
5.1.2 Capped Collection的用途 / 64
5.1.3 注意事项 / 64
5.2 GridFS规范 / 65
5.2.1 如何实现海量存储 / 65
5.2.2 命令行工具 / 66
5.3 MapReduce编程模型 / 68
5.3.1 Map进行分组 / 69
5.3.2 Reduce聚合计算 / 69
5.3.3 Result获取结果 / 70
5.3.4 Finalize格式化输出 / 70
5.3.5 Options定制输出 / 71
5.4 本章小结 / 72
第三部分 管理篇
第6章 管理工具集 / 74
6.1 数据迁移 / 74
6.1.1 导出工具mongoexport / 75
6.1.2 导出工具mongodump / 78
6.1.3 导入工具mongoimport / 79
6.2 数据的备份和恢复 / 81
6.2.1 备份工具mongodump / 81
6.2.2 恢复工具mongorestore / 84
6.3 命令行操作 / 86
6.3.1 通过eval参数执行指定语句 / 86
6.3.2 执行指定文件中的内容 / 87
6.4 本章小结 / 88
第7章 管理命令 / 89
7.1 克隆collection / 90
7.1.1 远程克隆collection / 90
7.1.2 本地克隆collection / 94
7.2 复制数据库 / 94
7.2.1 远程复制数据库 / 94
7.2.2 本地复制数据库 / 96
7.3 刷新磁盘 / 97
7.4 捕获异常 / 98
7.4.1 返回异常信息 / 98
7.4.2 阻塞客户端 / 99
7.5 进程控制 / 99
7.5.1 查看活动进程 / 99
7.5.2 结束进程 / 100
7.6 验证collection的有效性 / 100
7.7 数据压缩 / 101
7.8 本章小结 / 102
第8章 访问控制 / 103
8.1 限制特定IP地址访问 / 104
8.2 设置监听端口 / 104
8.3 使用用户名和口令登录 / 105
8.3.1 建立系统root用户 / 107
8.3.2 建立指定权限用户 / 108
8.3.3 删除指定用户 / 109
8.4 本章小结 / 110
第四部分 性能篇
第9章 索引及优化 / 112
9.1 MongoDB索引概述 / 112
9.2 索引操作 / 113
9.2.1 基础索引 / 113
9.2.2 静默方式创建索引 / 115
9.2.3 文档索引 / 115
9.2.4 组合索引 / 116
9.2.5 唯一索引 / 116
9.2.6 强制使用索引 / 117
9.2.7 删除索引 / 119
9.2.8 重建索引 / 119
9.2.9 explain查看执行计划 / 119
9.3 优化器Profiler / 121
9.3.1 开启Profiler功能 / 121
9.3.2 查询Profiler记录 / 122
9.4 性能优化概述 / 123
9.4.1 性能优化的原则 / 123
9.4.2 影响性能的因素 / 124
9.5 常用的优化方案 / 124
9.5.1 创建索引 / 124
9.5.2 限定返回结果条数 / 125
9.5.3 只查询用到的字段 / 125
9.5.4 采用Capped Collection / 126
9.5.5 采用Server Side Code Execution命令集 / 126
9.5.6 使用hint / 127
9.5.7 采用Profiler / 127
9.6 本章小结 / 128
第10章 性能监控 / 129
10.1 mongosniff工具 / 129
10.2 mongostat工具 / 131
10.3 db.serverStatus命令 / 132
10.4 db.stats命令 / 134
10.5 HTTP监控接口 / 135
10.6 本章小结 / 136
第五部分 架构篇
第11章 复制集 / 138
11.1 Replica Sets架构 / 138
11.2 部署Replica Sets / 139
11.3 主从操作日志 / 144
11.4 主从配置信息 / 146
11.5 管理Replica Sets / 147
11.5.1 主从切换 / 147
11.5.2 读写分离 / 149
11.5.3 故障转移 / 151
11.5.4 增减节点 / 153
11.6 本章小结 / 160
第12章 分片 / 161
12.1 Sharding简介 / 161
12.1.1 Sharding的特点 / 161
12.1.2 Sharding架构 / 162
12.2 构建一个简单的Sharding Cluster / 163
12.2.1 启动Shard Server / 163
12.2.2 启动Config Server / 164
12.2.3 启动Route Process / 164
12.2.4 配置Sharding / 164
12.2.5 验证Sharding / 165
12.3 维护Sharding / 167
12.3.1 列出所有的Shard Server / 168
12.3.2 查看Sharding信息 / 168
12.3.3 判断是否是Sharding / 169
12.3.4 对现有的表执行Sharding / 169
12.3.5 新增Shard Server / 171
12.3.6 移除Shard Server / 172
12.4 本章小结 / 175
第13章 Replica Sets + Sharding方案 / 176
13.1 Replica Sets+Sharding架构 / 176
13.2 搭建一个高可用架构 / 177
13.2.1 创建数据目录 / 177
13.2.2 配置Replica Sets / 178
13.2.3 配置3台Config Server / 181
13.2.4 配置3台Route Process / 181
13.2.5 配置Shard Cluster / 181
13.2.6 验证Sharding / 182
13.3 本章小结 / 183
第六部分 开发篇
第14章 C#开发接口 / 186
14.1 C#快速入门 / 186
14.1.1 下载驱动和开发环境 / 186
14.1.2 访问控制 / 188
14.1.3 C#对数据库的基础操作 / 189
14.2 C#驱动一致性 / 194
14.3 C#常用操作 / 195
14.3.1 对MongoDB实例的操作 / 195
14.3.2 对用户的操作 / 198
14.3.3 对collection的操作 / 202
14.3.4 对索引的操作 / 208
14.4 C#高级查询 / 211
14.4.1 判断列名是否存在 / 211
14.4.2 比较运算符 / 213
14.4.3 逻辑运算符 / 221
14.4.4 正则表达式查询 / 223
14.4.5 跳过查询 / 224
14.5 用C#操作GridFS / 225
14.5.1 插入数据 / 225
14.5.2 查询数据 / 226
14.5.3 读取并保存数据 / 227
14.5.4 删除数据 / 228
14.6 本章小结 / 229
第15章 Java开发接口 / 230
15.1 Java快速入门 / 230
15.1.1 下载驱动和开发环境 / 230
15.1.2 访问控制 / 232
15.1.3 Java对数据库的基础操作 / 233
15.2 Java驱动一致性 / 237
15.3 Java常用操作 / 238
15.3.1 对MongoDB实例的操作 / 238
15.3.2 对用户的操作 / 241
15.3.3 对collection的操作 / 243
15.3.4 对索引的操作 / 250
15.4 Java高级查询 / 253
15.4.1 通过游标获取所有document / 253
15.4.2 比较运算符 / 254
15.4.3 逻辑运算符 / 263
15.4.4 正则表达式查询 / 264
15.4.5 跳过查询 / 265
15.5 用Java操作GridFS / 266
15.5.1 插入数据 / 266
15.5.2 查询数据 / 267
15.5.3 读取并保存数据 / 268
15.5.4 删除数据 / 269
15.6 本章小结 / 270
《MongoDB管理与开发精要》内容全面,系统地讲解了MongoDB的使用方法、维护管理、性能优化与监控、程序开发、架构设计及实现原理,注重实战,通过大量示例(测试环境上调试通过)对读者在理解和应用MongoDB时可能会遇到的各种问题给出了经验性的解决方案。《MongoDB管理与开发精要》强调动手实战,以风趣幽默的语言和一系列生动的实战案例系统地讲解了MongoDB的核心技术和扩展技术。在遵循技术严密性的同时,还在容易产生错误、不易理解的知识点上配备了翔实且又具有说服力的开发情景截图,循序渐进、深入浅出。只要大家结合书中的案例亲自动手实验,一定能快速掌握MongoDB知识,从而独立完成日常运行、维护、管理和程序开发工作。MongoDB在Key-Value存储方式和传统的关系型数据库系统之间架起了一座桥梁,集两者的优势于一身。对于正在开发创新型互联网应用的公司来说,非常适合使用MongoDB,因为它能大大提高产品的开发速度,使企业满足用户迅速变化的需求。在国外,Disney、SAP、Forbes、SourceForge和GitHub等知名公司都采用了MongoDB作为其数据存储方案;在国内,百度、新浪、淘宝、盛大、视觉中国、大众点评网和又拍网等众多知名互联网公司也在应用MongoDB。虽然MongoDB这一“野心勃勃”的NoSQL新贵让很多初学者望而却步,但是通过本书你会发现,MongoDB的学习也可以如此轻松。《MongoDB管理与开发精要》没有教条式地去深究MongoDB的语法细节,也没有重点地介绍各种高深的MongoDB编程技巧,而是本着简单实用的原则,通俗易懂地讲解了MongoDB中最重要、最实用的知识。《MongoDB管理与开发精要》内容有三大特点:系统而全面,内容包含MongoDB开发、管理、维护和性能优化等方方面面;详细而深入,不仅对MongoDB的开发和管理方法进行了详尽的讲解,而且还对MongoDB的工作机制进行了深入的剖析;注重实战,尝试通过实践中的案例来帮助读者理解使用MongoDB数据库时遇到的各种问题的症结之所在,并给出了解决方案。《MongoDB管理与开发精要》一共分为六篇:一基础篇,主要讲解了MongoDB的基础理论和基本操作,学习完这部分内容可以掌握MongoDB的基本操作,二高级篇,讲解了高级查询、高级更新、高级功能应用等MongoDB的高级技术,掌握这部分内容后就能熟练地应用MongoDB来完成日常的工作,三管理篇,详细介绍了MongoDB常用的运维管理工具,各种管理命令以及访问控制方面的技术,掌握这部分内容后就能具备一位MongoDBDBA所具有的全部技能,四性能篇,详细阐述了MongoDB的索引、优化,以及性能监控方面的知识,这部分内容将使读者具备对MongoDB进行调优的能力,五架构篇,重点讲解了主从复制、分片等高可用架构的细节,掌握这部分内容后就可以独立设计出MongoDB应用系统的架构;六开发篇,讲解了如何用C#和Java来操作MongoDB数据库,掌握这部分内容后就可以将C#和Java开发技术与MongoDB数据库结合起来,从而完成特定应用系统的开发。【作者简介】王文龙,网名“红丸”,资深数据库专家,国内MongoDB领域的先驱之一,积累了丰富的实战经验。精通MySQL、SQL Server和DB2等大中型数据库的运维和管理,还擅长Java和C#等技术。此外,他对Redis和分布式计算技术也有一定的研究。活跃于ITPUB等技术社区,发表和分享了大量关于MongoDB和Redis的技术文章,深受社区欢迎。
(美) 夏琨塔拉·古普塔·爱德华, 等著
(美) 科勒·班克, 等著
(美) 班克 (Banker,K.) , 著
(美) 霍多罗夫 (Chodorow,K.) , 著
(美) 霍多罗夫 (Chodorow,K.) , 著
(美) 戴利 (Dayley,B.) , 著
(美) 科普兰 (Copeland,R.) , 著
张甦, 贺磊, 著
(美) 霍多罗夫 (Chodorow,K.) , 著