ターゲットメタデータのタスク設定 - AWS Database Migration Service

ターゲットメタデータのタスク設定

ターゲットメタデータ設定には、以下のものが含まれます。タスク設定ファイルを使用してタスク設定を設定する方法については、「タスク設定例」をご参照ください。

  • 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 です。

    BatchApplyEnabledtrue に設定した場合、DMS は ソーステーブルにプライマリキー (PK) または一意のキー (UK) を必要とします。ソーステーブルに PK または UK がない場合、バッチ挿入のみが適用され、バッチ更新と削除は適用されません。

    BatchApplyEnabledtrue に設定されていて、ターゲットテーブルに一意の制約とプライマリキーがある場合、AWS DMS はエラーメッセージを生成します。BatchApplyEnabledtrue に設定されている場合、一意の制約とプライマリキーの両方を持つターゲットテーブルはサポートされません。

    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 パラメータと併用することはできません。BatchApplyEnabledtrue に設定すると、BatchApplyPreserveTransaction パラメータがトランザクションの整合性を確認します。

    BatchApplyPreserveTransactiontrue に設定すると、トランザクションの整合性が保持され、バッチにはソースのトランザクション内のすべての変更が確実に含まれます。

    BatchApplyPreserveTransactionfalse に設定すると、パフォーマンスを向上させるためにトランザクションの整合性が一時的に失われることがあります。

    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 です。