《深入云计算 MongoDB管理与开发实战详解》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:邹贵金著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2013
  • ISBN:9787113162283
  • 页数:378 页
图书介绍:与传统的关系型数据库不同,MongoDB是一种面向文档的数据库。本书内容有三大方面:系统全面,内容包含MongoDB开发、管理、维护和性能优化等方方面面。详细而深入,对MongoDB的开发和管理方法进行了详细的讲解,也对MongoDB的工作机制进行了深入的探讨。注重实战,通过实际中的案例为读者讲解使用MongoDB时遇到的各种问题,并给出了解决方案。

第1篇 基础篇 2

第1章 MongoDB简介 2

1.1 关系型数据库简介 2

1.2 关系型数据库面临的问题 3

1.3 NoSQL的崛起 5

1.4 MongoDB是如何解决这些问题的 6

1.5 初识MongoDB 8

1.5.1 MongoDB的特点 8

1.5.2 数据模型 9

1.5.3 扩展性 11

1.5.4 功能性 11

1.5.5 速度快 12

1.5.6 简便的管理 13

1.5.7 使用场合 13

1.6 本章小结 14

第2章 MongoDB基本原理与安装 15

2.1 数据库结构 15

2.2 文档 17

2.3 集合 18

2.3.1 集合的无模式 19

2.3.2 集合的命名 19

2.4 MongoDB数据类型 20

2.4.1 基本数据类型 20

2.4.2 数字类型 21

2.4.3 日期类型 21

2.4.4 数组类型 22

2.4.5 内嵌文档类型 22

2.4.6 _id键和ObjectId对象 22

2.5 MongoDB的下载和安装 24

2.5.1 MongoDB的下载 24

2.5.2 在Windows平台下的下载与安装 25

2.5.3 在Linux平台下的下载与安装 28

2.6 MongoDB shell的使用 31

2.6.1 启动Shell 31

2.6.2 使用Shell对MongoDB的基本操作 32

2.6.3 使用Shell的诀窍 33

2.6.4 特殊的集合名 34

2.7 本章小结 35

第3章 文档的增加、修改及删除 36

3.1 插入并保存文档 36

3.1.1 插入的原理和作用 37

3.1.2 批量插入 37

3.2 删除文档 38

3.3 修改文档 39

3.3.1 整个文档的替换 39

3.3.2 使用修改器 42

3.3.3 upsert和save更新 56

3.3.4 修改多个文档 60

3.3.5 修改文档并返回修改后的文档 63

3.4 数据库响应 67

3.4.1 安全操作 67

3.4.2 捕获异常 67

3.5 客户端请求和MongoDB数据库连接 68

3.6 本章小结 69

第2篇 应用篇 72

第4章 查询 72

4.1 find简介 72

4.1.1 返回指定的键 73

4.1.2 find查询限制 74

4.2 条件操作符 75

4.2.1 $all匹配所有 78

4.2.2 $exists判断字段是否存在 79

4.2.3 null值处理 80

4.2.4 $mod取模运算 81

4.2.5 $ne不等于 82

4.2.6 $in包含 83

4.2.7 $nin不包含 83

4.2.8 $size数组元素个数 84

4.2.9 正则表达式匹配 84

4.2.10 Javascript查询和$where查询 86

4.2.11 count查询记录条数 88

4.2.12 limit限制返回记录数 89

4.2.13 skip限制返回记录的起点 89

4.2.14 sort排序 90

4.2.15 分页查询 92

4.2.16 随机抽取文档 96

4.3 distinct找出给定键所有不同的值 97

4.4 group分组 98

4.4.1 使用完成器 105

4.4.2 将函数作为键使用 107

4.5 游标 110

4.6 存储过程 112

4.7 本章小结 113

第5章 Capped集合 114

5.1 特性 114

5.2 使用和约束 114

5.3 应用 114

5.3.1 创建capped collection 115

5.3.2 限制capped collection中对象个数 115

5.4 注意事项 117

5.5 本章小结 117

第6章 GridFS存储文件 118

6.1 为什么要用GridFS 118

6.2 如何实现海量存储 118

6.3 语言支持 118

6.4 简单介绍 119

6.5 命令行工具 119

6.6 内部原理 122

6.7 本章小结 124

第7章 MapReduce统计 126

7.1 Map函数 126

7.2 Reduce函数 127

7.3 结果存储 127

7.4 对Reduce函数结果进一步处理 129

7.5 其他控制细节 130

7.6 本章小结 131

第3篇 管理篇 134

第8章 管理 134

8.1 启动和停止MongoDB 134

8.1.1 使用命令行启动 134

8.1.2 配置文件 136

8.1.3 Daemon方式启动 137

8.1.4 mongod参数说明 138

8.1.5 停止数据库 139

8.2 访问控制 142

8.2.1 绑定IP内网地址访问MongoDB服务 142

8.2.2 设置监听端口 142

8.2.3 使用用户名和口令登录 143

8.3 命令行操作 147

8.3.1 通过eval参数执行指定语句 147

8.3.2 执行指定文件中的内容 147

8.4 进程控制 149

8.4.1 查看活动进程 149

8.4.2 结束进程 151

8.5 监控 152

8.5.1 使用管理接口 152

8.5.2 serverStatus 154

8.5.3 mongostat 156

8.5.4 第三方插件 157

8.6 数据导出mongoexport 157

8.6.1 常用导出方法 158

8.6.2 导出CSV格式的文件 159

8.7 数据导入mongoimport 161

8.7.1 导入JSON数据 161

8.7.2 导入CSV数据 162

8.8 数据备份和修复 163

8.8.1 数据文件备份 163

8.8.2 数据备份mongodump 163

8.8.3 数据恢复mongorestore 165

8.8.4 fsync和锁 167

8.8.5 从属备份 168

8.8.6 修复 168

8.9 本章小结 169

第4篇 性能篇 171

第9章 索引 171

9.1 索引简介 171

9.1.1 基础索引 171

9.1.2 文档索引 173

9.1.3 组合索引 175

9.1.4 唯一索引 177

9.1.5 强制使用索引 178

9.1.6 扩展索引 180

9.1.7 索引内嵌文档中的键 180

9.1.8 为排序创建索引 181

9.1.9 索引名称 181

9.1.10 删除索引 182

9.2 explain执行计划 185

9.3 优化器profiler 191

9.3.1 开启profiler功能 191

9.3.2 查询profiler日志 192

9.4 索引管理 192

9.5 本章小结 193

第10章 性能优化 195

10.1 优化方案 195

10.1.1 优化方案1:创建索引 195

10.1.2 优化方案2:限定返回结果条数 195

10.1.3 优化方案3:只查询使用到的字段,而不查询所有字段 196

10.1.4 优化方案4:采用capped集合 196

10.1.5 优化方案5:采用Server Side Code Execution 196

10.1.6 优化方案6:hint 196

10.1.7 优化方案7:采用profiling 197

10.2 性能监控 197

10.2.1 mongosniff底层监控 197

10.2.2 mongostat查看运行中的实例统计信息 199

10.2.3 db.serverStatuss查看实例运行状态 200

10.2.4 db.stats查看数据库状态 203

10.2.5 第三方工具 205

10.3 本章小结 205

第5篇 架构篇 208

第11章 复制集 208

11.1 主从复制 208

11.1.1 选项 210

11.1.2 添加及删除源 211

11.2 复制集 212

11.2.1 部署复制集 213

11.2.2 初始化复制集 214

11.2.3 复制集中的节点 215

11.2.4 故障切换和活跃节点选举 216

11.3 主从配置信息 217

11.4 管理维护复制集 219

11.4.1 读写分离 219

11.4.2 故障转移 220

11.4.3 增减节点 222

11.5 工作原理 228

11.5.1 主从操作日志oplog 229

11.5.2 同步 230

11.5.3 复制状态和本地数据库 230

11.5.4 阻塞复制 231

11.6 管理 232

11.6.1 诊断 232

11.6.2 变更oplog的大小 232

11.6.3 复制的认证问题 233

11.7 本章小结 233

第12章 sharding分片 234

12.1 分片简介 234

12.2 MongoDB中的自动分片 234

12.3 片键 235

12.3.1 将已有的集合分片 236

12.3.2 递增片键还是随机片键 236

12.3.3 片键对操作的影响 236

12.4 建立分片 237

12.4.1 启动Config Server配置服务器 238

12.4.2 启动mongos路由 238

12.4.3 启动Shard Server服务器 239

12.4.4 配置Sharding 239

12.4.5 验证Sharding正常工作 240

12.5 管理维护Sharding 242

12.5.1 列出所有的Shard Server 242

12.5.2 查看Sharding信息 242

12.5.3 判断是否是Sharding 243

12.5.4 对现有的集合进行Sharding 243

12.5.5 新增Shard Server 245

12.5.6 移除Shard Server 247

12.6 本章小结 249

第13章 复制集+shardin分片体 251

13.1 创建数据目录 251

13.2 配置复制集 251

13.2.1 配置shard1所用到的复制集 251

13.2.2 配置shard2所用到的复制集 252

13.3 配置多台Config Server 253

13.4 配置多台mongos 253

13.5 配置Shard Cluster 254

13.6 验证Sharding正常工作 254

13.7 管理分片 255

13.7.1 配置集合 255

13.7.2 分片命令 257

13.8 本章小结 258

第6篇 实例篇 260

第14章 实际项目搭建Mongo DB环境 260

14.1 环境搭建实例 260

14.1.1 服务器信息 260

14.1.2 分片结果表 260

14.1.3 复制集+sharding分片架构图 261

14.1.4 MongoDB环境搭建步骤 261

14.2 遇到的问题 281

14.3 本章小结 282

第15章 Java对MongoDB的基本操作实例15.1 Java快速入门 283

15.1.1 安装Java驱动程序和开发环境 283

15.1.2 访问控制 285

15.1.3 Java对MongoDB数据库的基本操作 286

15.1.4 Java驱动的一致性 292

15.2 Java常用操作 293

15.2.1 Java对MongoDB的操作实例 293

15.2.2 对用户的操作 297

15.2.3 对集合的操作 300

15.2.4 对索引的操作 310

15.3 Java高级查询 315

15.3.1 通过游标获取所有的文档 315

15.3.2 比较运算符 316

15.3.3 逻辑运算符 327

15.3.4 正则表达式查询 328

15.3.5 skip跳过查询 330

15.4 Java操作GridFS 331

15.4.1 上传文件 331

15.4.2 查询数据 333

15.4.3 下载文件 334

15.4.4 删除数据 336

15.5 本章小结 337

第16章 C#对MongoDB的基本操作实例16.1 C#快速入门 338

16.1.1 下载驱动和配置开发环境 338

16.1.2 访问控制 340

16.1.3 C#对数据库的基础操作 341

16.2 C#驱动一致性 345

16.3 C#常用操作 346

16.3.1 对MongoDB的操作实例 346

16.3.2 对用户的操作 349

16.3.3 对集合的操作 352

16.3.4 对索引的操作 359

16.4 C#高级查询 362

16.4.1 判断列名是否存在 362

16.4.2 比较运算符 364

16.4.3 逻辑运算符 370

16.4.4 正则表达式查询 372

16.4.5 跳过查询 373

16.5 C#操作GridFS 374

16.5.1 上传文件 374

16.5.2 查询数据 375

16.5.3 下载文件 376

16.5.4 删除数据 377

16.6 本章小结 378