ターゲットメタデータのタスク設定 - 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 の管理を制御できます。詳細については、「テーブルとコレクション設定のルールとオペレーション」を参照してください。

  • LoadMaxFileSize — データのロードにカンマ区切り値 (.csv) ファイルの使用をサポートする MySQL、PostgreSQL、Amazon Redshift などの CSV ベースのターゲット エンドポイントのオプション。LoadMaxFileSizeは、.csv ファイルなどの保存されたアンロードデータのディスク上の最大サイズを定義します。このオプションは、ターゲットのエンドポイント接続属性 maxFileSize より優先されます。0 (このオプションが接続属性を上書きしないことを示します) から 100,000 KB までの値を指定できます。

  • BatchApplyEnabled - 各トランザクションを個別に適用するか、変更をバッチでコミットするかを決定します。デフォルト値は、falseです。

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

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

    BatchApplyEnabled が true に設定され、デフォルトのエラー処理ポリシーを持つテーブルからデータエラーAWS DMSが発生すると、AWS DMSタスクは残りのテーブルのバッチモードから one-by-one モードに切り替わります。この動作を変更するには、"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 サービス

    • 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 – CDC ロード中に AWS DMSがデータレコードを Amazon DocumentDB 、Kinesis、Amazon MSK OpenSearch、または Amazon Redshift ターゲットエンドポイントにプッシュするために使用する同時スレッドの数を指定します。デフォルト値は 0 です。

    この設定は CDC にのみ適用されます。この設定はフルロードには適用されません。

    この設定は、次のエンドポイントエンジンタイプに適用されます。

    • Amazon DocumentDB (MongoDB 互換性)

    • Amazon Kinesis Data Streams

    • Amazon Managed Streaming for Apache Kafka

    • Amazon OpenSearch サービス

    • Amazon Redshift

  • ParallelApplyBufferSize – CDC ロード中に同時スレッドが Amazon DocumentDB 、Kinesis、Amazon MSK、または Amazon Redshift ターゲットエンドポイントにプッシュするために OpenSearch、各バッファキューに保存するレコードの最大数を指定します。デフォルト値は 100 です。最大値は 1000 です。このオプションは、ParallelApplyThreads で複数のスレッドを指定する場合に使用します。

  • ParallelApplyQueuesPerThread – 各スレッドがキューからデータレコードを取り出し、CDC 中に Amazon DocumentDB 、Kinesis、Amazon MSK、または OpenSearchエンドポイントのバッチロードを生成するためにアクセスするキューの数を指定します。デフォルト値は 1 です。