試閱
主題活動
5/28前 愛讀日|圖書滿$888折$88前往選購
主題活動
5/28前 愛讀日|圖書滿$1,200折$120前往選購
主題活動
5/28前 愛讀日|全站滿$2,500折$250前往選購

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

者:
期:
2021/10/20
9
880792
和SQL一樣簡單的NoSQL,從汎汎小工程師昇華到資料庫宗師的一大步!

內容簡介

和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 的一些進階特性及原理,並獲得在技術選型、架構管理方面的指導資訊。

產品目錄

第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 運行維護管理

作者介紹

唐卓章

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



十年研發老兵,持續關注NoSQL分散式資料庫技術,在系統高可用、彈性擴展、性能調優等方面有著豐富的實踐及管理經驗。

MongoDB中文社區核心成員之一。

常活躍于Mongoing社區原創及問答板塊。

華為雲 MongoDB 技術專家。

致力於萬物互聯事業,負責物聯網平臺系統的架設及研發工作。

規格

誠品貨碼 / 2682079809005
ISBN13 / 9789860776409
ISBN10 / 9860776407
EAN貨碼 / 9789860776409
頁數 / 592
注音版 / 否
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 23X17X3CM
級別 / N:無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送