• MongoDB进阶与实战:微服务整合、性能优化、架构管理
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

MongoDB进阶与实战:微服务整合、性能优化、架构管理

39.13 3.3折 118 九五品

仅1件

河北廊坊
认证卖家担保交易快速发货售后保障

作者唐卓章

出版社电子工业出版社

出版时间2021-04

版次1

装帧其他

货号A16

上书时间2024-10-30

   商品详情   

品相描述:九五品
图书标准信息
  • 作者 唐卓章
  • 出版社 电子工业出版社
  • 出版时间 2021-04
  • 版次 1
  • ISBN 9787121408274
  • 定价 118.00元
  • 装帧 其他
  • 开本 其他
  • 纸张 胶版纸
  • 页数 508页
  • 字数 819.2千字
【内容简介】
本书围绕如何用好MongoDB这个复杂命题,利用大部分篇幅讲述了MongoDB在应用开发方面的各种进阶技巧,同时也介绍了MongoDB 4.0版本的事务特性及微服务相关的技术范例。很多基本的数据库问题都可以从MongoDB的官方文档中找到答案,但官方文档中在MongoDB周边技术栈的整合、系统管理及调优方面仍然缺乏一些富有针对性的内容,所以本书在结合一些实践案例的前提下,以开发管理者的角度对MongoDB技术进行了系统地梳理,希望能够让读者的学习达到事半功倍的效果。相信本书会对应用MongoDB的开发人员具有广泛的指导意义。
【作者简介】
唐卓章(博客园ID:美码师)。十年研发老兵,持续关注NoSQL分布式数据库技术,在系统高可用、弹性扩展、性能调优等方面有着丰富的实践及管理经验。MongoDB中文社区核心成员之一。常活跃于Mongoing社区原创及问答板块。华为云 MongoDB 技术专家。致力于万物互联事业,负责物联网平台系统的架设及研发工作。
【目录】
第1部分  MongoDB入门

第1章  什么是MongoDB1

1.1  认识MongoDB1

1.1.1  面向文档设计1

1.1.2  特性3

1.1.3  优势4

1.1.4  需要克服的困难6

1.2  类比SQL模型7

1.2.1  数据结构7

1.2.2  类SQL语句8

第2章  体验MongoDB11

2.1  安装MongoDB11

2.1.1  Linux环境下的安装11

2.1.2  Windows环境下的安装15

2.2  使用mongo shell19

2.3  插入文档22

2.4  查询文档24

2.4.1  查询全部数据24

2.4.2  指定条件查询25

2.4.3  排序、分页25

2.4.4  使用投射25

2.4.5  查询限定符26

2.5  更新文档27

2.5.1  update 命令27

2.5.2  findAndModify命令29

2.5.3  更新操作符30

2.6  删除文档31

2.6.1  删除单个文档31

2.6.2  删除指定条件文档31

2.6.3  删除全部文档32

2.6.4  返回被删除文档32

2.7  使用聚合33

2.8  计算文档大小34

2.8.1  查看集合大小34

2.8.2  计算文档大小35

2.9  小技巧——定义mongo shell环境36

第3章  数据模型37

3.1  BSON协议与类型37

3.1.1  JSON 标准37

3.1.2  BSON和JSON38

3.1.3  BSON的数据类型39

3.2  使用日期40

3.3  ObjectId生成器41

3.4  数组、内嵌44

3.4.1  内嵌文档45

3.4.2  数组45

3.4.3  嵌套型的数组47

3.5  固定集合48

3.5.1  固定集合简介48

3.5.2  使用示例49

3.5.3  特征与限制51

3.5.4  适用场景52

3.6  小技巧——使用固定集合实现FIFO

队列52

第4章  索引介绍56

4.1  索引简述56

4.2  单键、复合索引57

4.2.1  单字段索引57

4.2.2  复合索引58

4.3  数组索引58

4.4  地理空间索引59

4.5  唯一性约束60

4.6  TTL索引63

4.7  其他索引特性64

4.7.1  条件索引64

4.7.2  稀疏索引(sparse=true)65

4.7.3  文本索引66

4.7.4  模糊索引66

4.8  小技巧——使用explain命令验证

优化67

第5章  副本集72

5.1  副本集架构72

5.2  集群选举73

5.2.1  Raft选举算法73

5.2.2  MongoDB 实现的扩展77

5.2.3  MongoDB选举介绍77

5.2.4  副本集模式79

5.3  实时复制81

5.3.1  oplog复制81

5.3.2  幂等性84

5.3.3  复制延迟84

5.3.4  初始化同步85

5.3.5  数据回滚86

5.4  自动故障转移86

5.5  搭建副本集89

5.5.1  安装副本集89

5.5.2  创建用户92

5.5.3  写入数据92

5.5.4  主备节点切换93

5.6  小技巧——检查复制的延迟情况93

第6章  分片97

6.1  分片集群架构97

6.1.1  分片简介97

6.1.2  分片集群架构97

6.2  分片策略98

6.2.1  什么是chunk99

6.2.2  分片算法100

6.2.3  分片键的选择101

6.3  读写分发模式101

6.3.1  数据分发流程101

6.3.2  避免广播操作103

6.3.3  保证索引唯一性104

6.4  数据均衡104

6.4.1  均衡的方式104

6.4.2  chunk 分裂105

6.4.3  自动均衡106

6.4.4  数据均衡带来的问题108

6.5  使用mtools搭建集群108

6.5.1  mtools 介绍109

6.5.2  准备工作109

6.5.3  安装 mtools109

6.5.4  创建分片集群110

6.5.5  停止、启动112

6.6  使用分片集群112

6.7  小技巧——使用标签114

6.7.1  分片标签114

6.7.2  使用场景115

第2部分  MongoDB微服务开发

第7章  微服务入门117

7.1  微服务定义117

7.1.1  什么是微服务117

7.1.2  理解微服务117

7.1.3  微服务的通用特性120

7.1.4  微服务不是“银弹”121

7.2  微服务基础设施121

7.2.1  服务注册121

7.2.2  服务发现122

7.2.3  API网关123

7.2.4  服务容错123

7.2.5  服务监控124

7.2.6  配置中心124

7.2.7  接口调用124

7.2.8  容器化125

7.3  CAP与BASE理论125

7.3.1  CAP 理论125

7.3.2  BASE 理论126

7.4  为什么MongoDB适合微服务127

第8章  使用Java操作MongoDB131

8.1  搭建Java开发环境131

8.1.1  安装JDK131

8.1.2  安装IDEA132

8.2  安装Robo 3T134

8.2.1  Robo 3T介绍134

8.2.2  下载安装134

8.2.3  连接数据库135

8.2.4  操作数据136

8.3  使用MongoDB Java Driver137

8.3.1  引入框架137

8.3.2  连接数据库137

8.3.3  使用构建器138

8.4  实例:文章列表的存储与检索141

8.4.1  集合操作141

8.4.2  文档操作143

8.5  异步驱动146

8.5.1  理解响应式146

8.5.2  使用响应式流147

8.6  使用CommandListener检测慢

操作152

8.7  MongoDB Java Driver的工作原理155

8.7.1  游标155

8.7.2  连接池158

8.7.3  故障转移160

8.7.4  连接池相关参数161

8.8  小技巧——如何监视驱动的

连接数161

第9章  SpringBoot框架整合165

9.1  SpringBoot简介165

9.1.1  SpringBoot是什么165

9.1.2  “脚手架”风格167

9.2  第一个SpringBoot项目168

9.2.1  初始化项目168

9.2.2  添加启动类172

9.2.3  编写 Echo 接口172

9.2.4  配置文件173

9.2.5  启动程序174

9.2.6  热加载175

9.3  Spring Data框架介绍176

9.3.1  Spring Data176

9.3.2  Spring Data MongoDB178

9.4  使用Spring Data MongoDB操作

数据库179

9.4.1  引入依赖179

9.4.2  配置文件180

9.4.3  数据模型180

9.4.4  数据操作181

9.4.5  启动测试183

9.5  高级操作184

9.5.1  实现投射184

9.5.2  使用 QBE186

9.5.3  自定义 Repository 方法187

9.6  自定义配置190

9.6.1  Spring Boot 通用配置190

9.6.2  JavaConfig 配置191

9.6.3  自动配置的原理192

9.7  实现单元测试194

9.7.1  使用 flapdoodle.embed.mongo194

9.7.2  原理解析198

9.7.3  定制化集成200

9.8  多数据源203

9.9  使用审计功能208

9.9.1  使用注解208

9.9.2  实现审计209

9.10  小技巧——自定义数据序列化

方式210

第10章  项目实战215

10.1  初始化项目215

10.2  实现资源抓取219

10.3  发布RssFeed229

10.4  统计功能232

10.5  开发门户界面235

10.5.1  前端组件235

10.5.2  RSS门户应用237

10.5.3  实现后台接口249

10.6  打包应用程序252

10.6.1  使用spring-boot-maven-

plugin插件252

10.6.2  使用 assembly 插件253

第3部分  MongoDB高效进阶

第11章  性能基准257

11.1  性能基准257

11.1.1  了解基准测试257

11.1.2  吞吐量、并发数、响应

时间258

11.2  WiredTiger读写模型259

11.2.1  读缓存259

11.2.2  写缓冲260

11.2.3  缓存页管理262

11.2.4  数据压缩264

11.2.5  小结265

11.3  性能监控工具265

11.3.1  mongostat265

11.3.2  mongotop267

11.3.3  Profiler模块269

11.3.4  db.currentOp272

11.4  使用YCSB测试MongoDB性能277

11.4.1  YCSB 简介277

11.4.2  执行压力测试279

11.4.3  生成时序指标序列284

11.5  使用 nmon监视服务器性能285

第12章  合理使用索引288

12.1  索引检索原理288

12.2  索引检索范例291

12.3  覆盖索引295

12.4  查询计划298

12.4.1  查询计划构成298

12.4.2  explain 命令299

12.5  实战:查询案例分析304

12.6  查询缓存原理322

12.6.1  工作流程322

12.6.2  案例323

12.6.3  内部原理326

12.7  强制命中328

12.7.1  使用 hint方法328

12.7.2  使用IndexFilter方法329

12.8  索引正交331

12.9  使用MongoDB Compass332

12.10  优化原则333

第13章  并发优化337

13.1  MongoDB的锁模式337

13.2  MVCC340

13.3  原子性操作342

13.4  乐观锁345

13.4.1  电影院订座的案例345

13.4.2  版本号模式348

13.5  缓解行锁竞争349

13.6  避免重复数据353

13.7  那些影响并发的操作356

第14章  应用设计调优358

14.1  应用范式设计358

14.1.1  什么是范式358

14.1.2  反范式设计360

14.2  嵌套设计362

14.2.1  在文档内使用嵌套362

14.2.2  表达关联363

14.3  桶模式365

14.3.1  桶模式365

14.3.2  桶模式案例366

14.4  海量数据分页374

14.4.1  传统分页模式375

14.4.2  使用偏移量376

14.4.3  折中处理380

14.5  批操作381

14.5.1  批量读381

14.5.2  批量写383

14.6  读写分离与一致性385

14.6.1  读写分离385

14.6.2  读写关注387

14.6.3  读自身的写入(Read your 

own writes)390

14.6.4  因果一致性391

14.6.5  小结392

14.7  聚合范例392

14.7.1  聚合框架介绍392

14.7.2  找出重复数据393

14.7.3  写入中间表393

14.7.4  表连接(join)397

14.7.5  使用要点401

第15章  高级特性402

15.1  Change Stream介绍402

15.2  Change Stream案例:数据迁移408

15.2.1  关键点409

15.2.2  实战:使用 Change Stream

实现增量迁移410

1
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP