日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

同步時源庫為MongoDB的注意事項及限制

如果同步的源數(shù)據(jù)庫類型為MongoDB,如自建MongoDB、云數(shù)據(jù)庫MongoDB,您需要在配置具體的同步任務(wù)前,參考本文的注意事項及限制,以保障數(shù)據(jù)同步任務(wù)的正常運(yùn)行。

源庫為MongoDB的同步方案概覽

根據(jù)如下同步方案,查看同步任務(wù)的注意事項及限制:

MongoDB(副本集架構(gòu))同步至MongoDB(副本集架構(gòu)、分片集群架構(gòu))

如果同步的目標(biāo)數(shù)據(jù)庫類型為MongoDB,如自建MongoDB、云數(shù)據(jù)庫MongoDB,具體注意事項及限制如下:

類型

說明

源庫限制

  • 帶寬要求:源庫所屬的服務(wù)器需具備足夠的出口帶寬,否則將影響數(shù)據(jù)同步速率。

  • 待同步的集合需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導(dǎo)致目標(biāo)數(shù)據(jù)庫中出現(xiàn)重復(fù)數(shù)據(jù)。

  • 如同步對象為集合級別,且需進(jìn)行編輯(如集合的名稱映射),則單次同步任務(wù)僅支持同步至多1000張集合。當(dāng)超出數(shù)量限制,任務(wù)提交后會顯示請求報錯,此時建議您拆分待同步的集合,分批配置多個任務(wù),或者配置整庫的同步任務(wù)。

  • 源庫待同步的單條數(shù)據(jù)不能超過16 MB,否則會導(dǎo)致任務(wù)失敗。

  • 源庫不支持Azure Cosmos DB for MongoDB和彈性集群的Amazon DocumentDB。

  • 源庫需開啟Oplog日志,并確保Oplog日志至少保留7天以上;或者開啟變更流(Change Streams),并確保DTS能夠通過Change Streams訂閱到源庫最近7天內(nèi)的數(shù)據(jù)變更。否則可能會因無法獲取源庫的數(shù)據(jù)變更而導(dǎo)致任務(wù)失敗,極端情況下甚至可能會導(dǎo)致數(shù)據(jù)不一致或丟失。由此導(dǎo)致的問題,不在DTS的SLA保障范圍內(nèi)。

    重要
    • 建議通過Oplog日志獲取源庫的數(shù)據(jù)變更。

    • 僅4.0及以上版本的MongoDB支持通過Change Streams獲取數(shù)據(jù)變更,使用Change Streams獲取源庫的數(shù)據(jù)變更不支持雙向同步。

    • 源庫為Amazon DocumentDB(非彈性集群)時,需要手動開啟Change Streams,并在配置任務(wù)時將遷移方式選擇為ChangeStream,將架構(gòu)類型選擇為分片集群架構(gòu)

  • 暫不支持同步包含TTL(Time To Live)索引的集合。若待同步的數(shù)據(jù)庫中包含TTL索引,則可能會導(dǎo)致數(shù)據(jù)不一致。

  • 源庫操作限制:

    • 在結(jié)構(gòu)同步和全量同步階段,請勿執(zhí)行庫或集合的結(jié)構(gòu)變更(包含數(shù)組類型數(shù)據(jù)的更新),否則會導(dǎo)致數(shù)據(jù)同步任務(wù)失敗或源庫與目標(biāo)庫的數(shù)據(jù)不一致。

    • 若僅執(zhí)行全量數(shù)據(jù)同步,請勿向源實例中寫入新的數(shù)據(jù),否則會導(dǎo)致源庫與目標(biāo)庫的數(shù)據(jù)不一致。

其他限制

  • 目標(biāo)端實例為分片集群架構(gòu)時:

    • 需清除孤立文檔,否則將影響同步性能。若在同步過程遇到_id沖突的文檔,則可能導(dǎo)致數(shù)據(jù)不一致或任務(wù)失敗。

    • 在任務(wù)開始前,需要為源端待同步的數(shù)據(jù)添加與目標(biāo)端對應(yīng)的分片鍵。若您無法為源端添加分片鍵,源MongoDB數(shù)據(jù)庫的同步操作,請參見MongoDB(無分片鍵)同步至MongoDB(分片集群架構(gòu))

    • 在任務(wù)開始后,待同步的數(shù)據(jù)在使用INSERT命令時必須包含分片鍵,使用UPDATE命令時不支持更改分片鍵。

  • 建議源和目標(biāo)庫的MongoDB的數(shù)據(jù)庫版本保持一致,或者從低版本同步到高版本以保障兼容性。如為高版本同步至低版本,可能存在數(shù)據(jù)庫兼容性問題。

  • 不支持同步admin和local庫中的數(shù)據(jù)。

  • 若目標(biāo)集合存在唯一索引或目標(biāo)集合的capped屬性為true時,則在增量同步階段該集合不支持并發(fā)回放(只支持單線程寫入),從而可能會導(dǎo)致任務(wù)延遲增高。

  • 不保留事務(wù)信息,即源庫中的事務(wù)同步到目標(biāo)庫時會轉(zhuǎn)變?yōu)閱螚l的記錄。

  • 執(zhí)行數(shù)據(jù)同步前需評估源庫和目標(biāo)庫的性能,同時建議業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)同步。否則全量數(shù)據(jù)初始化時將占用源庫和目標(biāo)庫一定的讀寫資源,可能會導(dǎo)致數(shù)據(jù)庫的負(fù)載上升。

  • 全量初始化會并發(fā)執(zhí)行INSERT操作,導(dǎo)致目標(biāo)數(shù)據(jù)庫的集合產(chǎn)生碎片,因此全量初始化完成后目標(biāo)實例的集合空間比源實例的集合空間大。

  • 在DTS同步期間,不允許有除DTS外的數(shù)據(jù)寫入目標(biāo)庫,否則會導(dǎo)致源庫與目標(biāo)庫數(shù)據(jù)不一致。例如,有除DTS外的數(shù)據(jù)寫入目標(biāo)庫時,使用DMS執(zhí)行在線DDL變更,可能引起目標(biāo)庫數(shù)據(jù)丟失。

  • 由于DTS寫入數(shù)據(jù)的邏輯為并發(fā)寫入,所以會導(dǎo)致目標(biāo)端占用的存儲空間比源端大5%~10%。

  • 目標(biāo)端MongoDB的count數(shù)量需要使用db.$table_name.aggregate([{ $count:"myCount"}])語法查詢。

  • 請確保目標(biāo)端MongoDB沒有與源端相同的主鍵(默認(rèn)為_id),否則會導(dǎo)致數(shù)據(jù)丟失。若目標(biāo)端有與源端相同的主鍵,請在不影響業(yè)務(wù)的前提條件下清空目標(biāo)端的相關(guān)數(shù)據(jù)(刪掉目標(biāo)端中與源端相同_id的文檔)。

  • 若實例運(yùn)行失敗,DTS技術(shù)支持人員將在8小時內(nèi)嘗試恢復(fù)該實例。在恢復(fù)失敗實例的過程中,可能會對該實例進(jìn)行重啟、調(diào)整參數(shù)等操作。

    說明

    在調(diào)整參數(shù)時,僅會修改實例的參數(shù),不會對數(shù)據(jù)庫中的參數(shù)進(jìn)行修改。可能修改的參數(shù),包括但不限于修改實例參數(shù)中的參數(shù)。

特殊情況

當(dāng)源庫為自建MongoDB時:

  • 在同步時,如果源庫進(jìn)行主備切換,將會導(dǎo)致同步任務(wù)失敗。

  • 由于DTS的延遲時間是根據(jù)同步到目標(biāo)庫最后一條數(shù)據(jù)的時間戳和當(dāng)前時間戳對比得出,源庫長時間未執(zhí)行更新操作可能導(dǎo)致延遲信息不準(zhǔn)確。如果任務(wù)顯示的延遲時間過大,您可以在源庫執(zhí)行一個更新操作來更新延遲信息。

說明

如果同步對象選擇為整庫,您還可以創(chuàng)建心跳表,心跳表每秒定期更新或者寫入數(shù)據(jù)。

MongoDB(分片集群架構(gòu))間雙向同步

具體注意事項及限制如下:

類型

說明

源和目標(biāo)庫的限制

  • 帶寬要求:源庫所屬的服務(wù)器需具備足夠的出口帶寬,否則將影響數(shù)據(jù)同步速率。

  • 待同步的集合需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導(dǎo)致目標(biāo)數(shù)據(jù)庫中出現(xiàn)重復(fù)數(shù)據(jù)。

  • 待同步集合中的_id字段需具有唯一性,否則可能會導(dǎo)致數(shù)據(jù)不一致。

  • 如同步對象為集合級別,且需進(jìn)行編輯(如集合的名稱映射),則單次同步任務(wù)僅支持同步至多1000張集合。當(dāng)超出數(shù)量限制,任務(wù)提交后會顯示請求報錯,此時建議您拆分待同步的集合,分批配置多個任務(wù),或者配置整庫的同步任務(wù)。

  • 源庫待同步的單條數(shù)據(jù)不能超過16 MB,否則會導(dǎo)致任務(wù)失敗。

  • 源庫不支持Azure Cosmos DB for MongoDB和彈性集群的Amazon DocumentDB。

  • 源庫需開啟Oplog日志,并確保Oplog日志至少保留7天以上;或者開啟變更流(Change Streams),并確保DTS能夠通過Change Streams訂閱到源庫最近7天內(nèi)的數(shù)據(jù)變更。否則可能會因無法獲取源庫的數(shù)據(jù)變更而導(dǎo)致任務(wù)失敗,極端情況下甚至可能會導(dǎo)致數(shù)據(jù)不一致或丟失。由此導(dǎo)致的問題,不在DTS的SLA保障范圍內(nèi)。

    重要
    • 建議通過Oplog日志獲取源庫的數(shù)據(jù)變更。

    • 僅4.0及以上版本的MongoDB支持通過Change Streams獲取數(shù)據(jù)變更,使用Change Streams獲取源庫的數(shù)據(jù)變更不支持雙向同步。

    • 源庫為Amazon DocumentDB(非彈性集群)時,需要手動開啟Change Streams,并在配置任務(wù)時將遷移方式選擇為ChangeStream,將架構(gòu)類型選擇為分片集群架構(gòu)

  • MongoDB分片集群為源的單向同步不支持源端做分片的擴(kuò)縮容,雙向同步源和目標(biāo)都不支持分片數(shù)量的擴(kuò)縮容,否則會導(dǎo)致DTS任務(wù)失敗。

  • 源MongoDB分片集群實例的Mongos節(jié)點的數(shù)量不能超過10個。

  • 暫不支持同步包含TTL(Time To Live)索引的集合。若待同步的數(shù)據(jù)庫中包含TTL索引,則可能會導(dǎo)致數(shù)據(jù)不一致。

  • 請確保源和目標(biāo)實例中沒有孤立文檔,否則可能會導(dǎo)致數(shù)據(jù)不一致甚至任務(wù)失敗。更多信息,請參見孤立文檔如何清理MongoDB(分片集群架構(gòu))的孤立文檔

  • 源和目標(biāo)庫需為相同架構(gòu)的云數(shù)據(jù)庫MongoDB版,即自建MongoDB或不同架構(gòu)的MongoDB不支持雙向同步。

  • 源庫操作限制:

    • 在結(jié)構(gòu)同步和全量同步階段,請勿執(zhí)行庫或集合的結(jié)構(gòu)變更(包含數(shù)組類型數(shù)據(jù)的更新),否則會導(dǎo)致數(shù)據(jù)同步任務(wù)失敗或源庫與目標(biāo)庫的數(shù)據(jù)不一致。

    • 若僅執(zhí)行全量數(shù)據(jù)同步,請勿向源實例中寫入新的數(shù)據(jù),否則會導(dǎo)致源庫與目標(biāo)庫的數(shù)據(jù)不一致。

  • 若源庫的均衡器Balancer存在均衡數(shù)據(jù)的行為,則可能會導(dǎo)致實例產(chǎn)生延遲。

其他限制

  • 在任務(wù)開始前,需要為源端待同步的數(shù)據(jù)添加與目標(biāo)端對應(yīng)的分片鍵;在任務(wù)開始后,待同步的數(shù)據(jù)在使用INSERT命令時必須包含分片鍵,使用UPDATE命令時不支持更改分片鍵。

  • 建議源和目標(biāo)庫的MongoDB的數(shù)據(jù)庫版本保持一致,或者從低版本同步到高版本以保障兼容性。如為高版本同步至低版本,可能存在數(shù)據(jù)庫兼容性問題。

  • 若目標(biāo)集合存在唯一索引或目標(biāo)集合的capped屬性為true時,則在增量同步階段該集合不支持并發(fā)回放(只支持單線程寫入),從而可能會導(dǎo)致任務(wù)延遲增高。

  • 不支持同步admin和local庫中的數(shù)據(jù)。

  • 不保留事務(wù)信息,即源庫中的事務(wù)同步到目標(biāo)庫時會轉(zhuǎn)變?yōu)閱螚l的記錄。

  • 執(zhí)行數(shù)據(jù)同步前需評估源庫和目標(biāo)庫的性能,同時建議業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)同步。否則全量數(shù)據(jù)初始化時將占用源庫和目標(biāo)庫一定的讀寫資源,可能會導(dǎo)致數(shù)據(jù)庫的負(fù)載上升。

  • 全量初始化會并發(fā)執(zhí)行INSERT操作,導(dǎo)致目標(biāo)數(shù)據(jù)庫的集合產(chǎn)生碎片,因此全量初始化完成后目標(biāo)實例的集合空間比源實例的集合空間大。

  • 在DTS同步期間,不允許有除DTS外的數(shù)據(jù)寫入目標(biāo)庫,否則會導(dǎo)致源庫與目標(biāo)庫數(shù)據(jù)不一致。例如,有除DTS外的數(shù)據(jù)寫入目標(biāo)庫時,使用DMS執(zhí)行在線DDL變更,可能引起目標(biāo)庫數(shù)據(jù)丟失。

  • 雙向同步實例包含正向和反向同步任務(wù),在配置或重置雙向同步實例時,若其中一個任務(wù)的目標(biāo)對象是另一個任務(wù)待同步的對象:

    • 僅允許其中一個任務(wù)同步全量和增量數(shù)據(jù),另一個任務(wù)僅支持同步增量數(shù)據(jù)。

    • 當(dāng)前任務(wù)的源數(shù)據(jù)僅支持同步到當(dāng)前任務(wù)的目標(biāo)端,同步過來的數(shù)據(jù)不會作為另一個任務(wù)的源數(shù)據(jù)繼續(xù)同步。

  • 由于DTS寫入數(shù)據(jù)的邏輯為并發(fā)寫入,所以會導(dǎo)致目標(biāo)端占用的存儲空間比源端大5%~10%。

  • 目標(biāo)端MongoDB的count數(shù)量需要使用db.$table_name.aggregate([{ $count:"myCount"}])語法查詢。

  • 請確保目標(biāo)端MongoDB沒有與源端相同的主鍵(默認(rèn)為_id),否則會導(dǎo)致數(shù)據(jù)丟失。若目標(biāo)端有與源端相同的主鍵,請在不影響業(yè)務(wù)的前提條件下清空目標(biāo)端的相關(guān)數(shù)據(jù)(刪掉目標(biāo)端中與源端相同_id的文檔)。

  • 全量同步期間必須關(guān)閉源MongoDB數(shù)據(jù)庫的均衡器(Balancer),直至每個子任務(wù)都運(yùn)行到增量階段,否則可能會造成數(shù)據(jù)不一致。關(guān)于均衡器的操作,請參見管理MongoDB均衡器Balancer

  • 若您無需使用DTS提供的庫表結(jié)構(gòu)同步功能(例如目標(biāo)端已配置好數(shù)據(jù)分片),在配置任務(wù)對象及高級配置階段中,同步類型請勿勾選庫表結(jié)構(gòu)同步,否則可能會因為分片沖突而導(dǎo)致數(shù)據(jù)不一致或任務(wù)失敗。

  • 若實例運(yùn)行失敗,DTS技術(shù)支持人員將在8小時內(nèi)嘗試恢復(fù)該實例。在恢復(fù)失敗實例的過程中,可能會對該實例進(jìn)行重啟、調(diào)整參數(shù)等操作。

    說明

    在調(diào)整參數(shù)時,僅會修改實例的參數(shù),不會對數(shù)據(jù)庫中的參數(shù)進(jìn)行修改。可能修改的參數(shù),包括但不限于修改實例參數(shù)中的參數(shù)。

MongoDB(分片集群架構(gòu))間單向同步

如果同步的目標(biāo)數(shù)據(jù)庫類型為MongoDB,如自建MongoDB、云數(shù)據(jù)庫MongoDB,具體注意事項及限制如下:

類型

說明

源和目標(biāo)庫的限制

  • 帶寬要求:源庫所屬的服務(wù)器需具備足夠的出口帶寬,否則將影響數(shù)據(jù)同步速率。

  • 待同步的集合需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導(dǎo)致目標(biāo)數(shù)據(jù)庫中出現(xiàn)重復(fù)數(shù)據(jù)。

  • 待同步集合中的_id字段需具有唯一性,否則可能會導(dǎo)致數(shù)據(jù)不一致。

  • 如同步對象為集合級別,且需進(jìn)行編輯(如集合的名稱映射),則單次同步任務(wù)僅支持同步至多1000張集合。當(dāng)超出數(shù)量限制,任務(wù)提交后會顯示請求報錯,此時建議您拆分待同步的集合,分批配置多個任務(wù),或者配置整庫的同步任務(wù)。

  • 源庫待同步的單條數(shù)據(jù)不能超過16 MB,否則會導(dǎo)致任務(wù)失敗。

  • 源庫不支持Azure Cosmos DB for MongoDB和彈性集群的Amazon DocumentDB。

  • 源庫需開啟Oplog日志,并確保Oplog日志至少保留7天以上;或者開啟變更流(Change Streams),并確保DTS能夠通過Change Streams訂閱到源庫最近7天內(nèi)的數(shù)據(jù)變更。否則可能會因無法獲取源庫的數(shù)據(jù)變更而導(dǎo)致任務(wù)失敗,極端情況下甚至可能會導(dǎo)致數(shù)據(jù)不一致或丟失。由此導(dǎo)致的問題,不在DTS的SLA保障范圍內(nèi)。

    重要
    • 建議通過Oplog日志獲取源庫的數(shù)據(jù)變更。

    • 僅4.0及以上版本的MongoDB支持通過Change Streams獲取數(shù)據(jù)變更,使用Change Streams獲取源庫的數(shù)據(jù)變更不支持雙向同步。

    • 源庫為Amazon DocumentDB(非彈性集群)時,需要手動開啟Change Streams,并在配置任務(wù)時將遷移方式選擇為ChangeStream,將架構(gòu)類型選擇為分片集群架構(gòu)

  • 在DTS同步期間,不支持MongoDB分片集群進(jìn)行分片的擴(kuò)縮容,否則會導(dǎo)致DTS任務(wù)失敗。

  • 若源實例為分片集群架構(gòu)的自建MongoDB,則接入方式僅支持專線/VPN網(wǎng)關(guān)/智能網(wǎng)關(guān)云企業(yè)網(wǎng)CEN

  • 源MongoDB分片集群實例的Mongos節(jié)點的數(shù)量不能超過10個。

  • 暫不支持同步包含TTL(Time To Live)索引的集合。若待同步的數(shù)據(jù)庫中包含TTL索引,則可能會導(dǎo)致數(shù)據(jù)不一致。

  • 請確保源和目標(biāo)實例中沒有孤立文檔,否則可能會導(dǎo)致數(shù)據(jù)不一致甚至任務(wù)失敗。更多信息,請參見孤立文檔如何清理MongoDB(分片集群架構(gòu))的孤立文檔

  • 源庫操作限制:

    • 在結(jié)構(gòu)同步和全量同步階段,請勿執(zhí)行庫或集合的結(jié)構(gòu)變更(包含數(shù)組類型數(shù)據(jù)的更新),否則會導(dǎo)致數(shù)據(jù)同步任務(wù)失敗或源庫與目標(biāo)庫的數(shù)據(jù)不一致。

    • 若僅執(zhí)行全量數(shù)據(jù)同步,請勿向源實例中寫入新的數(shù)據(jù),否則會導(dǎo)致源庫與目標(biāo)庫的數(shù)據(jù)不一致。

  • 若源庫的均衡器Balancer存在均衡數(shù)據(jù)的行為,則可能會導(dǎo)致實例產(chǎn)生延遲。

其他限制

  • 在任務(wù)開始前,需要為源端待同步的數(shù)據(jù)添加與目標(biāo)端對應(yīng)的分片鍵;在任務(wù)開始后,待同步的數(shù)據(jù)在使用INSERT命令時必須包含分片鍵,使用UPDATE命令時不支持更改分片鍵。

  • 建議源和目標(biāo)庫的MongoDB的數(shù)據(jù)庫版本保持一致,或者從低版本同步到高版本以保障兼容性。如為高版本同步至低版本,可能存在數(shù)據(jù)庫兼容性問題。

  • 不支持同步admin和local庫中的數(shù)據(jù)。

  • 不保留事務(wù)信息,即源庫中的事務(wù)同步到目標(biāo)庫時會轉(zhuǎn)變?yōu)閱螚l的記錄。

  • 執(zhí)行數(shù)據(jù)同步前需評估源庫和目標(biāo)庫的性能,同時建議業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)同步。否則全量數(shù)據(jù)初始化時將占用源庫和目標(biāo)庫一定的讀寫資源,可能會導(dǎo)致數(shù)據(jù)庫的負(fù)載上升。

  • 全量初始化會并發(fā)執(zhí)行INSERT操作,導(dǎo)致目標(biāo)數(shù)據(jù)庫的集合產(chǎn)生碎片,因此全量初始化完成后目標(biāo)實例的集合空間比源實例的集合空間大。

  • 若目標(biāo)集合存在唯一索引或目標(biāo)集合的capped屬性為true時,則在增量同步階段該集合不支持并發(fā)回放(只支持單線程寫入),從而可能會導(dǎo)致任務(wù)延遲增高。

  • 由于DTS寫入數(shù)據(jù)的邏輯為并發(fā)寫入,所以會導(dǎo)致目標(biāo)端占用的存儲空間比源端大5%~10%。

  • 目標(biāo)端MongoDB的count數(shù)量需要使用db.$table_name.aggregate([{ $count:"myCount"}])語法查詢。

  • 請確保目標(biāo)端MongoDB沒有與源端相同的主鍵(默認(rèn)為_id),否則會導(dǎo)致數(shù)據(jù)丟失。若目標(biāo)端有與源端相同的主鍵,請在不影響業(yè)務(wù)的前提條件下清空目標(biāo)端的相關(guān)數(shù)據(jù)(刪掉目標(biāo)端中與源端相同_id的文檔)。

  • 全量同步期間必須關(guān)閉源MongoDB數(shù)據(jù)庫的均衡器(Balancer),直至每個子任務(wù)都運(yùn)行到增量階段,否則可能會造成數(shù)據(jù)不一致。關(guān)于均衡器的操作,請參見管理MongoDB均衡器Balancer

  • 若您無需使用DTS提供的庫表結(jié)構(gòu)同步功能(例如目標(biāo)端已配置好數(shù)據(jù)分片),在配置任務(wù)對象及高級配置階段中,同步類型請勿勾選庫表結(jié)構(gòu)同步,否則可能會因為分片沖突而導(dǎo)致數(shù)據(jù)不一致或任務(wù)失敗。

  • 若實例運(yùn)行失敗,DTS技術(shù)支持人員將在8小時內(nèi)嘗試恢復(fù)該實例。在恢復(fù)失敗實例的過程中,可能會對該實例進(jìn)行重啟、調(diào)整參數(shù)等操作。

    說明

    在調(diào)整參數(shù)時,僅會修改實例的參數(shù),不會對數(shù)據(jù)庫中的參數(shù)進(jìn)行修改。可能修改的參數(shù),包括但不限于修改實例參數(shù)中的參數(shù)。

MongoDB(副本集架構(gòu))間雙向同步

具體注意事項及限制如下:

類型

說明

源和目標(biāo)庫的限制

  • 帶寬要求:源庫所屬的服務(wù)器需具備足夠的出口帶寬,否則將影響數(shù)據(jù)同步速率。

  • 待同步的集合需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導(dǎo)致目標(biāo)數(shù)據(jù)庫中出現(xiàn)重復(fù)數(shù)據(jù)。

  • 如同步對象為集合級別,且需進(jìn)行編輯(如集合的名稱映射),則單次同步任務(wù)僅支持同步至多1000張集合。當(dāng)超出數(shù)量限制,任務(wù)提交后會顯示請求報錯,此時建議您拆分待同步的集合,分批配置多個任務(wù),或者配置整庫的同步任務(wù)。

  • 源庫待同步的單條數(shù)據(jù)不能超過16 MB,否則會導(dǎo)致任務(wù)失敗。

  • 源庫不支持Azure Cosmos DB for MongoDB和彈性集群的Amazon DocumentDB。

  • 源庫需開啟Oplog日志,并確保Oplog日志至少保留7天以上;或者開啟變更流(Change Streams),并確保DTS能夠通過Change Streams訂閱到源庫最近7天內(nèi)的數(shù)據(jù)變更。否則可能會因無法獲取源庫的數(shù)據(jù)變更而導(dǎo)致任務(wù)失敗,極端情況下甚至可能會導(dǎo)致數(shù)據(jù)不一致或丟失。由此導(dǎo)致的問題,不在DTS的SLA保障范圍內(nèi)。

    重要
    • 建議通過Oplog日志獲取源庫的數(shù)據(jù)變更。

    • 僅4.0及以上版本的MongoDB支持通過Change Streams獲取數(shù)據(jù)變更,使用Change Streams獲取源庫的數(shù)據(jù)變更不支持雙向同步。

    • 源庫為Amazon DocumentDB(非彈性集群)時,需要手動開啟Change Streams,并在配置任務(wù)時將遷移方式選擇為ChangeStream,將架構(gòu)類型選擇為分片集群架構(gòu)

  • 暫不支持同步包含TTL(Time To Live)索引的集合。若待同步的數(shù)據(jù)庫中包含TTL索引,則可能會導(dǎo)致數(shù)據(jù)不一致。

  • 源和目標(biāo)庫需為相同架構(gòu)的云數(shù)據(jù)庫MongoDB版,即自建MongoDB或不同架構(gòu)的MongoDB不支持雙向同步。

  • 源庫操作限制:

    • 在結(jié)構(gòu)同步和全量同步階段,請勿執(zhí)行庫或集合的結(jié)構(gòu)變更(包含數(shù)組類型數(shù)據(jù)的更新),否則會導(dǎo)致數(shù)據(jù)同步任務(wù)失敗或源庫與目標(biāo)庫的數(shù)據(jù)不一致。

    • 若僅執(zhí)行全量數(shù)據(jù)同步,請勿向源實例中寫入新的數(shù)據(jù),否則會導(dǎo)致源庫與目標(biāo)庫的數(shù)據(jù)不一致。

其他限制

  • 建議源和目標(biāo)庫的MongoDB的數(shù)據(jù)庫版本保持一致,或者從低版本同步到高版本以保障兼容性。如為高版本同步至低版本,可能存在數(shù)據(jù)庫兼容性問題。

  • 源和目標(biāo)云數(shù)據(jù)庫MongoDB版的架構(gòu)需保持一致。(分片集群架構(gòu))

  • 不支持同步admin和local庫中的數(shù)據(jù)。

  • 不保留事務(wù)信息,即源庫中的事務(wù)同步到目標(biāo)庫時會轉(zhuǎn)變?yōu)閱螚l的記錄。

  • 執(zhí)行數(shù)據(jù)同步前需評估源庫和目標(biāo)庫的性能,同時建議業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)同步。否則全量數(shù)據(jù)初始化時將占用源庫和目標(biāo)庫一定的讀寫資源,可能會導(dǎo)致數(shù)據(jù)庫的負(fù)載上升。

  • 全量初始化會并發(fā)執(zhí)行INSERT操作,導(dǎo)致目標(biāo)數(shù)據(jù)庫的集合產(chǎn)生碎片,因此全量初始化完成后目標(biāo)實例的集合空間比源實例的集合空間大。

  • 在DTS同步期間,不允許有除DTS外的數(shù)據(jù)寫入目標(biāo)庫,否則會導(dǎo)致源庫與目標(biāo)庫數(shù)據(jù)不一致。例如,有除DTS外的數(shù)據(jù)寫入目標(biāo)庫時,使用DMS執(zhí)行在線DDL變更,可能引起目標(biāo)庫數(shù)據(jù)丟失。

  • 若目標(biāo)集合存在唯一索引或目標(biāo)集合的capped屬性為true時,則在增量同步階段該集合不支持并發(fā)回放(只支持單線程寫入),從而可能會導(dǎo)致任務(wù)延遲增高。

  • 雙向同步實例包含正向和反向同步任務(wù),在配置或重置雙向同步實例時,若其中一個任務(wù)的目標(biāo)對象是另一個任務(wù)待同步的對象:

    • 僅允許其中一個任務(wù)同步全量和增量數(shù)據(jù),另一個任務(wù)僅支持同步增量數(shù)據(jù)。

    • 當(dāng)前任務(wù)的源數(shù)據(jù)僅支持同步到當(dāng)前任務(wù)的目標(biāo)端,同步過來的數(shù)據(jù)不會作為另一個任務(wù)的源數(shù)據(jù)繼續(xù)同步。

  • 由于DTS寫入數(shù)據(jù)的邏輯為并發(fā)寫入,所以會導(dǎo)致目標(biāo)端占用的存儲空間比源端大5%~10%。

  • 目標(biāo)端MongoDB的count數(shù)量需要使用db.$table_name.aggregate([{ $count:"myCount"}])語法查詢。

  • 請確保目標(biāo)端MongoDB沒有與源端相同的主鍵(默認(rèn)為_id),否則會導(dǎo)致數(shù)據(jù)丟失。若目標(biāo)端有與源端相同的主鍵,請在不影響業(yè)務(wù)的前提條件下清空目標(biāo)端的相關(guān)數(shù)據(jù)(刪掉目標(biāo)端中與源端相同_id的文檔)。

  • 若實例運(yùn)行失敗,DTS技術(shù)支持人員將在8小時內(nèi)嘗試恢復(fù)該實例。在恢復(fù)失敗實例的過程中,可能會對該實例進(jìn)行重啟、調(diào)整參數(shù)等操作。

    說明

    在調(diào)整參數(shù)時,僅會修改實例的參數(shù),不會對數(shù)據(jù)庫中的參數(shù)進(jìn)行修改。可能修改的參數(shù),包括但不限于修改實例參數(shù)中的參數(shù)。