最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構

唐卓章 著

  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-1
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-2
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-3
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-4
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-5
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-6
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-7
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-8
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-9
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-10
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-11
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-12
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-13
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-14
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-15
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-16
  • 最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-17
最成熟文件資料庫:MongoDB 實作整合最佳化微服務架構-preview-1

買這商品的人也買了...

商品描述

和SQL一樣簡單的NoSQL,從汎汎小工程師昇華到資料庫宗師的一大步!

MongoDB是當今業界使用最廣泛的文件資料庫之一,本書特別結合實踐案例,再以開發管理者的角度對MongoDB技術進行系統地整理,想要從SQL跳槽的讀者,這本書是市面上難得的最佳範例手冊。

本書內容概要
第1 部分:MongoDB 入門(第1 ~ 6 章)
該部分介紹MongoDB 的基本概念及入門知識。透過該部分的學習,讀者可對MongoDB 自身的技術全貌形成一定的認識。

第2 部分:MongoDB 微服務開發(第7 ~ 10 章)
該部分介紹微服務的基本概念及微服務架構中應用MongoDB 的相關技術實現。透過該部分的學習,讀者將能深入了解基於Java 微服務技術堆疊開發MongoDB 應用的實踐方法。

第3 部分:MongoDB 進階(第11 ~ 15 章)
該部分介紹MongoDB 更加進階的一些使用技巧。透過該部分的學習,讀者可掌握MongoDB 在性能最佳化方面的一些最佳實踐及指導方案。

第4 部分:MongoDB 架構管理(第16 ~ 18 章)
該部分介紹MongoDB 在架構管理方面的一些經驗。透過該部分的學習,讀者可獲得MongoDB 在架構可靠性、安全方面的指導及如何在專案中進行資料庫問題防治的一些想法。

適合讀者群
本書適合希望了解、使用MongoDB 資料庫的技術從業者。
對有一定基礎的研發人員,透過閱讀本書可以更深入地了解MongoDB在性能最佳化、叢集技術方面的一些原理。
對初學者,可以根據書中的一些案例快速開發基於 MongoDB 的微服務應用。
對系統架構師,可以透過本書了解 MongoDB 的一些進階特性及原理,並獲得在技術選型、架構管理方面的指導資訊。

作者簡介

唐卓章(博客園ID:美碼師)

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

目錄大綱

第1 部分 MongoDB 入門

01 什麼是MongoDB
1.1 認識MongoDB
1.2 類比SQL 模型

02 體驗MongoDB
2.1 安裝MongoDB
2.2 使用mongo shell 
2.3 插入文件
2.4 查詢文件 
2.5 更新文件 
2.6 刪除文件
2.7 使用聚合
2.8 計算文件大小 
2.9 小技巧—定義mongo shell 環境

03 資料模型
3.1 BSON 協定與類型 
3.2 使用日期
3.3 ObjectId 生成器
3.4 陣列、內嵌 
3.5 固定集合 
3.6 小技巧—使用固定集合實現FIFO 佇列

04 索引介紹
4.1 索引簡述 
4.2 單鍵、複合索引 
4.3 陣列索引 
4.4 地理空間索引 
4.5 唯一性約束 
4.6 TTL 索引 
4.7 其他索引特性
4.8 小技巧—使用explain 命令驗證最佳化 

05 複本集
5.1 複本集架構
5.2 叢集選舉 
5.3 即時複製 
5.4 自動容錯移轉 
5.5 架設複本集 
5.6 小技巧—檢查複製的延遲情況 

06 分片
6.1 分片叢集架構
6.2 分片策略 
6.3 讀寫分發模式 
6.4 資料均衡
6.5 使用mtools 架設叢集 
6.6 使用分片叢集
6.7 小技巧—使用標籤

第2 部分 MongoDB 微服務開發

07 微服務入門
7.1 微服務定義 
7.2 微服務基礎設施
7.3 CAP 與BASE 理論 
7.4 為什麼MongoDB 適合微服務 

08 使用Java 操作MongoDB
8.1 架設Java 開發環境
8.2 安裝Robo 3T
8.3 使用MongoDB Java Driver 
8.4 實例:文章列表的儲存與檢索 
8.5 非同步驅動 
8.6 使用CommandListener檢測慢操作
8.7 MongoDB Java Driver 的工作原理 
8.8 小技巧—如何監視驅動的連接數

09 SpringBoot 框架整合
9.1 SpringBoot 簡介 
9.2 第一個SpringBoot 專案
9.3 Spring Data 框架介紹 
9.4 使用Spring Data MongoDB操作資料庫
9.5 進階操作 
9.6 自訂設定 
9.7 實現單元測試
9.8 多資料來源 
9.9 使用稽核功能 
9.10 小技巧—自訂資料序列化方式 

10 專案實戰
10.1 初始化專案 
10.2 實現資源抓取 
10.3 發佈RssFeed 
10.4 統計功能 
10.5 開發門戶介面 
10.6 打包應用程式 

第3 部分 MongoDB 高效進階

11 性能基準
11.1 性能基準 
11.2 WiredTiger 讀寫模型
11.3 性能監控工具 
11.4 使用YCSB 測試MongoDB性能 
11.5 使用 nmon 監視伺服器性能

12 合理使用索引
12.1 索引檢索原理 
12.2 索引檢索範例 
12.3 覆蓋索引 
12.4 查詢計畫 
12.5 實戰:查詢案例分析
12.6 查詢快取原理 
12.7 強制命中
12.8 索引正交 
12.9 使用MongoDB Compass 
12.10 最佳化原則 

13 併發最佳化
13.1 MongoDB 的鎖模式
13.2 MVCC
13.3 原子性操作 
13.4 樂觀鎖
13.5 緩解行鎖競爭
13.6 避免重複資料 
13.7 那些影響併發的操作

14 應用設計最佳化
14.1 應用範式設計 
14.2 巢狀結構設計 
14.3 桶模式 
14.4 巨量資料分頁 
14.5 批次操作 
14.6 讀寫分離與一致性
14.7 聚合範例 

15 進階特性
15.1 Change Stream 介紹 
15.2 Change Stream 案例:資料移轉 
15.3 多文件交易
15.4 基於Spring 開發交易 
15.5 交易實現原理 
15.6 寫入衝突模式 
15.7 使用交易的限制 

第4 部分MongoDB 架構管理

16 安全管理
16.1 MongoDB 如何身份驗證
16.2 角色管理 
16.3 最小許可權原則 
16.4 安全最佳實踐 

17 高可用性
17.1 節點部署最佳化
17.2 叢集高可用性
17.3 應用層高可用性 
17.4 備份可用性
17.5 災難恢復可用性

18 治理經驗
18.1 強化約束 
18.2 使用Mongobee 實現升級 
18.3 規範與自動化
18.4 運行維護管理