AWS DMS を使用して RDBMS データベースを Amazon Redshift に移行するためのベストプラクティスは何ですか?

所要時間1分
0

AWS Database Migration Service (AWS DMS) を使用して Amazon Redshift に移行したいリレーショナルデータベース管理システム (RDBMS) データベースがあります。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 モードで行われます。ただし、更新と削除は 1 つずつ適用されるため、パフォーマンスに影響します。そのため、パフォーマンスの問題を回避するために、AWS DMS が CDC データをバッチで Amazon Redshift ターゲットに移行するようにしてください。
  • ワークロードに応じてバッチ適用の設定を調整し、ターゲットでのコミット数を減らします。バッチ適用の設定には、BatchApplyTimeoutMin、BatchApplyTimeoutMax、BatchApplyMemoryLimit などがあります。
  • BatchSplitSize を使用して、1 つのバッチに適用される変更の最大数を設定します。デフォルト値は 0 で、この場合、制限は適用されません。
  • 適切な分散キーとソートキーを使用して、ターゲット Amazon Redshift テーブルを作成します。AWS DMS は、Amazon Redshift ターゲットのテーブルを作成するときに、デフォルトの分散キーを使用し、ソートキーなしでテーブルを作成します。Amazon Redshift は、ソートキーに従ってソートされた順序でデータをディスクに保存します。Amazon Redshift クエリオプティマイザーは、最適なクエリプランを決定する際にソート順を使用します。そのため、クエリを実行すると、クエリオプティマイザーは必要に応じて行をコンピューティングノードに再分配し、結合と集計を実行します。詳細については、「最良のソートキーの選択」および「データディストリビューションスタイルの操作」を参照してください。
  • トランザクションのワークロードが重い場合は、次のような設定を使用します。これらの設定例では、8000 MB のバッチバッファが 1800 秒以内に埋まり、32 個の並列スレッドが使用され、最大ファイルサイズが 250 MB になります。Amazon Redshift エンドポイント設定:
MaxFileSize=250000;

タスク設定:

BatchApplyEnabled=true;
BatchSplitSize =8000;
BatchApplyTimeoutMax =1800;
BatchApplyTimeoutMin =1800;
ParallelApplyThreads=32;
ParallelApplyBufferSize=100;
  • Amazon Redshift にロックやブロッキングセッションがないことを確認します。詳細については、「Amazon Redshift でロックを検出し、解除する方法を教えてください」を参照してください。

  • Amazon Redshift ワークロード管理 (WLM) ツールを使用してワークロードを管理します。Amazon Redshift WLM を使用して、複数のクエリキューを定義し、実行時にクエリを適切なキューにルーティングできます。詳細については、「ワークロード管理」を参照してください。


関連情報

AWS Database Migration Service のターゲットとしての Amazon Redshift データベースの使用

AWS DMS タスクのターゲットエンドポイントとして Amazon Redshift を使用する方法を教えてください。

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ