本文件說明了將 MongoDB 工作負載提升並轉移至 Azure DocumentDB 的各種選項。
移轉可以透過兩種方式來完成:
離線移轉:以快照集為基礎且從來源大量複製到目標。 於快照集之後在來源上新增/更新/刪除的新資料不會複製到目標。 所需的應用程式停機時間取決於大量複製活動完成所需的時間。
線上移轉:除了離線移轉中完成的大量資料複製活動之外,變更串流會監視所有的新增/更新/刪除作業。 當大量資料複製完成後,變更資料流中的資料會被複製到目標。 此過程確保在移轉過程中所做的所有更新都會轉移至目標。 所需的應用程式停機時間最少。
預先移轉評量
使用 Azure DocumentDB 遷移擴充功能 來進行相容性評估。 此階段的目的是要識別目前的 MongoDB 解決方案中存在的任何不相容或警告。 您應先解決評估結果中發現的問題,再繼續進行移轉程序。
小提示
我們建議您詳細檢視 支援的 MongoDB 查詢語言(MQL)功能與語法 ,並在實際遷移前進行概念驗證。
Migration
本文所討論的工具可協助您從下列來源移轉 MongoDB 工作負載:
- MongoDB 虛擬機
- MongoDB Atlas
- AWS 文件資料庫
Azure DocumentDB 遷移擴充套件
在 Visual Studio Code 中建立並管理您的遷移工作,使用 Azure DocumentDB 遷移擴充功能(公開預覽版) ——此解決方案設計為 簡潔、 安全且 零停機。
此工具提供清晰且逐步的指引,幫助您在不中斷服務的情況下遷移工作負載。 您可以:
- 選擇特定資料庫與典藏 進行遷移
- 在熟悉的 VS Code 介面中執行所有步驟
- 確保整個過程中安全的連線
- 使用擴充功能享有零費用
透過 Azure DocumentDB 遷移擴充,您可以在維持控制與安全性的同時,簡化遷移流程——且無需額外基礎設施或複雜度。
線上 Web 應用程式
使用 MongoMigrationwebBasedUtility 簡化您遷移至 Azure DocumentDB 的流程,這個工具設計注重效率、可靠性與易用性。 資料庫提供詳細的逐步指示,以移轉您的工作負載。 此工具提供在線和離線資料遷移的順暢體驗。 此程式是使用者易記的,只需要提供來源和目標詳細數據。 它讓你能輕鬆遷移 MongoDB 集合,同時維持控制權、安全性與可擴展性,釋放 Azure DocumentDB 的全部潛力。
主要功能包括:
- 支援虛擬網路內的私人部署,以提高安全性
- 當發生連線遺失或暫時性錯誤時,具備自動恢復的功能。
- 用戶易記介面
- 存取 GitHub 上的 C# 原始程式碼
此工具支持彈性的部署選項,且獨立運作,而不需要相依於其他 Azure 資源。 此外,它透過可自定義的 Azure Web 應用程式定價方案,提供可調整的效能。
原生 MongoDB 工具 (離線)
你也可以使用原生的 MongoDB 工具,如 mongodump/mongorestore、 mongoexport/mongoimport ,將資料集離線遷移(無需即時複製)到 Azure DocumentDB 服務。
| Scenario | MongoDB 原生工具 |
|---|---|
| 移動資料庫資料的子集 (以 JSON/CSV 為基礎) | mongoexport/mongoimport |
| 移動整個資料庫 (以 BSON 為基礎) | mongodump/mongorestore |
-
mongoexport/mongoimport 是一組最適合用來移轉 MongoDB 資料庫子集的移轉工具。
- mongoexport 會將您現有的資料匯出至人們可讀取的 JSON 或 CSV 檔案。 mongoexport 會採用引數,以指定要匯出的現有資料子集。
- mongoimport 會開啟一個 JSON 或 CSV 檔案,並將內容插入目標資料庫實例(此處為 Azure DocumentDB)。
- JSON 和 CSV 並不是精簡的格式;當 Mongoimport 將資料傳送到 Azure DocumentDB 時,你可能會產生多餘的網路費用。
-
mongodump/mongorestore 是一組最適合用來移轉整個 MongoDB 資料庫的移轉工具。 精簡的 BSON 格式能更有效率地利用網路資源,因為資料會插入 Azure DocumentDB。
- mongodump 會將您現有的資料匯出為 BSON 檔案。
- mongorestore 會將您的 BSON 檔案傾印匯入 Azure DocumentDB。
備註
MongoDB 原生工具只能在主機硬體允許的速度上限內移動資料。
相關內容
- 使用 原生 MongoDB 工具將資料遷移到 Azure DocumentDB。
- 使用 MongoMigrationwebBasedUtility 將資料遷移到 Azure DocumentDB.