MongoDB核心原理与实践
全新正版 极速发货
¥
58.57
5.6折
¥
105
全新
库存2件
作者郭远威
出版社电子工业出版社
ISBN9787121430008
出版时间2022-03
装帧平装
开本16开
定价105元
货号1202615426
上书时间2024-06-29
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
郭远威,资深大数据架构师,阿里云云计算ACP专家、MongoDB中文社区联席主席&专栏作者,热爱开源技术,对新技术保持高度关注。具有多年与数据相关产品研发经验,曾带领团队开发云存储平台、内存数据库等产品;为Vodafone、中国移动、Afrimax等海内外三十多个各级电信运营商的IT系统提供过咨询、规划、交付服务。著有《大数据存储:MongoDB实战指南》一书。
目录
目录
第1篇 MongoDB基础知识
第1章 初识MongoDB2
1.1 MongoDB的发展与现状2
1.2 MongoDB与Hadoop比较5
1.3 关键特性8
1.4 安装部署10
1.4.1 在Windows中安装MongoDB11
1.4.2 在Linux中安装MongoDB11
1.4.3 在Docker中安装MongoDB13
1.5 几个重要的可执行文件16
1.6 适合的业务19
1.6.1 高并发Web应用19
1.6.2 实时计算类的应用20
1.6.3 数据中台20
1.6.4 游戏类应用21
1.6.5 日志分析类系统22
1.6.6 AI应用场景22
1.7 小结24
第2章 CRUD操作25
2.1 查询操作25
2.1.1 查询条件27
2.1.2 比较操作符28
2.1.3 逻辑操作符30
2.1.4 字段名匹配31
2.1.5 文本查询32
2.1.6 正则表达式34
2.1.7 嵌套文档查询34
2.1.8 数组查询35
2.1.9 地理位置查询38
2.1.10 查询投射与排序40
2.2 插入操作41
2.2.1 insertOne41
2.2.2 insertMany42
2.2.3 insert44
2.3 修改操作45
2.3.1 updateOne45
2.3.2 updateMany48
2.3.3 replaceOne52
2.3.4 update53
2.4 删除操作55
2.4.1 deleteOne55
2.4.2 deleteMany55
2.5 批量写操作56
2.6 小结58
第3章 索引59
3.1 索引原理59
3.2 创建索引61
3.3 单个字段的索引61
3.4 多字段的复合索引63
3.5 数组的多键索引65
3.6 查询计划分析66
3.7 索引覆盖查询70
3.8 全文索引71
3.9 地理位置索引72
3.10 Hash索引73
3.11 删除索引73
3.12 TTL索引74
3.13 小结76
第4章 聚集操作77
4.1 单个集合中的基础聚集函数77
4.1.1 count()函数77
4.1.2 estimatedDocumentCount()函数79
4.1.3 countDocuments()函数80
4.1.4 distinct()函数80
4.2 管道聚集框架82
4.2.1 $group分组84
4.2.2 $addFields添加新字段85
4.2.3 $lookup关联查询86
4.2.4 $project投射88
4.2.5 $out将结果输出到新集合88
4.2.6 MongoDB聚集操作语句与SQL语句的比较89
4.3 MapReduce编程89
4.4 小结92
第2篇 深入理解MongoDB
第5章 WiredTiger存储引擎94
5.1 存储引擎的数据结构95
5.1.1 典型的B-Tree数据结构95
5.1.2 磁盘中的基础数据结构96
5.1.3 内存中的基础数据结构97
5.1.4 page的其他数据结构99
5.2 page eviction页面淘汰100
5.3 page reconcile将数据写入磁盘101
5.4 Cache的分配规则102
5.5 page的生命周期、状态、大小103
5.5.1 page的生命周期104
5.5.2 page的各种状态105
5.5.3 page的大小参数105
5.6 checkpoint的原理107
5.6.1 checkpoint包含的关键信息108
5.6.2 checkpoint执行流程与触发时机109
5.7 wt工具和磁盘中的元数据文件111
5.7.1 wt工具111
5.7.2 元数据相关文件112
5.8 事务115
5.8.1 事务的基本原理115
5.8.2 与事务相关的数据结构118
5.8.3 事务的snapshot隔离119
5.8.4 MVCC并发控制机制120
5.8.5 事务日志(Journal)122
5.9 一个完整的写操作流程123
5.10 小结124
第6章 复制集125
6.1 复制集功能概述125
6.2 复制集部署架构126
6.2.1 典型的3节点复制集部署架构126
6.2.2 多数据中心复制集部署架构128
6.3 完整部署一个复制集129
6.3.1 创建每个节点上存储数据的目录129
6.3.2 创建每个节点的日志文件130
6.3.3 创建每个节点启动时的配置文件130
6.3.4 启动每个节点上的mongod实例131
6.3.5 初始化复制集131
6.3.6 将其他节点添加到复制集132
6.3.7 观察复制集的运行状态132
6.4 复制集的维护137
6.4.1 删除节点137
6.4.2 添加Secondary节点138
6.4.3 添加Arbiter节点140
6.4.4 复制集的配置信息140
6.4.5 重新配置复制集143
6.4.6 故障转移Failover分析145
6.5 复制集选举Primary节点的机制149
6.5.1 复制集中的投票节点和非投票节点149
6.5.2 选举触发条件和选举为Primary节点的因素150
6.5.3 复制集能正常完成选举的条件152
6.6 基于Oplog的数据同步机制154
6.6.1 Oplog集合包含的内容分析155
6.6.2 Oplog的默认大小及性能影响156
6.6.3 Oplog集合大小的修改158
6.6.4 使用initial sync解决Oplog严重落后的问题159
6.7 写关注(writeConcern)模式162
6.7.1 默认的“写关注”场景162
6.7.2 配置写关注162
6.8 读参考(readPreference)模式165
6.8.1 读参考常见的应用场景166
6.8.2 读参考的几种模式分析167
6.8.3 设置tags标签使读请求指向特定节点168
6.8.4 如何从多个匹配的节点中选择一个目标169
6.9 读关注(readConcern)模式171
6.9.1 Primary节点切换可能导致数据回滚171
6.9.2 设置读关注避免读到的数据被回滚172
6.10 Change Streams实现数据实时同步176
6.10.1 实现原理176
6.10.2 实时数据流的格式177
6.10.3 打开实时数据流178
6.10.4 控制实时数据流的输出179
6.11 小结181
第7章 分片集群182
7.1 分片集群的部署架构182
7.2 手动部署一个分片集群184
7.2.1 分片shard1配置184
7.2.2 分片shard2配置186
7.2.3 config服务器配置187
7.2.4 mongos路由配置188
7.2.5 启动分片集群189
7.2.6 配置集合使其分片192
7.2.7 正确关闭和重启集群194
7.3 片键及选择策略195
7.3.1 片键选择策略197
7.3.2 基于Hash分片200
7.3.3 基于范围的分片203
7.4 chunk204
7.4.1 chunk的分割204
7.4.2 chunk大小的修改209
7.5 Balancer210
7.5.1 一个完整的chunk迁移过程212
7.5.2 Balancer的管理214
7.5.3 存储元数据的config数据库217
7.6 小结220
第8章 分布式文件存储GridFS221
8.1 什么是GridFS222
8.2 使用GridFS的场景226
8.3 GridFS常用操作227
8.3.1 上传文件228
8.3.2 下载文件229
8.3.3 删除文件230
8.3.4 查询文件230
8.4 小结231
第3篇 MongoDB运维管理
第9章 管理与监控234
9.1 数据导入/导出234
9.1.1 导出工具mongoexport235
9.1.2 导入工具mongoimport237
9.2 数据备份/恢复240
9.2.1 备份工具mongodump241
9.2.2 恢复工具mongorestore243
9.3 命令行工具监控管理245
9.3.1 mongotop246
9.3.2 mongostat247
9.3.3 db.stats()249
9.3.4 db.serverStatus()251
9.4 可视化数据库操作256
9.4.1 Compass工具的安装与连接256
9.4.2 可视化性能监控257
9.4.3 可视化数据库操作258
9.4.4 可视化聚集操作262
9.4.5 内嵌mongoshell开发环境263
9.5 小结264
第10章 权限控制265
10.1 基于角色与权限控制原理265
10.2 启动角色权限控制功能267
10.3 MongoDB默认提供的角色271
10.3.1 针对特定数据库中的读/写角色271
10.3.2 针对特定数据库中的管理角色272
10.3.3 针对所有数据库中的角色272
10.3.4 超级用户角色273
10.4 用户管理274
10.4.1 查看数据库中的用户274
10.4.2 创建新用户275
10.4.3 修改用户的角色276
10.4.4 删除用户276
10.5 角色管理277
10.5.1 查看数据库中的角色278
10.5.2 查看角色对应的权限信息278
10.5.3 创建一个自定义角色280
10.5.4 验证自定义角色的权限282
10.5.5 删除自定义的角色283
10.6 小结283
第4篇 MongoDB应用实践
第11章 MongoDB应用开发286
11.1 基于Python的开发286
11.1.1 单实例中的CRUD操作287
11.1.2 复制集中的操作290
11.1.3 分片集群中的操作291
11.1.4 GridFS分布式文件操作292
11.2 基于.net core的开发294
11.2.1 CRUD操作296
11.2.2 GridFS分布式文件操作298
11.3 基于Java和Spring Boot框架的开发301
11.3.1 开发框架介绍301
11.3.2 CRUD操作304
11.4 小结306
第12章 基于MongoDB的数据中台案例308
12.1 现代企业数据架构及痛点308
12.2 什么是数据中台309
12.3 数据中台的价值312
12.4 数据中台的技术模块313
12.5 基于MongoDB的数据中台方案320
12.6 数据中台方案选型327
12.7 小结328
第13章 百万级高并发集群性能提高案例329
13.1 背景329
13.2 软件优化330
13.2.1 业务层面优化330
13.2.2 MongoDB线程模型优化331
13.2.3 WiredTiger存储引擎优化333
13.3 解决服务器系统磁盘I/O问题342
13.3.1 服务器I/O硬件问题背景342
13.3.2 服务器I/O硬件问题解决后性能对比343
13.4 主节点硬件升级后续优化346
13.4.1 readConcern配置优化346
13.4.2 替换从节点服务器为升级后的高I/O服务器350
13.4.3 结论351
13.4.4 继续优化调整存储引起参数352
13.5 小结353
第14章 基于MongoDB的金融系统案例355
14.1 项目背景355
14.2 面临的主要挑战355
14.3 技术选型356
14.4 方案介绍356
14.5 技术创新358
14.6 技术359
14.7 运营情况360
14.8 项目成效360
14.9 小结361
第15章 云原生MongoDB部署案例363
15.1 部署环境准备363
15.2 Docker安装364
15.3 Kubernetes组件安装365
15.4 集群Master节点初始化366
15.5 将Work节点添加到集群369
15.6 分布式网络文件系统安装369
15.7 PV、PVC、Deployment配置372
15.8 小结374
第16章 常见问题分析375
16.1 集合与关系型数据库表的区别375
16.2 是否支持事务376
16.3 锁的类型及粒度有哪些377
16.4 服务器的内存多大合适378
16.5 如何解决join查询需求379
16.6 创建索引对性能的影响380
16.7 GridFS适合什么应用场景381
16.8 Journaling、Oplog、Log三种日志的区别382
16.9 连接数设置为多少合适383
16.10 集合被分片后是否可以修改片键387
16.11 为什么分片集合中的文档记录没有分布到所有分片上387
16.12 通过mongos连接集群时连接数分析387
16.13 复制集节点之间是否可以使用不同的存储引擎388
内容摘要
本书主要包括MongoDB安装部署、增删改查、索引、聚集框架等基础知识;WiredTiger存储引擎、事务、复制集、分片集群等高阶知识;MongoDB的导入导出、备份恢复、性能监控、权限控制等运维管理知识;MongoDB的驱动、应用开发、来自中文社区的精选案例与问答等一线实践知识等。本书在满足现实中的数据库管理及应用需求的基础上,重点突出WiredTiger存储引擎和实践案例的讲解。
主编推荐
"适读人群:系统开发人员,数据库运维人员,大数据架构师、分析师和方案规划人员,以及数据库理论研究人员等
知识点新:基于MongoDB 4.2 版本
理论剖析:系统且全面介绍存储引擎,使读者能知其然并其其所以然。
案例丰富:大量的实例,实践性强,可直接用于实际业务场景。"
— 没有更多了 —
以下为对购买帮助不大的评价