共用方式為


哪些選項可將資料從 MongoDB 移轉至以虛擬核心為基礎的 Azure Cosmos DB for MongoDB?

本文件說明將 MongoDB 工作負載隨即轉移至以虛擬核心為基礎的 Azure Cosmos DB for MongoDB 供應項目的各種選項。

移轉可以透過兩種方式來完成:

  • 離線移轉:以快照集為基礎且從來源大量複製到目標。 於快照集之後在來源上新增/更新/刪除的新資料不會複製到目標。 所需的應用程式停機時間取決於大量複製活動完成所需的時間。

  • 線上移轉:除了離線移轉中完成的大量資料複製活動之外,變更串流會監視所有的新增/更新/刪除作業。 大量資料複製完成之後,變更串流中的資料會複製到目標,以確保移轉流程期間所做的所有更新也一併傳送至目標。 所需的應用程式停機時間最少。

Azure Data Studio (線上)

適用於 Azure Data Studio 的 MongoDB 移轉延伸模組是將 MongoDB 工作負載移轉至以虛擬核心為基礎的 Azure Cosmos DB for MongoDB 的慣用工具。

移轉程序有兩個階段:

  • 預先移轉評估 - 評估您目前的 MongoDB 資料資產,以確認是否有任何不相容之處。
  • 移轉 - 使用 Azure 管理的服務進行的移轉作業。

預先移轉評估

評量涉及釐清您是否使用支援的功能和語法。 此階段的目的是要識別目前的 MongoDB 解決方案中存在的任何不相容或警告。 您應先解決評估結果中發現的問題,再繼續進行移轉程序。

提示

建議您詳細檢閱支援的功能和語法,並在實際移轉之前先執行概念證明。

遷移

使用圖形化使用者介面,由始至終管理整個移轉程序。 移轉會在 Azure Data Studio 中啟動,但在 Azure 受控資源的雲端中執行。

原生 MongoDB 工具 (離線)

您可以使用 mongodump/mongorestoremongoexport/mongoimport 等原生 MongoDB 工具,將資料集離線移轉 (而不複寫即時變更) 至以虛擬核心為基礎的 Azure Cosmos DB for MongoDB 供應項目。

案例 MongoDB 原生工具
移動資料庫資料的子集 (以 JSON/CSV 為基礎) mongoexport/mongoimport
移動整個資料庫 (以 BSON 為基礎) mongodump/mongorestore
  • mongoexport/mongoimport 是一組最適合用來移轉 MongoDB 資料庫子集的移轉工具。
    • mongoexport 會將您現有的資料匯出至人們可讀取的 JSON 或 CSV 檔案。 mongoexport 會採用引數,以指定要匯出的現有資料子集。
    • mongoimport 會開啟 JSON 或 CSV 檔案,並將內容插入目標資料庫執行個體中 (在此案例中是以虛擬核心為基礎的 Azure Cosmos DB for MongoDB)。
    • JSON 和 CSV 並非壓縮格式;當 mongoimport 將資料傳送至以虛擬核心為基礎的 Azure Cosmos DB for MongoDB 時,可能會產生額外的網路費用。
  • mongodump/mongorestore 是一組最適合用來移轉整個 MongoDB 資料庫的移轉工具。 將資料插入以虛擬核心為基礎的 Azure Cosmos DB for MongoDB 時,壓縮 BSON 格式可讓網路資源的使用更有效率。
    • mongodump 會將您現有的資料匯出為 BSON 檔案。
    • mongorestore 會將您的 BSON 檔案傾印匯入以虛擬核心為基礎的 Azure Cosmos DB for MongoDB 中。

注意

MongoDB 原生工具只能在主機硬體允許的速度上限內移動資料。

使用 Azure Databricks 進行資料移轉 (離線/線上)

使用 Azure Databricks 進行移轉,可提供對移轉速率和資料轉換的完整控制。 此方法也可支援 TB 級大小的大型資料集。 Spark 移轉公用程式會在 Databricks 中以作業的形式運作。

此工具支援下列 MongoDB 來源:

  • MongoDB VM
  • MongoDB Atlas
  • AWS DocumentDB
  • Azure Cosmos DB MongoDB RU (僅限離線)

註冊 Azure Cosmos DB for MongoDB Spark 移轉,以取得 Spark 移轉工具 GitHub 存放庫的存取權。 存放庫提供將工作負載從各種 Mongo 來源移轉至 V 核心型 Azure Cosmos DB for MongoDB 的詳細逐步指示。