ターゲットメタデータのタスク設定 - 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 は、ソーステーブルから探すよりも転送する方が効率的です。全ロード中、すべての LOB AWS DMS をチェックし、より小さい LOB についてはインライン転送を実行します。InlineLobMaxSize AWS DMS in よりも大きい LOB をすべて転送します。InlineLobMaxSize FullLobModeInlineLobMaxSize のデフォルト値は 0 で、範囲は 1~102,400 キロバイト (100 MB) です。ほとんどの LOB が InlineLobMaxSize で設定した値よりも小さいことがわかっている場合のみ、InlineLobMaxSize に値を指定します。

    • LimitedSizeLobMode – このオプションを true に設定した場合、 LobMaxSize オプションの値を入力します。個々の LOB の最大サイズをキロバイト単位で入力します。LobMaxSize の最大推奨値は 102,400 キロバイト (100 MB) です。

    これらのタスクの LOB 設定を使用する条件の詳細については、「タスク内のソースデータベースの LOB サポートの設定 AWS DMS」をご参照ください。また、個々のテーブルの 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 に設定されている場合、一意の制約とプライマリキーの両方を持つターゲットテーブルはサポートされません。

    が true BatchApplyEnabled に設定されているときに、 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、 OpenSearch またはアマゾンサービスターゲットの最大値は 32 です。この上限を引き上げるように要請できます。ParallelLoadThreads はフルロードタスクに適用します。個々のテーブルの並列ロードを設定する詳細については、「テーブルとコレクション設定のルールとオペレーション」をご参照ください。

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

    • DynamoDB

    • Amazon Kinesis Data Streams

    • Amazon MSK

    • Amazon OpenSearch サービス

    • Amazon Redshift

    AWS DMS MySQL ParallelLoadThreads を追加接続属性としてサポートします。 ParallelLoadThreadsMySQL にはタスク設定としては適用されません。

  • ParallelLoadBufferSize – 並列ロードスレッドがターゲットにデータをロードするために使用するバッファに保存するレコードの最大数を指定します。デフォルト値は 50 です。最大値は 1000 です。この設定は現在、DynamoDB、Kinesis、Apache Kafka、またはがターゲットの場合にのみ有効です。 OpenSearch このパラメータを ParallelLoadThreads で使用します。1 つ以上のスレッドがある場合にのみ ParallelLoadBufferSize が有効になります。個々のテーブルの並列ロードを設定する詳細については、「テーブルとコレクション設定のルールとオペレーション」をご参照ください。

  • ParallelLoadQueuesPerThread - 各同時スレッドがアクセスするキューの数を指定して、データレコードをキューから取り出し、ターゲットのバッチロードを生成します。デフォルト は 1 です。この設定は、現在、Kinesis または Apache Kafka がターゲットの場合にのみ有効です。

  • ParallelApplyThreads— CDC ロード中に Amazon DocumentDB、Kinesis、Amazon MSK OpenSearch、または Amazon Redshift AWS DMS ターゲットエンドポイントにデータレコードをプッシュするために使用する同時スレッドの数を指定します。デフォルト値は 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 OpenSearch、または Amazon Redshift のターゲットエンドポイントに同時スレッドがプッシュする各バッファキューに格納するレコードの最大数を指定します。デフォルト値は 100 です。最大値は 1000 です。このオプションは、ParallelApplyThreads で複数のスレッドを指定する場合に使用します。

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