感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程時長 48 時間:
課程簡介
模組 1:簡介與 MongoDB 架構 (4小時)
內容:
- MongoDB 歷史及生態系統
- 典型應用場景、優勢與劣勢
- 一般架構:執行個體、程序及配置
實作:
- 互動式探索:使用 Mongo Shell/CLI 進行連接
- 建立範例資料庫及集合
模組 2:安裝與初始配置 (6小時)
內容:
- 硬體及資源需求
- 在 Linux (deb/rpm)、Windows 及 macOS 上的安裝
- YAML 配置文件 (mongod.conf):dataDir、logDir、bindIp、port
- 啟動選項及 systemd/service 管理
實作:
- 在本地虛擬機器或 Docker 容器中部署執行個體
- 調整開發環境與生產環境的配置
- 驗證安全的遠端連接
模組 3:數據建模與基本操作 (5小時)
內容:
- BSON 文件、集合、資料庫
- 建模:嵌入 (Embedding) 與引用 (Referencing);數據設計模式
- 基本索引(前期介紹)
- 使用 Mongo Shell 的操作及驅動程式腳本示例
實作:
- 建模應用案例:庫存或計費系統
- 實作 CRUD 操作
- 在 MongoDB 中使用 JSON Schema 進行模式驗證
模組 4:索引與效能 (4小時)
內容:
- 簡單、複合、多鍵、文字及地理空間索引
- 使用 explain() 及分析指標
- 索引對寫入效能及記憶體的影響
實作:
- 建立包含測試數據的集合
- 測試有無索引的查詢;解讀 explain()
- 根據存取模式調整索引
模組 5:安全性 (5小時)
內容:
- 身份驗證機制:SCRAM、LDAP/Kerberos(簡介)
- 定義使用者及自訂角色
- 客戶端與伺服器之間的 TLS/SSL
- 靜態數據加密:金鑰配置
- 基本審計日誌
實作:
- 建立具備最小權限的使用者
- 在本地執行個體中配置 TLS
- 驗證未授權存取並檢視審計日誌
模組 6:複寫與高可用性 (6小時)
內容:
- 複寫概念:Primary、Secondary、oplog
- 複寫集配置:初始化、成員管理、仲裁
- 監控狀態及選舉
- 維護:新增/移除成員、重新分配優先級
實作:
- 部署三節點複寫集(本地或虛擬機器)
- 模擬 Primary 節點故障並觀察故障轉移
- 重建 Secondary 節點並恢復複寫
模組 7:分片與水平擴展 (6小時)
內容:
- 分片概念:分片金鑰 (Shard Key)、配置伺服器 (Config Servers)、mongos 路由器
- 分片金鑰選擇及相關風險
- 部署配置伺服器、分片及 mongos
- 重新平衡及區塊 (Chunk) 遷移
實作:
- 配置簡單的分散式叢集
- 插入大規模數據並觀察分佈情況
- 引入分片金鑰變更並理解其限制
模組 8:備份、恢復與災難恢復 (4小時)
內容:
- 原生工具:mongodump/mongorestore、檔案系統快照
- 複寫集及分散式叢集的備份
- Cloud Manager/Ops Manager 備份的基本使用
- 災難恢復 (DR) 規劃:RTO、RPO
實作:
- 對測試資料庫執行備份及恢復
- 模擬故障並從備份中恢復
- 為假設案例設計 DR 計劃
模組 9:監控與警報 (4小時)
內容:
- 工具:mongostat、mongotop、Cloud Manager/Atlas 監控
- 與 Prometheus + Grafana 的整合(概念及示例)
- 關鍵指標:CPU、記憶體、I/O、oplog 大小、延遲
- 警報:定義閾值及通知
實作:
- 部署本地或基於容器的監控代理
- 使用樣本指標建立基本儀表板
- 模擬負載並觀察警報
模組 10:維護、升級與最佳實踐 (4小時)
內容:
- 複寫集及分散式叢集的升級策略
- 數據清理、壓縮、完整性檢查
- 檢視日誌及定期審計
- 自動化常規任務(腳本、cronjobs、Ansible、Terraform)
- 數據保留及歸檔策略
實作:
- 在受控環境中模擬次要及主要版本升級
- 建立備份及監控的自動化腳本
- 制定定期維護清單
總結與後續步驟
最低要求
- 了解一般資料庫概念及數據結構
- 熟悉 Linux 命令列操作
- 具備網路及系統管理的基本知識
目標受眾
- 使用 MongoDB 的資料庫管理員及系統工程師
- 負責部署及維護 MongoDB 環境的 DevOps 及基礎架構團隊
- 對 MongoDB 內部機制及部署最佳實踐感興趣的開發人員
客戶評論 (2)
講解和說話的節奏。
Marko Skokovic - PWO by Lottomatica Serbia
課程 - MongoDB for Administrators
機器翻譯
Jose先生非常棒,他詳細解釋了每一個命令的細節。我們非常感謝他花時間與我們分享他的知識,這充分表明他是這個領域的專家。
Almer Laureta - Asialink Finance Corporation
課程 - MongoDB for Developers
機器翻譯