中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
MongoDB進階與實戰:微服務整合、性能優化、架構管理

包郵 MongoDB進階與實戰:微服務整合、性能優化、架構管理

作者:唐卓章著
出版社:電子工業出版社出版時間:2021-04-01
開本: 24cm 頁數: 13,494頁
中 圖 價:¥88.5(7.5折) 定價  ¥118.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

MongoDB進階與實戰:微服務整合、性能優化、架構管理 版權信息

MongoDB進階與實戰:微服務整合、性能優化、架構管理 本書特色

適讀人群 :本書適合希望了解、使用MongoDB數據庫的技術從業者。 對有一定基礎的研發人員,通過閱讀本書可以更深入地了解MongoDB在性能調優、集群技術方面的一些原理。 對初學者,可以根據書中的一些案例快速開發基于 MongoDB 的微服務應用。 對系統架構師,可以通過本書了解 MongoDB 的一些進階特性及原理,并獲得在技術選型、架構管理方面的指導信息。MongoDB數據庫技術的掌握:包括基本的文檔模型概念和數據操作,以及集群高可用、數據分片方面的知識。 MongoDB整合微服務的技能:需要對微服務周邊的技術框架有一定的掌握。本書以當前流行的 Java 微服務技術棧為背景,介紹了從MongoDB Java Driver、Spring Data Mongo(ODM層)到上層應用整合的各種實戰范例。 MongoDB高階技巧的掌握:包括MongoDB系統性能調優及MongoDB 架構高可用、安全性、高效運維管理方面的一些知識和經驗。

MongoDB進階與實戰:微服務整合、性能優化、架構管理 內容簡介

本書圍繞如何用好MongoDB這個復雜命題, 利用大部分篇幅講述了MongoDB在應用開發方面的各種進階技巧, 同時對MongoDB 4.0版本的事務特性, 以及微服務相關的技術范例也進行了介紹。很多基本的數據庫問題都可以從MongoDB官方文檔中找到答案, 但官方文檔中在MongoDB周邊技術棧的整合、系統管理及調優方面仍然缺乏一些富有針對性的內容, 所以本書在結合一些實踐案例的前提下, 以開發管理者的角度對MongoDB技術進行了系統性的梳理, 希望能夠讓讀者的學習達到事半功倍的效果。

MongoDB進階與實戰:微服務整合、性能優化、架構管理 目錄

第1部分 MongoDB入門
第1章 什么是MongoDB 1
1.1 認識MongoDB 1
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章 體驗MongoDB 11
2.1 安裝MongoDB 11
2.1.1 Linux環境下的安裝 11
2.1.2 Windows環境下的安裝 15
2.2 使用mongo shell 19
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和JSON 38
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 什么是chunk 99
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 安裝 mtools 109
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操作MongoDB 131
8.1 搭建Java開發環境 131
8.1.1 安裝JDK 131
8.1.2 安裝IDEA 132
8.2 安裝Robo 3T 134
8.2.1 Robo 3T介紹 134
8.2.2 下載安裝 134
8.2.3 連接數據庫 135
8.2.4 操作數據 136
8.3 使用MongoDB Java Driver 137
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 Data 176
9.3.2 Spring Data MongoDB 178
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 使用 QBE 186
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.mongo 194
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 發布RssFeed 229
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 mongostat 265
11.3.2 mongotop 267
11.3.3 Profiler模塊 269
11.3.4 db.currentOp 272
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 Compass 332
12.10 優化原則 333
第13章 并發優化 337
13.1 MongoDB的鎖模式 337
13.2 MVCC 340
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
15.2.3 小結 420
15.3 多文檔事務 421
15.3.1 事務簡介 421
15.3.2 MongoDB 中的事務 422
15.4 基于Spring開發事務 426
15.4.1 在驅動中實現事務 426
15.4.2 使用 Spring Data 實現事務 428
15.5 事務實現原理 432
15.5.1 MVCC 與快照的一致性 432
15.5.2 事務持久性 434
15.5.3 讀寫隔離設定 435
15.6 寫沖突模式 437
15.7 使用事務的限制 440
第4部分 MongoDB架構管理
第16章 安全管理 441
16.1 MongoDB如何鑒權 441
16.1.1 初體驗 441
16.1.2 理解身份認證與授權 443
16.1.3 身份認證方式 443
16.1.4 RBAC 訪問控制 446
16.2 角色管理 447
16.2.1 角色管理命令 447
16.2.2 系統內置角色 448
16.2.3 創建自定義角色 449
16.3 *小權限原則 450
16.4 安全*佳實踐 452
第17章 高可靠 457
17.1 節點部署優化 457
17.1.1 硬件規劃 457
17.1.2 系統調優 458
17.1.3 數據庫配置 460
17.2 集群高可靠 461
17.2.1 反親和部署 462
17.2.2 避免集中存儲 462
17.2.3 警惕資源超分 463
17.3 應用層高可靠 463
17.3.1 故障隔離 463
17.3.2 故障轉移/恢復 465
17.4 備份可靠性 466
17.4.1 邏輯備份 466
17.4.2 物理備份 468
17.4.3 增量備份 469
17.5 容災可靠性 470
17.5.1 同城災備 471
17.5.2 異地災備 472
17.5.3 異地多活 473
第18章 治理經驗 476
18.1 強化約束 476
18.1.1 使用 JSON Schema 476
18.1.2 管理文檔結構 478
18.2 使用Mongobee實現升級 478
18.2.1 模式演進 478
18.2.2 Mongobee 介紹 479
18.2.3 范例 480
18.3 規范與自動化 484
18.3.1 開發規范 485
18.3.2 實現自動化 486
18.4 運維管理 487
18.4.1 容量規劃 487
18.4.2 監控時關注哪些指標 490

展開全部

MongoDB進階與實戰:微服務整合、性能優化、架構管理 作者簡介

唐卓章(博客園ID:美碼師)。十年研發老兵,持續關注NoSQL分布式數據庫技術,在系統高可用、彈性擴展、性能調優等方面有著豐富的實踐及管理經驗。MongoDB中文社區核心成員之一。常活躍于Mongoing社區原創及問答板塊。華為云 MongoDB 技術專家。致力于萬物互聯事業,負責物聯網平臺系統的架設及研發工作。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 上海新光明泵业制造有限公司-电动隔膜泵,气动隔膜泵,卧式|立式离心泵厂家 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 欧景装饰设计工程有限公司-无锡欧景装饰官网 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 家庭教育吧-在线家庭教育平台,专注青少年家庭教育 | crm客户关系管理系统,销售管理系统,crm系统,在线crm,移动crm系统 - 爱客crm | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 二氧化碳/活性炭投加系统,次氯酸钠发生器,紫外线消毒设备|广州新奥 | 管家婆-管家婆软件-管家婆辉煌-管家婆进销存-管家婆工贸ERP | 碳刷_刷握_集电环_恒压簧_电刷厂家-上海丹臻机电科技有限公司 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 |