翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
変更処理のチューニング設定
以下の設定により、AWS DMS が変更データキャプチャ (CDC) 中にターゲットテーブルの変更を処理する方法が決まります。これらの設定のいくつかは、ターゲットメタデータパラメータ BatchApplyEnabled
の値によって異なります。BatchApplyEnabled
パラメータの詳細については、「ターゲットメタデータのタスク設定」をご参照ください。タスク設定ファイルを使用してタスク設定を設定する方法については、「タスク設定例」をご参照ください。
変更処理のチューニング設定には、以下のものが含まれます。
以下の設定は、ターゲットメタデータパラメータ BatchApplyEnabled
を true
に設定している場合にのみ適用されます。
-
BatchApplyPreserveTransaction
–true
に設定すると、トランザクションの整合性が保持され、必ずバッチにはソースからのトランザクション内のすべての変更が含まれます。デフォルト値はtrue
です。この設定は、Oracle ターゲットエンドポイントにのみ適用されます。false
に設定すると、パフォーマンスを向上させるためにトランザクションの整合性が一時的に失われることがあります。ソースからのトランザクション内のすべての変更が 1 バッチでターゲットに適用されるとは限りません。デフォルトでは、AWS DMS は、トランザクションの完全性を維持するトランザクションモードで変更を処理します。トランザクションの完全性を一時的に失効できる場合は、代わりに [最適化バッチ] オプションを使用できます。このオプションでは、効率的にトランザクションがグループ化され、効率化のためにバッチに適用します。バッチ最適化適用オプションを使用すると、ほとんどの場合、参照整合性の制約に違反します。そのため、移行プロセス中にこれらの制約をオフにし、カットオーバー プロセスの一環として再度オンにすることをお勧めします。
-
BatchApplyTimeoutMin
- バッチ変更の各適用間で AWS DMS が待機する最短時間 (秒) を設定します。デフォルト値は 1 です。 -
BatchApplyTimeoutMax
- バッチ変更の各適用間でタイムアウトになるまでに AWS DMS が待機する最長時間 (秒) を設定します。デフォルト値は 30 です。 -
BatchApplyMemoryLimit
– [Batch optimized apply mode] (最適化バッチ適用モード) での前処理に使用されるメモリの最大量 (MB) を設定します。デフォルト値は 500 です。 -
BatchSplitSize
- 1 つのバッチに適用される変更の最大数を設定します。デフォルト値 0 は、適用される制限がないことを意味します。
以下の設定は、ターゲットメタデータパラメータ BatchApplyEnabled
を false
に設定している場合にのみ適用されます。
-
MinTransactionSize
- 各トランザクションに含める変更の最小数を設定します。デフォルト値は 1000 です。 -
CommitTimeout
– タイムアウト宣言までの AWS DMS によるトランザクション バッチ収集の最長時間 (秒) を設定します。デフォルト値は 1 です。
双方向レプリケーションの場合、次の設定はターゲットメタデータパラメータの場合にのみ適用されます。BatchApplyEnabled
がに設定されています。false
。
-
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 ターゲットへの書き込みの頻度を制御するには、cdcMaxBatchInterval
と cdcMinFileSize
の追加接続属性を設定することができます。これにより、追加のオーバーヘッド オペレーションなしでデータを分析する際のパフォーマンスが向上します。詳細については、「AWS DMS のターゲットとして Amazon S3を使用する場合のエンドポイントの設定」をご参照ください。