我有一個關聯式資料庫管理系統 (RDBMS) 資料庫,我想使用 AWS Database Migration Service (AWS DMS) 遷移至 Amazon Redshift。將 RDBMS 資料庫遷移至 Amazon Redshift 時,我可以遵循哪些最佳實務?
解析度
請使用本文中的最佳實務,協助您使用 AWS DMS 將 RDBMS 資料庫遷移至 Amazon Redshift。
- 將資料遷移至 Amazon Redshift 端點時,請將平行載入與資料表設定規則搭配使用。如需使用平行載入以及如何使用平行載入來加速遷移的詳細資訊,請參閱針對選取的資料表、檢視和集合使用平行載入。
- AWS DMS 3.4.5 版及更新版本支援在完整載入至 Amazon Redshift 目標端點期間使用 ParallelLoad 任務設定。如需詳細資訊,請參閱 Amazon Redshift 的多執行緒完整載入任務設定。
- 如果您要將大量資料遷移至 Amazon Redshift,請增加 maxFileSize 和 fileTransferUploadStreams 的端點屬性值。這樣做有助於提高完整載入效能。然後,增加 CommitRate 值以提高效能。
- 因為當您使用 Amazon Redshift 做為資料庫的目標時,AWS DMS 不支援完整 LOB 模式,因此請務必將 LobMaxSize 設定為適當的值。
- 請確保您的 Amazon Redshift 資料表具有主索引鍵。如果您的目標資料表沒有主索引鍵,則以 BatchApply 模式進行插入。但是因為更新和刪除隨後會逐個套用,因此會影響效能。因此,請確定 AWS DMS 會將 CDC 資料批次遷移至 Amazon Redshift 目標,以避免任何效能問題。
- 根據工作負載調整批次套用設定,以減少目標上的認可數量。批次套用設定包括 BatchApplyTimeoutMin、BatchApplyTimeoutMax 和 BatchApplyMemoryLimit。
- 使用 BatchSplitSize 來設定單一批次中套用的變更數量上限。預設值為 0,表示沒有套用限制。
- 使用適當的分佈和排序索引鍵建立目標 Amazon Redshift 資料表。當 AWS DMS 為 Amazon Redshift 目標建立資料表時,會建立含有預設分佈索引鍵且無排序索引鍵的資料表。Amazon Redshift 會根據排序索引鍵,以排序順序將資料存放在磁碟上。Amazon Redshift 查詢最佳化工具會在決定最佳查詢計劃時使用排序順序。因此,當您執行查詢時,查詢最佳化工具會視需要將資料列重新散佈至運算節點,以執行任何聯結和彙總。如需詳細資訊,請參閱選擇最佳排序索引鍵和使用資料分佈樣式執行。
- 如果您的交易工作負載繁重,請使用類似上述設定。這些範例設定表示,使用 32 個平行執行緒,且檔案大小上限為 250-MB,在 1800 秒內填入 8000-MB 的批次緩衝區。Amazon Redshift 端點設定:
MaxFileSize=250000;
任務設定:
BatchApplyEnabled=true;
BatchSplitSize =8000;
BatchApplyTimeoutMax =1800;
BatchApplyTimeoutMin =1800;
ParallelApplyThreads=32;
ParallelApplyBufferSize=100;
相關資訊
使用 Amazon Redshift 資料庫做為 AWS Database Migration Service 的目標
如何使用 Amazon Redshift 作為 AWS DMS 任務的目標端點?