MongoDB权威指南 第3版香农·布拉德肖 ISBN:9787115576538

MongoDB权威指南 第3版

书籍作者:香农·布拉德肖

ISBN:9787115576538

书籍语言:简体中文

连载状态:全集

电子书格式:pdf,txt,epub,mobi,azw3

下载次数:7957

运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板

内容简介

与传统的关系数据库不同,MongoDB是一种面向文档的数据库。本书这一版共分为6个部分,涵盖开发、管理以及部署等各个方面。这一版对TTL和聚合管道等新特性进行了讲解,还增加了配置MongoDB的章节,涵盖面向文档的存储方式及利用MongoDB的无模式数据模型处理文档、集合和多个数据库,以及监控、安全性和身份验证、备份和修复、水平扩展MongoDB数据库等多方面的内容。

作者简介

香农.布拉德肖(Shannon Bradshaw)是MongoDB公司培训部门副总裁,负责管理MongoDB专业认证项目提供的培训产品。

约恩.布拉齐尔(Eoin Brazil)是MongoDB公司高级课程工程师,致力于开发与MongoDB相关的在线培训产品。

克里斯蒂娜.霍多罗夫(Kristina Chodorow)是软件工程师,曾深度参与MongoDB的内核开发工作。她领导了MongoDB副本集功能的开发并编写了PHP和Perl的驱动程序。

【译者介绍】

牟天垒,架构师,MongoDB官方认证双证持有者,MongoDB官方中文社区核心成员,MongoDB生态工具Tapdata创始工程师,致力于实时数据服务理念的实现。

王明辉,本科就读于同济大学,从事全栈开发多年,参与过数个创业项目,也对开源社区有所贡献,现就职于微软(亚洲)互联网工程院。

编辑推荐

1.MongoDB团队成员撰写,带你入门主流NoSQL数据库;
2.第1版、第2版累计发行5万册,第3版对TTL和聚合管道等新特性进行了讲解,还增加了配置MongoDB的章节;
3.内容适合MongoDB 4.2及以上版本。

如果你希望使用支持现代应用程序开发的系统来管理数据,那么MongoDB是不错的选择。作为面向文档的NoSQL数据库,MongoDB功能多、灵活且易于扩展,在DB-Engines数据库流行度排行榜上名列前茅。

本书是由MongoDB团队成员撰写的入门指南,涵盖从开发到部署的各个方面,内容适合MongoDB 4.2及以上版本。无论你是NoSQL新手还是有经验的MongoDB用户,都可以在查询、索引、聚合、事务、副本集、分片、监控和安全等方面收获新的知识。

●使用MongoDB执行写操作、查找文档并进行复杂的查询
●对集合进行索引,对数据进行聚合,在应用程序中使用事务
●配置本地副本集,并了解复制机制如何与应用程序交互
●创建集群的各个组件,并为不同类型的应用程序选择片键
●探索应用程序管理的各个方面,并配置身份验证和授权
●使用工具进行监控、备份和恢复,并在部署MongoDB时对系统进行设置

《MongoDB权威指南 第3版》电子书免费下载

pdf下载
txt下载
epub下载
mobi下载
azw3下载
下载暂时关闭,开启另行通知

目录

前言 xvii

第 一部分 MongoDB入门

第 1 章 MongoDB简介 3

1.1 易于使用 3

1.2 易于扩展 3

1.3 功能丰富 4

1.4 性能卓越 5

1.5 设计理念 5

第 2 章 入门指南 6

2.1 文档 6

2.2 集合 7

2.2.1 动态模式 7

2.2.2 命名 8

2.3 数据库 8

2.4 启动MongoDB 9

2.5 MongoDB shell介绍 10

2.5.1 运行shell 10

2.5.2 MongoDB客户端 11

2.5.3 shell中的基本操作 12

2.6 数据类型 14

2.6.1 基本数据类型 14

2.6.2 日期 15

2.6.3 数组 16

2.6.4 内嵌文档 16

2.6.5 ObjectId和_id 17

2.7 使用MongoDB shell 18

2.7.1 shell使用技巧 19

2.7.2 使用shell执行脚本 19

2.7.3 创建.mongorc.js文件 21

2.7.4 定制shell提示信息 22

2.7.5 编辑复杂变量 23

2.7.6 不便使用的集合名称 23

第 3 章 创建、更新和删除文档 25

3.1 插入文档 25

3.1.1 insertMany 25

3.1.2 插入校验 28

3.1.3 插入 28

3.2 删除文档 28

3.3 更新文档 30

3.3.1 文档替换 30

3.3.2 使用更新运算符 31

3.3.3 upsert 40

3.3.4 更新多个文档 42

3.3.5 返回被更新的文档 42

第 4 章 查询 45

4.1 find简介 45

4.1.1 指定要返回的键 46

4.1.2 限制 46

4.2 查询条件 47

4.2.1 查询条件 47

4.2.2 OR查询 47

4.2.3 $not 48

4.3 特定类型的查询 48

4.3.1 null 49

4.3.2 正则表达式 49

4.3.3 查询数组 50

4.3.4 查询内嵌文档 54

4.4 $where查询 55

4.5 游标 56

4.5.1 limit、skip和sort 57

4.5.2 避免略过大量结果 58

4.5.3 游标生命周期 59

第二部分 设计应用程序

第 5 章 索引 63

5.1 索引简介 63

5.1.1 创建索引 65

5.1.2 复合索引简介 68

5.1.3 MongoDB如何选择索引 71

5.1.4 使用复合索引 72

5.1.5 $运算符如何使用索引 88

5.1.6 索引对象和数组 97

5.1.7 索引基数 99

5.2 explain输出 99

5.3 何时不使用索引 106

5.4 索引类型 107

5.4.1 唯一索引 107

5.4.2 部分索引 109

5.5 索引管理 110

5.5.1 标识索引 111

5.5.2 修改索引 111

第 6 章 特殊的索引和集合类型 112

6.1 地理空间索引 112

6.1.1 地理空间查询的类型 113

6.1.2 使用地理空间索引 114

6.1.3 复合地理空间索引 120

6.1.4 2d索引 121

6.2 全文搜索索引 123

6.2.1 创建文本索引 123

6.2.2 文本查询 124

6.2.3 优化全文本搜索 126

6.2.4 在其他语言中搜索 126

6.3 固定集合 127

6.3.1 创建固定集合 129

6.3.2 可追加游标 129

6.4 TTL索引 130

6.5 使用GridFS存储文件 130

6.5.1 GridFS入门:mongofiles 131

6.5.2 在MongoDB驱动程序中使用GridFS 131

6.5.3 GridFS的底层机制 132

第 7 章 聚合框架 134

7.1 管道、阶段和可调参数 134

7.2 阶段入门:常见操作 136

7.3 表达式 140

7.4 $project 140

7.5 $unwind 145

7.6 数组表达式 151

7.7 累加器 155

7.8 分组简介 57

7.8.1 分组阶段中的_id字段 161

7.8.2 分组与投射 163

7.9 将聚合管道结果写入集合中 166

第 8 章 事务 167

8.1 事务简介 167

8.2 如何使用事务 168

8.3 对应用程序的事务限制进行调优 171

第 9 章 应用程序设计 173

9.1 模式设计注意事项 173

9.2 范式化与反范式化 176

9.2.1 数据表示的示例 176

9.2.2 基数 180

9.2.3 好友、粉丝以及其他麻烦事项 180

9.3 优化数据操作 182

9.4 数据库和集合的设计 183

9.5 一致性管理 183

9.6 模式迁移 184

9.7 模式管理 185

9.8 不适合使用MongoDB的场景 185

第三部分 复制

第 10 章 创建副本集 189

10.1 复制简介 189

10.2 建立副本集(一) 190

10.3 网络注意事项 191

10.4 安全注意事项 191

10.5 建立副本集(二) 191

10.6 观察副本集 194

10.7 更改副本集配置 199

10.8 如何设计副本集 201

10.9 成员配置选项 203

10.9.1 优先级 204

10.9.2 隐藏成员 204

10.9.3 选举仲裁者 205

10.9.4 创建索引 206

第 11 章 副本集的组成 207

11.1 同步 207

11.1.1 初始化同步 209

11.1.2 复制 210

11.1.3 处理过时数据 210

11.2 心跳 210

11.3 选举 212

11.4 回滚 212

第 12 章 从应用程序连接副本集 216

12.1 客户端到副本集的连接行为 216

12.2 在写入时等待复制 218

12.3 自定义复制保证规则 219

12.3.1 保证复制到每个数据中心的一台服务器上 219

12.3.2 保证写操作被复制到大多数非隐藏节点 220

12.3.3 创建其他保证规则 221

12.4 将读请求发送到从节点 221

12.4.1 一致性考虑 222

12.4.2 负载考虑 222

12.4.3 由从节点读取数据的场景 223

第 13 章 管理 224

13.1 以单机模式启动成员 224

13.2 副本集配置 225

13.2.1 创建副本集 225

13.2.2 更改副本集成员 225

13.2.3 创建比较大的副本集 226

13.2.4 强制重新配置 226

13.3 控制成员状态 227

13.3.1 把主节点变为从节点 227

13.3.2 阻止选举 227

13.4 监控复制 228

13.4.1 获取状态 228

13.4.2 可视化复制图谱 231

13.4.3 复制循环 232

13.4.4 禁用复制链 232

13.4.5 计算延迟 233

13.4.6 调整oplog大小 234

13.4.7 创建索引 234

13.4.8 在预算有限的情况下进行复制 235

第四部分 分片

第 14 章 分片简介 239

14.1 什么是分片 239

14.2 理解集群组件 240

14.3 在单机集群上进行分片 241

第 15 章 配置分片 250

15.1 何时分片 250

15.2 启动服务器 251

15.2.1 配置服务器 251

15.2.2 mongos进程 252

15.2.3 将副本集转换为分片 252

15.2.4 增加集群容量 256

15.2.5 数据分片 256

15.3 MongoDB如何追踪集群数据 256

15.3.1 块范围 257

15.3.2 拆分块 259

15.4 均衡器 261

15.5 排序规则 261

15.6 变更流 261

第 16 章 选择片键 263

16.1 评估使用情况 263

16.2 描绘分发情况 264

16.2.1 升序片键 264

16.2.2 随机分发的片键 266

16.2.3 基于位置的片键 267

16.3 片键策略 268

16.3.1 哈希片键 268

16.3.2 GridFS的哈希片键 270

16.3.3 消防水管策略 270

16.3.4 多热点 271

16.4 片键规则和指导方针 273

16.4.1 片键的限制 273

16.4.2 片键的基数 273

16.5 控制数据分发 273

16.5.1 对多个数据库和集合使用一个集群 273

16.5.2 手动分片 275

第 17 章 分片管理 276

17.1 查看当前状态 276

17.1.1 使用sh.status()查看摘要信息 276

17.1.2 查看配置信息 278

17.2 跟踪网络连接 283

17.2.1 获取连接统计 284

17.2.2 限制连接数量 289

17.3 服务器管理 290

17.3.1 添加服务器 291

17.3.2 修改分片中的服务器 291

17.3.3 删除分片 291

17.4 数据均衡 294

17.4.1 均衡器 294

17.4.2 修改块的大小 295

17.4.3 移动块 296

17.4.4 超大块 298

17.4.5 刷新配置 300

第五部分 应用程序管理

第 18 章 了解应用程序的动态 303

18.1 查看当前操作 303

18.1.1 寻找有问题的操作 306

18.1.2 终止操作 306

18.1.3 假象 307

18.1.4 防止幻象操作 307

18.2 使用系统分析器 307

18.3 计算大小 310

18.3.1 文档 310

18.3.2 集合 311

18.3.3 数据库 315

18.4 使用mongotop和mongostat 316

第 19 章 MongoDB安全介绍 318

19.1 MongoDB的身份验证和授权 318

19.1.1 身份验证机制 318

19.1.2 授权 319

19.1.3 使用x.509证书对成员和客户端进行身份验证 320

19.2 MongoDB的认证和传输层加密教程 323

19.2.1 建立CA 323

19.2.2 生成并签名成员证书 327

19.2.3 生成并签名客户端证书 328

19.2.4 在不启用身份验证和授权的情况下启动副本集 328

19.2.5 创建admin用户 329

19.2.6 启用身份验证和授权并重新启动副本集 330

第 20 章 持久性 332

20.1 使用日志机制的成员级别持久性 332

20.2 使用写关注的集群级别持久性 333

20.2.1 writeConcern的w和wtimeout选项 334

20.2.2 writeConcern的j(日志)选项 334

20.3 使用读关注的集群级别持久性 335

20.4 使用写关注的事务持久性 335

20.5 MongoDB不能保证什么 336

20.6 检查数据损坏 336

第六部分 服务器端管理

第 21 章 在生产环境中设置MongoDB 341

21.1 从命令行启动 341

21.2 停止MongoDB 345

21.3 安全性 346

21.3.1 数据加密 347

21.3.2 SSL连接 347

21.4 日志 348

第 22 章 监控MongoDB 349

22.1 监控内存使用情况 349

22.1.1 计算机内存简介 349

22.1.2 跟踪内存使用情况 350

22.1.3 跟踪缺页错误 351

22.1.4 I/O 等待 352

22.2 计算工作集的大小 352

22.3 跟踪性能情况 354

22.4 跟踪剩余空间 355

22.5 监控复制情况 356

第 23 章 备份 359

23.1 备份方法 359

23.2 对服务器进行备份 360

23.2.1 文件系统快照 360

23.2.2 复制数据文件 363

23.2.3 使用mongodump 364

23.3 副本集的特殊注意事项 366

23.4 分片集群的特殊注意事项 366

23.4.1 备份和恢复整个集群 367

23.4.2 备份和恢复单个分片 367

第 24 章 部署MongoDB 368

24.1 系统设计 368

24.1.1 选择存储介质 368

24.1.2 推荐的RAID配置 369

24.1.3 CPU 370

24.1.4 操作系统 370

24.1.5 交换空间 370

21.1.6 文件系统 371

24.2 虚拟化 371

24.2.1 内存过度分配 371

24.2.2 神秘的内存 371

24.2.3 处理网络磁盘的I/O 问题 372

24.2.4 使用非网络磁盘 373

24.3 配置系统设置 373

24.3.1 关闭NUMA 373

24.3.2 设置预读 375

24.3.3 禁用透明大内存页(THP) 375

24.3.4 选择磁盘调度算法 376

24.3.5 禁用访问时间跟踪 376

24.3.6 修改限制 377

24.4 网络配置 378

24.5 系统管理 379

24.5.1 时钟同步 379

24.5.2 OOM killer 379

24.5.3 关闭定期任务 379

附录A 安装MongoDB 380

附录B 深入MongoDB 384

短评

权威指南第三版基于mongo db4版本,比较新,想要学习nosql非常值得一看,目前应该是学习MongoDB必看的一本书

巴登巴登巴登巴登不得不巴登巴登不得不巴登巴登不得不巴登巴登巴登巴登都不巴登巴登

标签

NoSQL,MongoDB,2021,计算机,IT

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: