
我在執行 SQL Server 的遺留系統中有一些 TB 的資料。我們的新版本在 MongoDB 上運行。我們正在將此資料遷移到 MongoDB。我們編寫並驗證了 python 腳本,所有資料移動都正確進行。
我們在一台較低的 4 核心機器上做到了這一點,如果我們在更大的機器上做到這一點,它會非常昂貴。 AWS Lambda 的處理時間為 15 分鐘,完成一次迭代需要超過 24 小時。 AWS 步驟函數承諾了這一點,但不確定它是否正確。
答案1
您能否不在本地執行“mongoexport”,匯出到 S3(或實體 AWS Snowcone 裝置),使用 EC2 執行個體進行“mongoimport”,然後執行腳本來執行轉儲後的任何更新?
至於如何運行它,您可能會使用現貨 EC2 實例,特別是如果您在該地區的高峰時段(可能是週末)之外使用它。如果您的工作不能中斷,那麼按需 EC2。具有 4 核/16GB RAM 的 m5.xlarge 每小時 0.20 美元,幾天後為 10 美元。
我還要指出的是,假設以 100Mbps 的速度發送 3TB 資料需要 2.6 天,但以 800Mbps 的速度發送則需要 7 小時 - 但如果沒有 DirectConnect,維持該頻寬可能會很困難。你可能最好使用AWS 雪錐這是一個實體設備,您可以將資料複製到其中,然後傳送到 AWS。
我建議使用 AWS Database Migration Service遷移從 MongoDB 到AWS文件資料庫,這是他們的 MongoDB 版本,但名稱不同。 DMS 將遷移數據,然後您只需將應用程式指向新實例並關閉舊實例即可。