《大数据应用与技术丛书 MONGODB大数据处理权威指南 第3版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)David Hows,Peter Membrey,Eelco Plugge,Tim Hawkins著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302463870
  • 页数:285 页
图书介绍:本书对上一版内容做了全面更新,包括MongoDB简介、安装MongoDB、数据模型、使用数据、GridFS、PHP和MongoDB、Python和MongoDB、高级查询、数据库管理、优化、复制、分片等内容。

第1章 MongoDB简介 1

1.1 了解MongoDB哲学 1

1.1.1 使用正确的工具处理正确的工作 1

1.1.2 天然缺少对事务的支持 3

1.1.3 JSON和MongoDB 3

1.1.4 采用非关系方式 5

1.1.5 选择性能还是特性 6

1.1.6 在任何地方均可运行数据库 6

1.2 将所有组合在一起 7

1.2.1 生成或创建键 7

1.2.2 使用键和值 8

1.2.3 实现集合 8

1.2.4 了解数据库 9

1.3 了解特性列表 9

1.3.1 WiredTiger 9

1.3.2 使用面向文档存储(BSON) 9

1.3.3 支持动态查询 10

1.3.4 为文档创建索引 11

1.3.5 使用地理空间索引 11

1.3.6 分析查询 11

1.3.7 就地更新信息(仅用于内存映射的数据库) 12

1.3.8 存储二进制数据 12

1.3.9 复制数据 12

1.3.10 实施分片 13

1.3.11 使用map和reduce函数 13

1.3.12 聚集框架 14

1.4 获取帮助 14

1.4.1 访问网站 14

1.4.2 剪切和粘贴MongoDB代码 14

1.4.3 在Google小组中寻找解决方案 14

1.4.4 在stack Overflow中寻找解决方案 14

1.4.5 利用JIRA跟踪系统 15

1.4.6 与MongoDB开发者沟通 15

1.5 小结 15

第2章 安装MongoDB 17

2.1 选择版本 17

2.2 在系统中安装MongoDB 18

2.2.1 在Linux中安装MongoDB 18

2.2.2 在Windows中安装MongoDB 19

2.3 运行MongoDB 20

2.3.1 先决条件 20

2.3.2 研究安装目录布局 20

2.3.3 使用MongoDB shell 21

2.4 添加额外的驱动 22

2.4.1 安装PHP驱动 22

2.4.2 确认PHP安装正确 25

2.4.3 安装Python驱动 27

2.4.4 确认PyMongo安装正确 28

2.5 小结 29

第3章 数据模型 31

3.1 设计数据库 31

3.1.1 集合的更多细节 32

3.1.2 使用文档 33

3.1.3 在文档中内嵌或引用信息 34

3.1.4 创建_id字段 35

3.2 构建索引 36

3.3 使用地理空间索引 36

3.4 可插拔的存储引擎 41

3.5 在真实世界中使用MongoDB 42

3.6 小结 42

第4章 使用数据 43

4.1 浏览数据库 43

4.2 在集合中插入数据 44

4.3 查询数据 45

4.3.1 使用点号 47

4.3.2 使用函数sort、limit和skip 48

4.3.3 使用固定集合、自然顺序和$natural 48

4.3.4 获取单个文档 50

4.3.5 使用聚集命令 50

4.3.6 使用条件操作符 52

4.3.7 使用正则表达式 59

4.4 更新数据 60

4.4.1 使用update()更新 60

4.4.2 使用save()命令实现upsert 60

4.4.3 自动更新信息 61

4.4.4 从数组中删除元素 64

4.4.5 指定匹配数组的位置 65

4.4.6 原子操作 65

4.4.7 以原子方式修改和返回文档 67

4.5 批处理数据 67

4.5.1 执行批处理 68

4.5.2 评估输出 69

4.6 重命名集合 70

4.7 删除数据 70

4.8 引用数据库 71

4.8.1 手动引用数据 71

4.8.2 使用DBRef引用数据 72

4.9 使用与索引相关的函数 74

4.10 小结 77

第5章 GridFS 79

5.1 背景 79

5.2 使用GridFS 80

5.3 开始使用命令行工具 80

5.3.1 使用_id键 81

5.3.2 使用文件名 81

5.3.3 文件的长度 82

5.3.4 使用块大小 82

5.3.5 跟踪上传日期 82

5.3.6 生成文件的哈希值 83

5.4 查看MongoDB中的数据 83

5.4.1 使用搜索命令 84

5.4.2 删除 84

5.4.3 从MongoDB中获取文件 85

5.4.4 mongofiles命令小结 85

5.5 使用Python 85

5.5.1 连接数据库 86

5.5.2 访问单词 87

5.6 在MongoDB中添加文件 87

5.7 从GridFS中读取文件 87

5.8 删除文件 88

5.9 小结 88

第6章 PHP和MongoDB 89

6.1 比较MongoDB和PHP中的文档 89

6.2 MongoDB类 90

6.2.1 连接和断开连接 91

6.2.2 插入数据 92

6.3 查询数据 94

6.3.1 返回单个文档 94

6.3.2 列出所有文档 95

6.4 使用查询操作符 96

6.4.1 查询特定信息 96

6.4.2 排序、限制和忽略数据项 97

6.4.3 统计匹配结果的数目 98

6.4.4 使用聚集框架对数组分组 98

6.4.5 使用hint()函数指定索引 99

6.4.6 使用条件操作符重新定义查询 100

6.4.7 判断某个字段是否有值 105

6.4.8 正则表达式 106

6.5 使用PHP修改数据 106

6.5.1 使用update()函数更新数据 107

6.5.2 节省更新操作的时间 108

6.5.3 使用save()函数更新数据 114

6.5.4 以原子方式修改文档 115

6.6 批处理数据 116

6.6.1 执行批处理 117

6.6.2 评估输出 118

6.7 删除数据 118

6.8 DBRef 120

6.9 GridFS和PHP驱动 122

6.9.1 存储文件 122

6.9.2 在已存储的文件中添加元数据 123

6.9.3 获取文件 123

6.9.4 删除数据 124

6.10 小结 124

第7章 Python和MongoDB 125

7.1 在Python中使用文档 125

7.2 使用PyMongo模块 126

7.3 连接和断开 126

7.4 插入数据 126

7.5 搜索数据 128

7.5.1 搜索单个文档 128

7.5.2 搜索多个文档 129

7.5.3 使用点操作符 129

7.5.4 返回字段 130

7.5.5 使用sort()、limit()和skip()简化查询 130

7.5.6 聚集查询 132

7.5.7 使用hint()指定索引 134

7.5.8 使用条件操作符重定义查询 135

7.5.9 使用正则表达式执行搜索 140

7.6 修改数据 140

7.6.1 更新数据 141

7.6.2 修改操作符 141

7.6.3 用replace_one()替代文档 145

7.6.4 以原子方式修改文档 146

7.6.5 使用参数 146

7.7 批处理数据 147

7.8 删除数据 148

7.9 在两个文档之间创建链接 149

7.10 小结 152

第8章 高级查询 153

8.1 文本搜索 153

8.1.1 文本搜索的代价和限制 154

8.1.2 使用文本搜索 154

8.1.3 其他语言中的文本索引 158

8.1.4 文本索引的复合索引 159

8.2 聚集框架 160

8.2.1 $group 161

8.2.2 $limit 163

8.2.3 $match 164

8.2.4 $sort 165

8.2.5 $unwind 166

8.2.6 $skip 168

8.2.7 $out 169

8.2.8 $lookup 170

8.3 MapReduce 171

8.3.1 MapReduce的工作方式 171

8.3.2 设置测试文档 172

8.3.3 使用map函数 172

8.3.4 高级MapReduce 174

8.3.5 调试MapReduce 176

8.4 小结 177

第9章 数据库管理 179

9.1 使用管理工具 179

9.1.1 mongo——MongoDB控制台 179

9.1.2 使用第三方管理工具 180

9.2 备份MongoDB服务器 180

9.2.1 创建第一个备份 180

9.2.2 备份单个数据库 182

9.2.3 备份单个集合 182

9.3 深入学习备份 183

9.4 恢复单个数据库或集合 183

9.4.1 恢复单个数据库 184

9.4.2 恢复单个集合 184

9.5 自动备份 185

9.5.1 使用本地数据存储 185

9.5.2 使用远端数据存储(基于云) 187

9.6 备份大数据库 188

9.6.1 使用隐藏的辅助服务器备份数据 188

9.6.2 使用日志文件系统创建快照 188

9.6.3 使用卷管理器时的磁盘布局 190

9.7 将数据导入MongoDB 191

9.8 从MongoDB导出数据 192

9.9 通过限制对MongoDB服务器的访问保护数据安全 193

9.10 使用身份验证保护服务器 193

9.10.1 添加admin用户 193

9.10.2 启用身份验证 194

9.10.3 在mongo控制台中执行身份验证 194

9.10.4 MongoDB用户角色 196

9.10.5 修改用户凭据 197

9.10.6 添加只读用户 198

9.10.7 删除用户 198

9.10.8 在PHP应用中进行连接身份验证 198

9.11 管理服务器 199

9.11.1 启动服务器 199

9.11.2 获得服务器版本 201

9.11.3 获得服务器状态 201

9.11.4 关闭服务器 203

9.12 使用MongoDB日志文件 204

9.13 验证和修复数据 204

9.13.1 修复服务器 205

9.13.2 验证单个集合 205

9.13.3 修复集合验证错误 206

9.13.4 修复集合的数据文件 207

9.13.5 压缩集合的数据文件 207

9.14 升级MongoDB 208

9.15 监控MongoDB 208

9.16 使用MongoDB云管理器 209

9.17 小结 210

第10章 优化 211

10.1 优化服务器硬件以提高性能 211

10.2 理解MongoDB的存储引擎 211

10.3 了解MMAPv1中MongoDB使用内存的方式 212

10.4 理解WiredTiger下MongoDB的内存使用方式 212

10.4.1 WiredTiger中的压缩 213

10.4.2 选择正确的数据库服务器硬件 213

10.5 评估查询性能 214

10.5.1 MongoDB分析器 214

10.5.2 使用explain()分析特定的查询 217

10.5.3 使用分析器和explain()优化查询 219

10.6 管理索引 224

10.6.1 显示索引 224

10.6.2 创建简单的索引 225

10.6.3 创建复合索引 226

10.7 Jesse Jiryu Davis的三步混合索引 226

10.7.1 设置 227

10.7.2 范围查询 227

10.7.3 相等和范围查询 228

10.7.4 题外话:MongoDB选择索引的方式 230

10.7.5 相等、范围查询和排序 231

10.7.6 最后的方法 233

10.8 指定索引选项 234

10.8.1 使用{background:true}在后台创建索引 234

10.8.2 使用{unique:true}创建唯一键索引 234

10.8.3 使用{sparse:true}创建稀疏索引 235

10.8.4 创建部分索引 235

1o.8.5 TTL索引 235

10.8.6 文本索引 236

10.8.7 删除索引 236

10.8.8 重建集合索引 237

10.9 通过hint()强制使用特定的索引 237

10.10 使用索引过滤器 238

10.11 优化小对象的存储 240

10.12 小结 241

第11章 复制 243

11.1 MongoDB复制的目标 243

11.1.1 改善可扩展性 243

11.1.2 改善持久性/可靠性 244

11.1.3 提供隔离性 244

11.2 复制基础 244

11.2.1 主服务器的定义 245

11.2.2 辅助服务器的定义 245

11.2.3 仲裁服务器的定义 246

11.3 深入学习oplog 246

11.4 实现复制集 247

11.4.1 创建复制集 248

11.4.2 启动复制集成员 249

11.4.3 向复制集中添加服务器 250

11.4.4 添加仲裁服务器 255

11.4.5 复制集链 256

11.4.6 管理复制集 256

11.4.7 为复制集成员配置选项 261

11.4.8 从应用连接到复制集 262

11.5 读顾虑 266

11.6 小结 266

第12章 分片 267

12.1 了解分片的需求 267

12.2 对数据进行水平和垂直分区 268

12.2.1 对数据进行垂直分区 268

12.2.2 对数据进行水平分区 268

12.3 分析一个简单的分片场景 269

12.4 使用MongoDB实现分片 270

12.4.1 创建分片设置 271

12.4.2 确定连接的方式 277

12.4.3 列出分片服务器的状态 278

12.4.4 使用复制集实现分片 279

12.5 均衡器 279

12.6 哈希片键 281

12.7 标签分片 282

12.8 添加更多配置服务器 284

12.9 小结 285