ターゲットメタデータのタスク設定
ターゲットメタデータ設定には、以下のものが含まれます。タスク設定ファイルを使用してタスク設定を設定する方法については、「タスク設定例」をご参照ください。
-
TargetSchema- ターゲットテーブルスキーマ名。このメタデータオプションが空の場合、ソーステーブルのスキーマが使用されます。AWS DMS は、ソーススキーマが定義されていない場合、ターゲットデータベースの所有者プレフィックスをすべてのテーブルに自動的に追加します。このオプションは、MySQL 型のターゲットエンドポイントでは空のままにする必要があります。データマッピングでスキーマの名前を変更すると、この設定よりも優先されます。 -
LOB 設定 - ラージ オブジェクト (LOB) の管理方法を決定する設定。
SupportLobs=trueと設定した場合、次のいずれかをtrueに設定する必要があります。-
FullLobMode– このオプションをtrueに設定した場合、LobChunkSizeオプションの値を入力します。ターゲットにデータをレプリケートするときに使用する LOB チャンクサイズをキロバイト単位で入力します。FullLobModeオプションは、LOB のサイズが大きい場合に最適ですが、ロードが遅くなる傾向になります。LobChunkSizeの推奨値は 64 キロバイトです。LobChunkSizeの値を 64 キロバイト以上に設定すると、タスクが失敗する可能性があります。 -
InlineLobMaxSize- この値は、全ロード中にどの LOB AWS DMS がインライン転送するかを決定します。小さな LOB は、ソーステーブルから探すよりも転送する方が効率的です。全ロード中、AWS DMS はすべての LOB をチェックして、InlineLobMaxSizeより小さい LOB にインライン転送を実行します。AWS DMS は、InlineLobMaxSizeを超えるすべての LOB をFullLobModeで転送します。InlineLobMaxSizeのデフォルト値は 0 で、範囲は 1~102,400 キロバイト (100 MB) です。ほとんどの LOB がInlineLobMaxSizeで設定した値よりも小さいことがわかっている場合のみ、InlineLobMaxSizeに値を指定します。 -
LimitedSizeLobMode– このオプションをtrueに設定した場合、LobMaxSizeオプションの値を入力します。個々の LOB の最大サイズをキロバイト単位で入力します。LobMaxSizeの最大値は 102,400 キロバイト (100 MB) です。
これらのタスクの LOB 設定を使用する条件の詳細については、「AWS DMS タスクのソースデータベースの LOB サポートの設定」をご参照ください。また、個々のテーブルの LOB の管理を制御できます。詳細については、「テーブルとコレクション設定のルールとオペレーション」を参照してください。
-
-
BatchApplyEnabled- 各トランザクションを個別に適用するか、変更をバッチでコミットするかを決定します。デフォルト値はfalseです。BatchApplyEnabledをtrueに設定した場合、DMS は ソーステーブルにプライマリキー (PK) または一意のキー (UK) を必要とします。ソーステーブルに PK または UK がない場合、バッチ挿入のみが適用され、バッチ更新と削除は適用されません。BatchApplyEnabledがtrueに設定されていて、ターゲットテーブルに一意の制約とプライマリキーがある場合、AWS DMS はエラーメッセージを生成します。BatchApplyEnabledがtrueに設定されている場合、一意の制約とプライマリキーの両方を持つターゲットテーブルはサポートされません。BatchApplyEnabledが真に設定され、AWS DMS がデフォルトのエラー処理ポリシーを持つテーブルからデータエラーを受けると、AWS DMS のタスクは、残りのテーブルについてバッチモードから 1 つずつモードに切り替えます。この動作を変更するには、"SUSPEND_TABLE"の次のポリシーに対するアクションを タスク設定 JSON ファイルの"ErrorBehavior"グループ プロパティに設定できます:-
DataErrorPolicy -
ApplyErrorDeletePolicy -
ApplyErrorInsertPolicy -
ApplyErrorUpdatePolicy
"ErrorBehavior"のグループ プロパティの詳細については、AWS Database Migration Service タスク設定の指定 のタスク設定 JSON ファイル例をご参照ください。これらのポリシーを"SUSPEND_TABLE"に設定した後、AWS DMS タスクは、それらを発生させるテーブルのデータエラーを中断し、すべてのテーブルについてバッチモードで続行します。BatchApplyEnabledパラメータをBatchApplyPreserveTransactionパラメータと併用することはできません。BatchApplyEnabledをtrueに設定すると、BatchApplyPreserveTransactionパラメータがトランザクションの整合性を確認します。BatchApplyPreserveTransactionをtrueに設定すると、トランザクションの整合性が保持され、バッチにはソースのトランザクション内のすべての変更が確実に含まれます。BatchApplyPreserveTransactionをfalseに設定すると、パフォーマンスを向上させるためにトランザクションの整合性が一時的に失われることがあります。BatchApplyPreserveTransactionパラメータは、Oracle ターゲットエンドポイントにのみ適用され、BatchApplyEnabledパラメータがtrueに設定されている場合に限り、適切に機能します。LOB 列がレプリケーションに含まれる場合、制限された LOB モードのみで
BatchApplyEnabledを使用できます。変更データ キャプチャ (CDC) のロードでこれらの設定を使用する方法の詳細については、「変更処理のチューニング設定」をご参照ください。
-
-
MaxFullLoadSubTasks– 並列にロードするテーブルの最大数を指定します。デフォルトは 8、最大値は 49 です。 -
ParallelLoadThreads- - 各テーブルをターゲットデータベースにロードするために AWS DMS が使用するスレッドの数を指定します。このパラメータには、非 RDBMS ターゲットの最大値があります。DynamoDB ターゲットの最大数は 200 です。Amazon Kinesis Data Streams、Apache Kafka、または Amazon OpenSearch Serviceターゲットの最大値は 32 です。この上限を引き上げるように要請できます。ParallelLoadThreadsはフルロードタスクに適用します。個々のテーブルの並列ロードを設定する詳細については、「テーブルとコレクション設定のルールとオペレーション」をご参照ください。この設定は、次のエンドポイントエンジンタイプに適用されます。
DynamoDB
Amazon Kinesis Data Streams
Amazon MSK
Amazon OpenSearch Service
Amazon Redshift
AWS DMSは、追加の接続属性として MySQL の
ParallelLoadThreadsをサポートします。ParallelLoadThreadsは、タスク設定としては MySQL に適用されません。 -
ParallelLoadBufferSize– 並列ロードスレッドがターゲットにデータをロードするために使用するバッファに保存するレコードの最大数を指定します。デフォルト値は 50 です。最大値は 1000 です。この設定は現時点では、DynamoDB、Kinesis、Apache Kafka、OpenSearch がターゲットの場合にのみ有効です。このパラメータをParallelLoadThreadsで使用します。1 つ以上のスレッドがある場合にのみParallelLoadBufferSizeが有効になります。個々のテーブルの並列ロードを設定する詳細については、「テーブルとコレクション設定のルールとオペレーション」をご参照ください。 -
ParallelLoadQueuesPerThread- 各同時スレッドがアクセスするキューの数を指定して、データレコードをキューから取り出し、ターゲットのバッチロードを生成します。デフォルトは 1 です。この設定は、現在、Kinesis または Apache Kafka がターゲットの場合にのみ有効です。 -
ParallelApplyThreads– データレコードを Amazon DocumentDB、Kinesis、Amazon MSK、OpenSearch、Amazon Redshift のターゲットエンドポイントにプッシュするために CDC ロード中に AWS DMS が使用する同時スレッドの数を指定します。デフォルト値は 0 です。この設定は CDC にのみ適用されます。この設定はフルロードには適用されません。
この設定は、次のエンドポイントエンジンタイプに適用されます。
Amazon DocumentDB (MongoDB 互換性)
Amazon Kinesis Data Streams
Amazon Managed Streaming for Apache Kafka
Amazon OpenSearch Service
Amazon Redshift
-
ParallelApplyBufferSize– CDC ロード中に Amazon DocumentDB、Kinesis、Amazon MSK、OpenSearch、または Amazon Redshift のターゲットエンドポイントにプッシュする同時スレッドの各バッファキューに格納するレコードの最大数を指定します。デフォルト値は 100 です。最大値は 1,000 です。このオプションは、ParallelApplyThreadsで複数のスレッドを指定する場合に使用します。 -
ParallelApplyQueuesPerThread– CDC 中に各スレッドがキューからデータレコードを取り出して Amazon DocumentDB、Kinesis、Amazon MSK、または OpenSearch エンドポイントのバッチロードを生成するためにアクセスするキューの数を指定します。デフォルト値は 1 です。