聯繫我們

課程簡介

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

內容:

  • MongoDB歷史與生態系
  • 典型用例、優點與缺點
  • 通用架構:實例、程序與配置

實作:

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

模組2:安裝與初始設定 (6小時)

內容:

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

實作:

  • 在本地VM或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
  • 複本集配置:啟動、成員資格、仲裁
  • 監控狀態與選舉
  • 維護:新增/移除成員、重新分配優先級

實作:

  • 部署三節點複本集(本地或VM)
  • 模擬主節點故障並觀察切換過程
  • 重建從節點並還原複本

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

內容:

  • 分片概念:分片金鑰、配置伺服器、mongos路由器
  • 分片金鑰選擇及其相關風險
  • 部署配置伺服器、分片及mongos
  • 平衡負載與區塊遷移

實作:

  • 配置簡單的分片叢集
  • 插入大量資料並觀察分布情況
  • 引入分片金鑰變更並了解限制條件

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

內容:

  • 原生工具:mongodump/mongorestore、檔案系統快照
  • 複本集與分片叢集中的備份策略
  • Cloud Manager/Ops Manager備份的基本使用
  • 災難復原規劃:RTO, RPO

實作:

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

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

內容:

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

實作:

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

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

內容:

  • 複本集與分片叢集的升級策略
  • 資料清理、壓縮、完整性檢查
  • 檢視日誌並進行定期審計
  • 自動化常規任務(腳本、cronjobs、Ansible、Terraform)
  • 資料保留與存檔政策

實作:

  • 在受控環境中模擬微幅與重大升級
  • 建立用於備份與監控的自動化腳本
  • 開發定期維護檢查清單

總結與下一步

最低要求

  • 理解資料庫基本概念與資料結構
  • 熟悉Linux指令列操作
  • 具備網路與系統管理的基本知識

受眾對象

  • 使用MongoDB的資料庫管理員與系統工程師
  • 負責部署與維護MongoDB環境的DevOps與基礎設施團隊
  • 對MongoDB內部運作與部署最佳實務感興趣的開發人員
 48 小時

人數


每位參與者的報價

客戶評論 (2)

即將到來的課程

課程分類