分  享 
分  享 
源  码 
源  码 
课  程 
课  程 
设  计 
设  计 

[数据库] 【PDF教材】《MONGODB 实战》(第2版)带目录书签完整PDF版 [102MB]

[复制链接]
密探007微信认证 发表于 2018-5-9 12:07:31 | 显示全部楼层 |阅读模式

欢迎加入「奥学网」学霸平台,让自学改变你的世界!

您需要 登录 才可以下载或查看,没有帐号?账号注册

x
【PDF教材】《MONGODB 实战》(第2版)带目录书签完整PDF版 [102MB] - 奥学网

  本书分三部分通过大量的实例代码介绍了MongoDB数据库底层的实现以及大型互联网Web项目数据库设计原则。第一部分对MongoDB进行了整体介绍,并介绍了实际的开发例子,另外还介绍了JavaScript shell和Ruby驱动。第二部分通过逐步实现一个电商数据模型和实现必要的CRUD操作来详细介绍了MongoDB的文档数据模型、查询语言和CRUD(新增、读取、更新和删除)操作。本书的第三后部分从数据库专家的角度来看待MongoDB,介绍了数据库的性能、部署、容错和伸缩性等所有的知识。

  本书适合想深入学习MongoDB的开发人员,主要关注MongoDB数据库。

  目录

  第一部分 入门 1

  第1章 全新Web数据库 3

  1.1 为互联网而生 5

  1.2 MongoDB键特性 5

  1.2.1 文档数据模型 5

  1.2.2 ad hoc查询 9

  1.2.3 索引 9

  1.2.4 复制 10

  1.2.5 加速与持久化 11

  1.2.6 伸缩 13

  1.3 核心服务和工具 14

  1.3.1 核心服务器 14

  1.3.2 JavaScript shell 15

  1.3.3 数据库驱动 15

  1.3.4 命令行工具 16

  1.4 为什么是MongoDB? 17

  1.4.1 MongoDB与其他数据库对比 17

  1.4.2 使用场景和部署 20

  1.5 提示和限制 22

  1.6 MongoDB历史 23

  1.7 其他资源 25

  1.8 总结 25

  第2章 通过JavaScript shell操作MongoDB 27

  2.1 Diving into the深入MongoDB shell 28

  2.1.1 启动shell 28

  2.1.2 数据库、集合和文档 28

  2.1.3 插入和查询 29

  2.1.4 更新文档 31

  2.1.5 删除数据 35

  2.1.6 shell的其他特性 35

  2.2 使用索引创建和查询 36

  2.2.1 创建大集合 36

  2.2.2 索引和explain( ) 38

  2.3 基本管理 42

  2.3.1 获取数据库信息 43

  2.3.2 命令如何执行 44

  2.4 获取帮助 45

  2.5 总结 47

  第3章 编写代码操作MongoDB 48

  3.1 通过Ruby lens连接MongoDB 49

  3.1.1 安装与连接 49

  3.1.2 Ruby里插入文档数据 50

  3.1.3 查询与光标 51

  3.1.4 更新和删除 52

  3.1.5 数据库命令 53

  3.2 驱动工作原理 54

  3.3 构建简单的应用 56

  3.3.1 设置 56

  3.3.2 搜集数据 57

  3.3.3 查看存档 60

  3.4 总结 63

  第二部分 MongoDB应用系统开发 65

  第4章 面向文档的数据 67

  4.1 schema设计原则 67

  4.2 设计电商网站数据模型 69

  4.2.1 schema基础知识 69

  4.2.2 用户和订单 73

  4.2.3 评价 75

  4.3 核心概念:数据库、集合、文档 76

  4.3.1 数据库 76

  4.3.2 集合 79

  4.3.3 文档和插入 83

  4.4 总结 87

  第5章 构建查询 88

  5.1 电子商务查询 88

  5.1.1 产品、类别和评论 88

  5.1.2 用户和订单 91

  5.2 MongoDB的查询语言 92

  5.2.1 查询条件和选择器 92

  5.2.2 查询选择 104

  5.3 总结 106

  第6章 聚合 107

  6.1 聚合框架概览 108

  6.2 电商聚合例子 109

  6.2.1 商品、类别和评价 111

  6.2.2 用户和订单 117

  6.3 聚合管道操作符 120

  6.3.1 $project 120

  6.3.2 $group 121

  6.3.3 $match、$sort、$skip、$limit 123

  6.3.4 $unwind 123

  6.3.5 $out 124

  6.4 重塑文档 124

  6.4.1 字符串函数 125

  6.4.2 算术运算函数 126

  6.4.3 日期函数 126

  6.4.4 逻辑函数 127

  6.4.5 集合操作符 128

  6.4.6 其他函数 129

  6.5 理解聚合管道性能 129

  6.5.1 聚合管道选项 130

  6.5.2 聚合框架的explain( )函数 130

  6.5.3 allowDiskUse 选项 134

  6.5.4 聚合光标选项 134

  6.6 其他聚合功能 135

  6.6.1 .count( )和.distinct( ) 135

  6.6.2 map-reduce 136

  6.7 总结 138

  第7章 更新、原子操作和删除 140

  7.1 文档更新概要 141

  7.1.1 通过替换修改 141

  7.1.2 通过操作符修改 142

  7.1.3 比较两个方法 142

  7.1.4 决定:替换与操作符 143

  7.2 电商数据模型更新 144

  7.2.1 商品和目录 144

  7.2.2 评价 148

  7.2.3 订单 150

  7.3 原子文档处理 152

  7.3.1 订单状态转换 153

  7.3.2 库存管理 155

  7.4 核心要点:MongoDB更新与删除 160

  7.4.1 更新类型与参数选项 160

  7.4.2 更新操作符 161

  7.4.3 findAndModify命令 169

  7.4.4 删除 169

  7.4.5 并发、原子性和隔离 170

  7.4.6 更新性能注意事项 171

  7.5 复习更新操作符 172

  7.6 总结 173

  第三部分 精通MongoDB 175

  第8章 索引与查询优化 177

  8.1 索引理论 177

  8.1.1 精心策划的实验 178

  8.1.2 核心索引概念 181

  8.1.3 B-树 185

  8.2 索引实战 186

  8.2.1 索引类型 186

  8.2.2 索引管理 189

  8.3 查询优化 194

  8.3.1 找出慢速查询 195

  8.3.2 检查慢速查询 199

  8.3.3 查询模式 217

  8.4 总结 219

  第9章 文本搜索 220

  9.1 文本搜索—不仅仅是模式匹配 221

  9.1.1 文本搜索与模式匹配 222

  9.1.2 文本搜索与网页搜索 223

  9.1.3 MongoDB文本搜索与专业搜索引擎 225

  9.2 下载曼宁图书类别数据 228

  9.3 定义文本搜索索引 229

  9.3.1 文本索引的大小 230

  9.3.2 分配索引名字并为集合里的所有字段建立索引 231

  9.4 基本的文本搜索 232

  9.4.1 更复杂的搜索 233

  9.4.2 文本搜索分数 235

  9.4.3 根据文本搜索分数排序结果 236

  9.5 聚合框架文本搜索 237

  9.6 文本搜索语言 240

  9.6.1 在索引里指定语言 241

  9.6.2 在文档里指定语言 242

  9.6.3 在搜索中指定语言 243

  9.6.4 可用的语言 245

  9.7 总结 245

  第10章 WiredTiger与可拔插存储 246

  10.1 可拔插存储引擎API 246

  10.2 WiredTiger 248

  10.2.1 切换到WiredTiger 248

  10.2.2 迁移数据到WiredTiger 249

  10.3 与MMAPv1对比 250

  10.3.1 配置文件 251

  10.3.2 插入脚本与基准测试脚本 252

  10.3.3 插入测试结果 255

  10.3.4 读性能测试脚本 256

  10.3.5 读性能结果 257

  10.3.6 测试结论 259

  10.4 其他可拔插存储引擎的例子 260

  10.5 高级主题 261

  10.5.1 可拔插引擎如何工作? 261

  10.5.2 数据结构 263

  10.5.3 锁 265

  10.6 总结 265

  第11章 复制 267

  11.1 复制概览 267

  11.1.1 为什么复制很重要 268

  11.1.2 复制的使用场景和限制 269

  11.2 可复制集 270

  11.2.1 安装 270

  11.2.2 可复制集群工作原理 277

  11.2.3 管理 283

  11.3 驱动与复制 291

  11.3.1 连接与故障转移 291

  11.3.2 写关注点 293

  11.3.3 读伸缩 294

  11.3.4 标签 296

  11.4 总结 298

  第12章 使用分片集群扩展系统 299

  12.1 分片集群概述 300

  12.1.1 什么是分片集群 300

  12.1.2 什么时候分片? 301

  12.2 理解分片集群的组件 302

  12.2.1 分片:存储应用程序数据 303

  12.2.2 mongos路由:路由操作 303

  12.2.3 配置服务器:存储元数据 303

  12.3 在分片集群中分散数据 304

  12.3.1 分片集群中的数据分散方式 305

  12.3.2 分布式数据库分片 306

  12.3.3 集合分片 306

  12.4 构建一个例子分片集群 307

  12.4.1 启动mongod和mongos服务器 308

  12.4.2 配置集群 310

  12.4.3 分片集合 311

  12.4.4 写入数据到分片集群 312

  12.5 分片集群查询和建立索引 318

  12.5.1 查询路由 318

  12.5.2 分片集群中建立索引 319

  12.5.3 分片集群中的explain()工具 320

  12.5.4 分片集群中聚合 322

  12.6 选择分片键 322

  12.6.1 非平衡写入(热点) 323

  12.6.2 不可分割的数据块(粗粒度) 324

  12.6.3 糟糕的定位(分片键不在查询中) 325

  12.6.4 理想的分片键 325

  12.6.5 设计折中(email应用) 326

  12.7 生产环境下分片集群 328

  12.7.1 配置 328

  12.7.2 部署 330

  12.7.3 维护 332

  12.8 总结 336

  第13章 部署与管理 337

  13.1 硬件与配置 337

  13.1.1 集群拓扑 337

  13.1.2 部署环境 339

  13.1.3 配置 344

  13.2 监控与诊断 346

  13.2.1 日志 346

  13.2.2 诊断命令 347

  13.2.3 诊断工具 347

  13.2.4 监控服务 349

  13.2.5 外部监控应用 349

  13.3 备份 350

  13.3.1 mongodump和mongorestore 350

  13.3.2 基于数据文件的备份 351

  13.3.3 MMS备份 352

  13.4 安全 352

  13.4.1 安全环境 353

  13.4.2 网络安全 353

  13.4.3 验证 356

  13.4.4 可复制集验证 359

  13.4.5 分片集群验证 360

  13.4.6 企业安全特性 360

  13.5 管理任务 360

  13.5.1 数据导入和导出 360

  13.5.2 压缩和修复 361

  13.5.3 升级 363

  13.6 性能故障排除 363

  13.6.1 工作集 363

  13.6.2 性能悬崖 364

  13.6.3 查询交互 365

  13.6.4 寻求专业帮助 366

  13.7 部署检查列表 366

  13.8 总结 367

  附录A 安装 368

  A.1 安装 368

  A.1.1 生产部署 368

  A.1.2 32位和64位 369

  A.2 Linux下安装MongoDB 369

  A.2.1 使用预编译二进制文件安装 369

  A.2.2 使用包管理器 370

  A.3 Mac OS X下安装MongoDB 370

  A.3.1 预编译二进制版本 370

  A.3.2 使用包管理器 371

  A.4 Windows下安装MongoDB 372

  A.5 从源码编译MongoDB 373

  A.6 故障排除 373

  A.6.1 错误的架构 373

  A.6.2 不存在的数据目录 374

  A.6.3 缺少权限 374

  A.6.4 未绑定端口 374

  A.7 基本配置选项 374

  A.8 安装Ruby 376

  A.8.1 Linux和Mac OS X 376

  A.8.2 Windows 376

  附录B 设计模式 377

  B.1 嵌入与引用 377

  B.2 一对多 377

  B.3 多对多 378

  B.4 树 379

  B.5 工作队列 382

  B.6 动态特性 383

  B.7 事务 384

  B.8 定位与预计算 385

  B.9 反模式 386

  B.9.1 粗心索引 386

  B.9.2 交错类型 386

  B.9.3 单一集合 386

  B.9.4 大型、深嵌文档 386

  B.9.5 一个用户一个集合 387

  B.9.6 不可分片集合 387

  附录C 二进制数据和网格文件系统 388

  C.1 简单二进制存储 388

  C.1.1 存储缩略图 389

  C.1.2 存储MD5 389

  C.2 网格文件 390

  C.2.1 Ruby中的GridFS 391

  C.2.2 使用mongofiles操作GridFS 393



 百度网盘 / Download(回复可见):
 The following hidden content members only. Join us 
游客,如果您要查看本帖隐藏内容请回复



上一篇:【PDF教材】《OpenStack 企业云平台架构与实践》张小斌-带目录书签PDF完整版 [70MB]
下一篇:【PDF教材】《别怕,Excel VBA 其实很简单》(第2版)带书签目录-中文pdf扫描版

 

 

楼 主 推 荐
斩相思 发表于 2018-5-10 17:14:28 | 显示全部楼层
OK想看一下写呢啥?
回复 支持 反对

使用道具 举报

a2DlX 发表于 2018-5-12 12:04:01 | 显示全部楼层
我要要要切克闹
回复 支持 反对

使用道具 举报

fumingxia 发表于 2018-5-14 09:10:58 | 显示全部楼层
困了累了就来“奥学网”逛逛,瞬间清醒!
回复 支持 反对

使用道具 举报

yusongking 发表于 2018-5-15 10:00:54 | 显示全部楼层
看看这个数据库
回复 支持 反对

使用道具 举报

v1inPy 发表于 2018-5-16 18:26:47 | 显示全部楼层
哈哈我支持你
回复 支持 反对

使用道具 举报

雪夜2017 发表于 6 天前 | 显示全部楼层
你是百元哥吗?哈哈楼主帖子真不错~~~~~~~~~~
回复 支持 反对

使用道具 举报

4ADxQ 发表于 5 天前 | 显示全部楼层
有才的不在少数啊
回复 支持 反对

使用道具 举报

三夏之风 发表于 5 天前 | 显示全部楼层
兄弟的网站,支持一下
回复 支持 反对

使用道具 举报

2M20 发表于 4 天前 | 显示全部楼层
你只给我1块钱,快给我100快,不要脸
回复 支持 反对

使用道具 举报

快速回复 收藏帖子 返回列表
加密...

SiteMap|奥学网 ( 闽ICP备12011685号-6 )|随机浏览

闽公网安备35021202000025号

Xtreme-aesthetic Design

© 2012~Now 6SO.SO

快速回复 返回顶部 返回列表