全部產品
Search
文件中心

ApsaraDB for MongoDB:遷移MongoDB執行個體至其他地區

更新時間:Jun 20, 2024

本文介紹如何使用Data Transmission Service,實現全量資料移轉和增量資料移轉MongoDB複本集執行個體至其他地區,全量資料移轉MongoDB單節點執行個體至其他地區。

前提條件

  • 源執行個體類型為單節點執行個體、複本集執行個體或分區叢集執行個體。

    說明

    使用DTS遷移單節點執行個體時,不支援增量資料移轉,詳情請參見遷移類型說明

  • 已經為源執行個體申請了公網串連地址,申請方法請參見(可選)申請公網串連地址

  • 已在目標地區中建立了目標執行個體,詳情請參見建立執行個體

    說明

    建議目標執行個體的儲存空間比源執行個體的已使用儲存空間大10%。

背景資訊

在某些業務情境下,可能需要更換MongoDB執行個體的地區,例如:

  • 業務結構調整。

  • 在ECS執行個體上部署了相關應用程式,需要使用MongoDB執行個體提供資料庫服務,但是ECS執行個體與MongoDB執行個體不在同一地區。

本文以MongoDB執行個體從華北1(青島)遷移至華東1(杭州)為例,介紹具體的操作流程。

遷移MongoDB執行個體至其他地區

說明

該操作僅遷移源執行個體的資料,源執行個體在遷移完成後如不再需要可執行釋放操作。

注意事項

  • DTS在執行全量資料移轉時將佔用源庫和目標庫一定的資源,可能會導致資料庫伺服器負載上升。如果資料庫業務量較大或伺服器規格較低,可能會加重資料庫壓力,甚至導致資料庫服務不可用。建議您在執行資料移轉前謹慎評估,在業務低峰期執行資料移轉。

  • 單節點執行個體不支援使用DTS執行增量資料移轉,為保障資料一致性,全量資料移轉期間請勿在源執行個體中寫入新的資料。

  • MongoDB執行個體支援的版本與儲存引擎請參見版本及儲存引擎,如需跨版本或跨引擎遷移,請提前確認相容性。

  • MongoDB為保證提供更出色的效能和穩定性,建立的MongoDB執行個體為最新的資料庫小版本。

  • 由於DTS寫入資料的邏輯為並發寫入,所以會導致目標端佔用的儲存空間比源端大5%~10%。

  • 請確保目標端MongoDB沒有與源端相同的主鍵(預設為_id),否則會導致資料丟失。若目標端有與源端相同的主鍵,請在不影響業務的前提條件下清空目標端的相關資料(刪掉目標端中與源端相同_id的文檔)。

費用說明

遷移類型鏈路配置費用公網流量費用
全量資料移轉不收費。僅當通過公網將資料移轉出阿里雲時收費,詳情請參見DTS產品定價
增量資料移轉收費,詳情請參見DTS產品定價

遷移類型說明

遷移類型說明
全量資料移轉將源MongoDB資料庫遷移對象的存量資料全部遷移到目標MongoDB資料庫中。
說明 支援遷移database、collection和index。
增量資料移轉在全量遷移的基礎上,將源MongoDB資料庫的累加式更新資料同步到目標MongoDB資料庫中。
說明
  • 支援database、collection和index的建立和刪除操作的同步。
  • 支援document的新增、刪除和更新操作的同步。

資料庫帳號的許可權要求

遷移資料來源

全量資料移轉

增量資料移轉

源MongoDB執行個體

待遷移庫的read許可權

待遷移庫、admin庫和local庫的read許可權

目標MongoDB執行個體

目標庫的readWrite許可權

目標庫的readWrite許可權

說明

資料庫帳號建立及授權方法請參見使用DMS管理MongoDB資料庫使用者

操作步驟

完成遷移後,將業務切換至目標MongoDB執行個體。

後續操作

根據業務需求確認是否需要釋放源執行個體。

  • 源執行個體付費類型為隨用隨付時,請參見釋放執行個體
  • 源執行個體付費類型為訂用帳戶時,不支援釋放。