聯繫我們

課程簡介

模組1:MongoDB簡介與架構(4小時)

內容:

  • MongoDB的歷史和生態系統
  • 典型使用案例、優點和缺點
  • 一般架構:實例、程序和配置

實踐:

  • 互動式探索:使用Mongo Shell/CLI連接
  • 建立範例資料庫和集合

模組2:安裝與初始配置(6小時)

內容:

  • 硬體和資源需求
  • 在Linux(deb/rpm)、Windows和macOS上安裝
  • YAML配置文件(mongod.conf):dataDir、logDir、bindIp、port
  • 啟動選項和systemd/服務管理

實踐:

  • 在本地虛擬機或Docker容器中部署實例
  • 調整開發與生產環境的配置
  • 驗證安全遠端連線

模組3:資料建模與基本操作(5小時)

內容:

  • BSON文件、集合、資料庫
  • 建模:嵌入與引用;資料設計模式
  • 基本索引(先前介紹)
  • 使用Mongo Shell和驅動程式腳本範例進行操作

實踐:

  • 建模使用案例:庫存或計費系統
  • 實作CRUD操作
  • 使用MongoDB中的JSON Schema進行結構驗證

模組4:索引與效能(4小時)

內容:

  • 簡單、複合、多鍵、文字和地理空間索引
  • 使用explain()和分析指標
  • 索引對寫入效能和記憶體的影響

實踐:

  • 建立包含測試資料的集合
  • 測試有無索引的查詢;解讀explain()
  • 根據存取模式調整索引

模組5:安全性(5小時)

內容:

  • 驗證機制:SCRAM、LDAP/Kerberos(簡介)
  • 定義使用者和自訂角色
  • 客戶端和伺服器之間的TLS/SSL
  • 靜態加密:金鑰配置
  • 基本稽核日誌

實踐:

  • 建立具有最小權限的使用者
  • 在本地實例中配置TLS
  • 驗證未授權存取並檢視稽核日誌

模組6:複製與高可用性(6小時)

內容:

  • 複製概念:主節點、輔助節點、oplog
  • 副本集配置:初始化、成員資格、仲裁
  • 監控狀態和選舉
  • 維護:新增/移除成員、重新分配優先權

實踐:

  • 部署三節點副本集(本地或虛擬機)
  • 模擬主節點故障並觀察故障轉移
  • 重建輔助節點並恢復副本

模組7:分片與水平擴展(6小時)

內容:

  • 分片概念:分片鍵、配置伺服器、mongos路由器
  • 分片鍵選擇及其相關風險
  • 部署配置伺服器、分片和mongos
  • 重新平衡和區塊遷移

實踐:

  • 配置簡單的分片叢集
  • 插入大量資料並觀察分佈
  • 引入分片鍵變更並了解限制

模組8:備份、恢復與災難恢復(4小時)

內容:

  • 原生工具:mongodump/mongorestore、檔案系統快照
  • 副本集和分片叢集中的備份
  • Cloud Manager/Ops Manager備份的基本使用
  • 災難恢復(DR)規劃:RTO、RPO

實踐:

  • 在測試資料庫上執行備份和恢復
  • 模擬故障並從備份恢復
  • 為假設案例設計災難恢復計畫

模組9:監控與警報(4小時)

內容:

  • 工具:mongostat、mongotop、Cloud Manager/Atlas監控
  • 與Prometheus + Grafana整合(概念和範例)
  • 關鍵指標:CPU、記憶體、I/O、oplog大小、延遲
  • 警報:定義閾值和通知

實踐:

  • 部署本地或容器化監控代理
  • 使用範例指標設定基本儀表板
  • 模擬負載並觀察警報

模組10:維護、升級與最佳實踐(4小時)

內容:

  • 副本集和分片叢集的升級策略
  • 資料清理、壓縮、完整性檢查
  • 檢視日誌和定期稽核
  • 自動化日常任務(腳本、cronjobs、Ansible、Terraform)
  • 資料保留和歸檔政策

實踐:

  • 在受控環境中模擬次要和主要升級
  • 建立備份和監控的自動化腳本
  • 制定定期維護檢查清單

總結與後續步驟

最低要求

  • 了解一般資料庫概念和資料結構
  • 熟悉Linux命令列使用
  • 具備網路和系統管理的基本知識

目標學員

  • 負責MongoDB的資料庫管理員和系統工程師
  • 部署和維護MongoDB環境的DevOps和基礎架構團隊
  • 對MongoDB內部機制和部署最佳實踐感興趣的開發人員
 48 小時

人數


每位參與者的報價

客戶評論 (2)

即將到來的課程

課程分類