MongoDB管理与开发精要

出版日期:2011-12-30
作者:红丸
页数:280页

内容概要

“红丸”,资深数据库专家,国内MongoDB领域的先驱之一,积累了丰富的实战经验。精通MySQL、SQL Server和DB2等大中型数据库的运维和管理,还擅长Java和C#等技术。此外,他对Redis和分布式计算技术也有一定的研究。活跃于ITPUB等技术社区,发表和分享了大量关于MongoDB和Redis的技术文章,深受社区欢迎。

书籍目录

前言
第一部分  基  础  篇
第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 Collection集合 / 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

作者简介

最初,本书的部分初稿在几大IT技术社区“疯传”,被社区网友视为学习MongoDB的“宝典”。由于受到社区网友的热捧,在初稿的基础上,作者对本书内容进行了系统化的补充,使原有的内容获得了大大的完善。本书的第一大特点是实用性和可操作性强,作者是国内MongoDB领域的先驱和实践者,本书的所有内容都来自于作者的实践;本书的第二大特点是内容深入且全面,从MongoDB的使用、管理、维护、性能优化,到MongoDB的开发和实现原理,几乎涵盖了读者需要掌握的所有内容。强烈推荐!
—— 51CTO(www.51cto.com,中国领先的IT技术社区)
MongoDB是非关系型数据库中功能最丰富、最像关系型数据库的产品之一,因为具有高性能、易于部署、易于使用、存储数据方便等优势而深受欢迎。它最大的特点是支持的查询语言非常强大。从本书的内容可以看出,作者在MongoDB方面有非常多的实践经验,而且对MongoDB有非常深入的理解和认识,本书从实践的角度对MongoDB的方方面面做了透彻的讲解,有很大的参考价值。极力推荐!
—— 中国DBA超级论坛(http://www.chinadba.net/)
随着互联网的发展和新技术的不断涌现,企业会在实际的应用中使用各种不同的方案和产品来存放数据。由C++语言编写的MongoDB是一个基于分布式文件存储的数据库,能够为Web应用提供可扩展的高性能数据存储解决方案。它是一个介于关系数据库和非关系数据库之间的NoSQL产品,具有几乎所有关系型数据库的功能。它会使你的开发和部署很容易,天然具有分布式和Failover的功能,深受众多公司喜爱。本书实战性较强,涵盖MongoDB的各个方面,作者通过大量实例讲解了如何使用MongoDB,以及如何解决在使用过程中遇到的各种问题。
——杨海朝 新浪网(中国)技术有限公司首席DBA/新浪微博数据库负责人
MongoDB是一个开源、高性能、面向集合存储的分布式文档存储数据库。著名的在线词典和语言库网站Wordnik大量使用了MongoDB对其数据进行存储。而令我印象最深的是,MongoDB使用操作系统的内存映射文件方式来管理内存,以此来简化内存的管理工作,同时提高了Cache的性能。本书作者多年从事一线的MongoDB管理与开发,相信通过他的介绍,不论是未曾接触过MongoDB的用户,抑或是已经在实际工作中使用MongoDB的用户,都会受益匪浅。
——姜承尧 资深MySQL数据库专家,著有《MySQL技术内幕:InnoDB存储引擎》
MongoDB在Key-Value存储方式和传统的关系型数据库系统之间架起了一座桥梁,集两者的优势于一身。对于正在开发创新型互联网应用的公司来说,非常适合使用MongoDB,因为它能大大提高产品的开发速度,使企业满足用户迅速变化的需求。在国外,Disney、SAP、Forbes、SourceForge和GitHub等知名公司都采用了MongoDB作为其数据存储方案;在国内,百度、新浪、淘宝、盛大、视觉中国、大众点评网和又拍网等众多知名互联网公司也在应用MongoDB。
虽然MongoDB这一“野心勃勃”的NoSQL新贵让很多初学者望而却步,但是通过本书你会发现,MongoDB的学习也可以如此轻松。本书没有教条式地去深究MongoDB的语法细节,也没有重点地介绍各种高深的MongoDB编程技巧,而是本着简单实用的原则,通俗易懂地讲解了MongoDB中最重要、最实用的知识。
本书强调动手实战,以风趣幽默的语言和一系列生动的实战案例系统地讲解了MongoDB的核心技术和扩展技术。在遵循技术严密性的同时,还在容易产生错误、不易理解的知识点上配备了翔实且又具有说服力的开发情景截图,循序渐进、深入浅出。只要大家结合书中的案例亲自动手实验,一定能快速掌握MongoDB知识,从而独立完成日常运行、维护、管理和程序开发工作。


 MongoDB管理与开发精要下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024