データ検証タスクの設定 - AWS データベース移行サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データ検証タスクの設定

データがソースからターゲットに正確に移行されたことを確認できます。タスクの検証を有効にすると、 はテーブルに対して全ロードが実行された直後にソースデータとターゲットデータの比較 AWS DMS を開始します。タスクのデータ検証の詳細、要件、データベースサポートのスコープ、レポートするメトリクスについては、「AWS DMS データ検証」をご参照ください。タスク設定ファイルを使用してタスク設定を設定する方法については、「タスク設定例」をご参照ください。

データの検証設定およびその値には、以下のものが含まれます。

  • EnableValidation - true に設定すると、データの検証を有効にします。それ以外の場合は、タスクの検証が無効になります。デフォルト値は false です。

  • ValidationMode – DMSがターゲットテーブル内のデータをソーステーブルと照合する方法を制御します。 AWS DMS は、将来の拡張のためにこの設定を提供します。現在、デフォルトおよび唯一の有効な値は ですROW_LEVEL。 は、ソーステーブルとターゲットテーブル間のすべての行 AWS DMS を検証します。

  • FailureMaxCount - タスク検証が停止する前に、検証を失敗できるレコードの最大数を指定します。デフォルト値は 10,000 です。検証に失敗するレコードの数に関係なく検証を継続するには、この値をソースのレコード数より大きく設定します。

  • HandleCollationDiff – このオプションを に設定するとtrue、検証では、比較するソースレコードとターゲットレコードを識別するときに、PostgreSQL エンドポイントと Microsoft SQL Server エンドポイントの列照合の違いが考慮されます。それ以外の場合は、このような列照合の違いは検証で無視されます。列の照合は行の順序を指定でき、データ検証にとってはとても重要となります。HandleCollationDiff を true に設定すると、この照合の違いを自動的に解決し、データ検証における誤検出を防ぎます。デフォルト値は false です。

  • RecordFailureDelayInMinutes – 検証障害の詳細を報告する前に遅延を分単位で指定します。

  • RecordFailureDelayLimitInMinutes - 検証障害の詳細を報告する前に遅延を指定します。通常の場合、 AWS DMS はターゲットに変更行う際の実際の遅延を認識するタスクレイテンシーを使用して、誤検出を防ぎます。この設定は実際の遅延値を上書きし、すべての検証メトリクスを報告する前のより長い遅延の設定を有効にします。デフォルト値は 0 です。

  • RecordSuspendDelayInMinutes - FailureMaxCount で設定されたエラーしきい値のため、テーブル検証が中断されるまでの遅延時間を分単位で指定します。

  • SkipLobColumns – このオプションを に設定する AWS DMS とtrue、 はテーブルのタスク検証の 部分内のすべてのLOB列のデータ検証をスキップします。デフォルト値は false です。

  • TableFailureMaxCount – テーブル検証が停止する前に、検証を失敗できるテーブルあたりの最大行数を指定します。デフォルト値は 1,000 です。

  • ThreadCount – 検証中に が AWS DMS 使用する実行スレッドの数を指定します。各スレッドは、ソースとターゲットから not-yet-validated データを選択して比較および検証します。デフォルト値は 5 です。を高い数値ThreadCountに設定すると、 AWS DMS は検証をより速く完了できます。ただし、この場合、 AWS DMS はより多くの同時クエリを実行し、ソースとターゲットでより多くのリソースを消費します。

  • ValidationOnly – このオプションを true に設定すると、タスクはデータの移行やレプリケーションを実行せずにデータ検証を実行します。デフォルト値は false です。タスク作成後に ValidationOnly 設定を変更することはできません。

    TargetTablePrepModeDO_NOTHING (検証のみのタスクのデフォルト) に設定し、移行タイプを次のいずれかに設定する必要があります。

    • フルロード — AWS DMS コンソールで既存のデータを移行するようにタスク移行タイプを設定します。または、 で AWS DMS API移行タイプを FULL- に設定しますLOAD。

    • CDC — タスク移行タイプを AWS DMS コンソールでのみデータ変更をレプリケートに設定します。または、 で AWS DMS API移行タイプを に設定しますCDC。

    選択した移行タイプを問わず、検証のみのタスクではデータが実際に移行またはレプリケートされることはありません。

    詳細については、「検証のみのタスク」を参照してください。

    重要

    ValidationOnly の設定はイミュータブルです。タスクの作成後、タスクに対する変更はできません。

  • ValidationPartialLobSize – LOB列に保存されているすべてのデータを検証するのではなく、列に対して部分検証を実行するかどうかを指定します。これは、LOBデータセット全体ではなく、LOBデータの一部のみを移行する場合に役立つことがあります。この値は、KB 単位です。デフォルト値は 0 です。つまり、 はすべてのLOB列データ AWS DMS を検証します。例えば、 は、ソースとターゲットの両方の列データの最初の 32KB AWS DMS のみを検証する"ValidationPartialLobSize": 32ことを意味します。

  • PartitionSize -ソースとターゲットの両方から比較noために読み取るレコードのバッチサイズを指定します。デフォルトは 10,000 です。

  • ValidationQueryCdcDelaySeconds – 更新ごとにソースとターゲットの両方で最初の検証クエリが遅延した時間CDC。これにより、移行のレイテンシーが高い場合にリソースの競合が軽減される可能性があります。検証のみのタスクでは、このオプションは自動的に 180 秒に設定されます。デフォルトは 0 です。

例えば、以下では、デフォルトのスレッド数の 2 倍のデータ検証JSONを有効にします。また、PostgreSQL エンドポイントの列照合の違いによって引き起こされるレコードの順序の違いも考慮します。また、すべての検証失敗を処理する追加の時間を考慮に入れた検証報告遅延を提供します。

"ValidationSettings": { "EnableValidation": true, "ThreadCount": 10, "HandleCollationDiff": true, "RecordFailureDelayLimitInMinutes": 30 }
注記

Oracle エンドポイントの場合、DBMS_CRYPTO AWS DMS を使用して を検証しますBLOBs。Oracle エンドポイントが を使用している場合はBLOBs、Oracle エンドポイントにアクセスするユーザーアカウントに DBMS_CRYPTO のアクセスexecute許可を付与します。これを行うには、以下のステートメントを実行します。

grant execute on sys.dbms_crypto to dms_endpoint_user;