変更処理のチューニング設定 - AWS データベース移行サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

変更処理のチューニング設定

次の設定は、変更データキャプチャ () 中にターゲットテーブルの変更を AWS DMS が処理する方法を決定しますCDC。これらの設定のいくつかは、ターゲットメタデータパラメータ BatchApplyEnabled の値によって異なります。BatchApplyEnabled パラメータの詳細については、「ターゲットメタデータのタスク設定」をご参照ください。タスク設定ファイルを使用してタスク設定を設定する方法については、「タスク設定例」をご参照ください。

変更処理のチューニング設定には、以下のものが含まれます。

以下の設定は、ターゲットメタデータパラメータ BatchApplyEnabledtrue に設定している場合にのみ適用されます。

  • BatchApplyPreserveTransactiontrue に設定すると、トランザクションの整合性が保持され、必ずバッチにはソースからのトランザクション内のすべての変更が含まれます。デフォルト値は true です。この設定は、Oracle ターゲットエンドポイントにのみ適用されます。

    false に設定すると、パフォーマンスを向上させるためにトランザクションの整合性が一時的に失われることがあります。ソースからのトランザクション内のすべての変更が 1 バッチでターゲットに適用されるとは限りません。

    デフォルトでは、 はトランザクションモードで変更 AWS DMS を処理し、トランザクションの整合性を維持します。トランザクションの完全性を一時的に失効できる場合は、代わりに [最適化バッチ] オプションを使用できます。このオプションでは、効率的にトランザクションがグループ化され、効率化のためにバッチに適用します。バッチ最適化適用オプションを使用すると、ほとんどの場合、参照整合性の制約に違反します。そのため、移行プロセス中にこれらの制約をオフにし、カットオーバー プロセスの一環として再度オンにすることをお勧めします。

  • BatchApplyTimeoutMin – バッチ変更の各アプリケーション間で AWS DMS 待機する最小時間を秒単位で設定します。デフォルト値は 1 です。

  • BatchApplyTimeoutMax — バッチ変更の各適用からタイムアウトするまでに AWS DMS 待機する最大時間を秒単位で設定します。デフォルト値は 30 です。

  • BatchApplyMemoryLimit[Batch optimized apply mode] (最適化バッチ適用モード) での前処理に使用されるメモリの最大量 (MB) を設定します。デフォルト値は 500 です。

  • BatchSplitSize - 1 つのバッチに適用される変更の最大数を設定します。デフォルト値 0 は、適用される制限がないことを意味します。

以下の設定は、ターゲットメタデータパラメータ BatchApplyEnabledfalse に設定している場合にのみ適用されます。

  • MinTransactionSize - 各トランザクションに含める変更の最小数を設定します。デフォルト値は 1000 です。

  • CommitTimeout – タイムアウトを宣言する前に、 がトランザクション AWS DMS をバッチで収集する最大時間を秒単位で設定します。デフォルト値は 1 です。

双方向レプリケーションの場合、次の設定は、ターゲットメタデータパラメータ BatchApplyEnabledfalse に設定している場合にのみ適用されます。

  • LoopbackPreventionSettings – これらの設定により、双方向レプリケーションに関係するタスクのペアで進行中の各レプリケーション タスクのループバックを阻止します。ループバック防止は、双方向レプリケーションの両方向で同一の変更が適用されてデータが破損するのを防ぎます。双方向レプリケーションの詳細については、「双方向レプリケーションの実行」をご参照ください。

AWS DMS は、トランザクションがソース、ターゲット、またはその両方に完全にコミットされるまで、トランザクションデータをメモリに保持しようとします。ただし、割り当てたメモリより大きいトランザクションや、指定した制限時間内にコミットされないトランザクションは、ディスクに書き込まれます。

以下の設定は、変更処理のモードに関係なく、変更処理のチューニングに適用されます。

  • MemoryLimitTotal - すべてのトランザクションがディスクに書き込まれるまでにメモリで占有可能な最大サイズ (MB) を設定します。デフォルト値は 1024 です。

  • MemoryKeepTime - 各トランザクションがディスクに書き込まれるまでにメモリに保持できる最長時間 (秒) を設定します。期間は、トランザクションのキャプチャ AWS DMS を開始した時刻から計算されます。デフォルト値は 60 です。

  • StatementCacheSize - ターゲットに変更を適用するときに、後で実行するためにサーバーに保存する準備済みステートメントの最大数を設定します。デフォルト値は 50 です。最大値は 200 です。

以下は、変更処理チューニングを処理するタスク設定がタスク設定JSONファイルにどのように表示されるかの例です。

"ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }

データ レプリケーション タスク中に Amazon S3 ターゲットへの書き込みの頻度を制御するには、cdcMaxBatchIntervalcdcMinFileSize の追加接続属性を設定することができます。これにより、追加のオーバーヘッド オペレーションなしでデータを分析する際のパフォーマンスが向上します。詳細については、「のターゲットとして Amazon S3 を使用する場合のエンドポイント設定 AWS DMS」をご参照ください。