メイン コンテンツをスキップする 補完的コンテンツへスキップ

データ レプリケーション タスクの設定

データ レプリケーション タスクの設定を構成できます。

  • レプリケーション タスクを開き、ツール バーの [設定] をクリックします。

設定: <タスク名>」ダイアログが開きます。使用可能な設定については以下で説明します。

一般

このタブでは、レプリケーション モード、ステージング設定 (使用可能な場合)、ターゲットに変更を適用するモードを変更できます。

レプリケーション モード

次のレプリケーション モードを使用できます。

情報メモSaaS アプリケーション ソースからレプリケートする場合、フル ロード レプリケーション モードが既定で有効になっており、無効にすることはできません。
  • フル ロード: 選択したソース テーブルからターゲット プラットフォームにデータをロードし、必要に応じてターゲット テーブルを作成します。フル ロードはタスクの開始時に自動的に実行されますが、必要に応じて手動で実行することもできます。
  • 変更を適用: ソース テーブルに加えられた変更を反映して、ターゲット テーブルを最新の状態に保ちます。

  • 保存先の変更: ソース テーブルへの変更を変更テーブル (ソース テーブルごとに 1 つ) に保存します。

    詳細は、変更の保存をご覧ください。

Data Movement gateway を使用する場合、変更はソースからほぼリアルタイムでキャプチャされます。Data Movement gateway を使用せずに作業する場合 (例: Qlik Talend Cloud スターター サブスクリプションを使用する場合、または [なし] を選択した場合 )、変更はスケジューラーの設定に従ってキャプチャされます。詳細については、「Data Movement gateway を使用しない場合のタスクのスケジュール設定」を参照してください。

[変更の保存] または [変更の適用] を選択し、ソース データに CDC またはビューをサポートしていないテーブルが含まれている場合、2 つのデータ パイプラインが作成されます。1 つは CDC をサポートするテーブル用のパイプラインで、もう 1 つは [フル ロード] のみをサポートする他のすべてのテーブルおよびビュー用の別のパイプラインです。

ステージング エリアへの接続

以下にリストされているデータ ウェアハウスにレプリケーションする場合は、ステージング エリアを設定する必要があります。データは、ウェアハウスに転送される前にステージング エリアで処理および準備されます。

既存のステージング エリアを選択するか、[新規作成] をクリックして新しいステージング エリアを定義し、クラウド ストレージへの接続 の指示に従います。

接続設定を編集するには、[編集] をクリックします。接続をテストするには (推奨)、[接続のテスト] をクリックします。

どのステージング エリアがどのデータ ウェアハウスでサポートされているかについては、ターゲット プラットフォームのユース ケースとサポートされるバージョン の [ステージング エリアとしてサポート] 列を参照してください。

変更適用モード

情報メモデータ ウェアハウス ターゲットにレプリケートする場合、または Qlik Talend Cloud スターター サブスクリプションを利用している場合は、使用する [変更の適用] モードを選択することはできません。効率を最大限に高めるために、変更は常にバッチ最適化モードで適用されます。

変更は、次のいずれかの方法でターゲット テーブルに適用されます。

  • バッチ最適化: これが既定です。このオプションを選択すると、変更はバッチで適用されます。トランザクションをもっとも効率的な方法でバッチにグループ化するための前処理アクションが発生します。
  • トランザクション: このオプションを選択すると、各トランザクションをコミットされた順序で個別に適用します。この場合、すべてのテーブルで厳密な参照整合性が確保されます。

データのアップロード

情報メモこのタブは、データ ウェアハウス ターゲットにレプリケートする場合にのみ表示されます。

最大ファイル サイズ

ファイルが閉じる前に到達できる最大サイズ。並列実行オプションと併用すると、小さいファイルの方がアップロードが速くなり (ネットワークに応じて異なる)、パフォーマンスが向上する可能性があります。ただし、小さなファイルでデータベースを乱雑にすることは一般的に悪い習慣であると考えられています。

メタデータ

基本

  • ターゲット テーブル スキーマ: ソース テーブル スキーマを使用しない場合 (またはソース データベースにスキーマがない場合)、ソース テーブルをレプリケートするターゲットのスキーマ。

    情報メモOracle ターゲットにレプリケートする場合、既定のターゲット テーブル スキーマは「system」です。この項目を空のままにする場合 (この場合、ソース スキーマが使用される)、ソース スキーマがターゲット上にすでに存在することを確認する必要があります。存在しない場合、タスクは失敗します。
    情報メモスキーマ名に許可される最大文字数は 128 文字です。

LOB 設定

使用可能な LOB 設定は、選択したレプリケーション ターゲットによって異なります。データ ウェアハウス ターゲットは無制限の LOB 列サイズをサポートしていないため、データ ウェアハウスにレプリケートするときにこのオプションは使用できません。

  • LOB 列を含めない: ソース LOB 列をレプリケートしない場合は、これを選択します。
  • LOB 列サイズを (KB) に制限: これが既定です。小さい LOB のみをレプリケートする必要がある場合や、ターゲット プラットフォームが無制限の LOB サイズをサポートしていない場合は、このオプションを選択します。この項目に許可される最大値は 102400 KB (100 MB) です。

    小さい LOB をレプリケートする場合、ソースからの「ルックアップ」経由ではなく「インライン」でレプリケートされるため、このオプションは [LOB 列サイズを制限しない] オプションよりも効率的です。変更処理中、小さい LOB は通常ソースからの「ルックアップ」を介してレプリケートされます。

    制限は、ソース エンドポイントから読み取られる LOB バイト数に適用されます。BLOB 列の場合、ターゲット BLOB サイズは指定された制限に正確に従います。CLOB 列および NCLOB 列の場合、ソース LOB とターゲット LOB の文字セットが同じでない場合、ターゲット LOB サイズが指定された制限と異なる可能性があります。この場合、データ タスクは文字セットの変換を実行し、ソース LOB サイズとターゲット LOB サイズに不一致が生じる可能性があります。

    [LOB サイズを制限] の値はバイト単位であるため、サイズは次の式に従って計算する必要があります。

    • BLOB: 最大の LOB の長さ。
    • NCLOB: 最長の TEXT の文字数を 2 倍した長さ (各文字は 2 バイトとして扱われるため)。データに 4 バイト文字が含まれる場合は 4 倍してください。
    • CLOB: 最長の TEXT の文字数 (各文字は UTF8 文字として処理されるため)。データに 4 バイト文字が含まれる場合は 2 倍してください。
    情報メモ
    • 指定したサイズより大きい LOB は切り捨てられます。
    • Oracle ソースからの変更処理中、インライン BLOB はインラインでレプリケートされます。
    • この設定への変更は、既存のテーブルがリロードされた後にのみ影響します。
  • LOB 列サイズを制限しない: このオプションを選択すると、サイズに関係なく LOB 列がレプリケートされます。

    情報メモLOB 列のレプリケートは、パフォーマンスに影響を与える可能性があります。これは、ソース LOB 値を取得するためにレプリケーション タスクでソース テーブルからルックアップを実行する必要がある大規模な LOB 列の場合に特に当てはまります。
    • LOB サイズが次以下の場合に最適化: 小さい LOB と大きい LOB の両方をレプリケートする必要があり、ほとんどの LOB が小さい場合は、このオプションを選択します。

      情報メモ

      このオプションは、次のソースとターゲットでのみサポートされます。

      • ソース: Oracle、Microsoft SQL server、MySQL、PostgreSQL、IBM DB2 for LUW

      • ターゲット: Oracle、Microsoft SQL Server、MySQL, PostgreSQL

      このオプションを選択すると、フル ロード中に小さい LOB が「インライン」でレプリケートされ (より効率的)、大きい LOB はソース テーブルからのルックアップを実行することによってレプリケートされます。ただし、変更処理中は、ソース テーブルからのルックアップを実行することにより、小さい LOB と大きい LOB の両方がレプリケートされます。

      情報メモ

      このオプションを選択すると、レプリケーション タスク はすべての LOB サイズをチェックして、どの LOB サイズを「インライン」で転送するかを決定します。指定されたサイズより大きい LOB は、フル LOB モードを使用してレプリケートされます。

      したがって、ほとんどの LOB が指定された設定よりも大きいことがわかっている場合は、代わりに LOB 列を無制限にレプリケート のオプションを使用します。

    • チャンク サイズ (KB): 必要に応じて、データをターゲットにレプリケートするときに使用する LOB チャンクのサイズを変更します。ほとんどの場合は既定のチャンク サイズで十分ですが、パフォーマンスの問題が発生した場合は、サイズを調整することでパフォーマンスが向上する可能性があります。

      情報メモ

      一部のデータベースでは、データの挿入または更新時にデータ型の検証が行われます。このような場合、データが指定されたチャンク サイズより大きいと、構造化データ型 (XML、JSON、GEOGRAPHY など) のレプリケーションは失敗する可能性があります。

  • LOB 列を含めて列サイズを次に制限 (KB):

    タスクにLOB 列を含めることを選択でき、さらに最大 LOB サイズを設定できます。最大サイズより大きい LOB は切り捨てられます。

詳細設定

コントロール テーブル設定

  • コントロール テーブル スキーマ: コントロール テーブルをソース スキーマ (既定) またはターゲット スキーマに作成しない場合は、コントロール テーブルのターゲット スキーマを指定します。

    情報メモスキーマ名に許可される最大文字数は 128 文字です。
  • テーブルスペースにターゲット コントロール テーブルを作成します: ​ レプリケーション ターゲットが Oracle の場合、ターゲット コントロール テーブルを作成するテーブルスペースを指定します。この項目に情報を入力しない場合、テーブルはターゲット データベースの既定のテーブルスペースに作成されます。
  • テーブルスペースにターゲット コントロール テーブルの索引を作成します: レプリケーション ターゲットが Oracle の場合、コントロール テーブルのインデックスを作成するテーブルスペースを指定します。この項目に情報を入力しない場合、インデックスはコントロール テーブルと同じテーブルスペースに作成されます。
  • レプリケーション履歴タイムスロット (分): レプリケーション履歴コントロール テーブルの各タイムスロットの長さ。既定は 5 分です。

コントロール テーブルの選択

ターゲット プラットフォームに作成するコントロール テーブルを選択します。

論理名 ターゲット内の名前
適用の例外 attrep_apply_exceptions
レプリケーション ステータス attrep_status
一時停止のテーブル attrep_suspended_tables
レプリケーション履歴 attrep_history
DDL 履歴

attrep_ddl_history

情報メモ

DDL 履歴テーブルは、次のターゲット プラットフォームでのみサポートされています。

  • Databricks

  • Microsoft Fabric

コントロール テーブルの詳細については、「コントロール テーブル」を参照してください。

フル ロード

基本

ターゲット テーブルがすでに存在する場合: リストから次のいずれかを選択して、フル ロード起動時にターゲットのロードを処理する方法を決定します。

情報メモ

ターゲット テーブルを削除または切り捨てるオプションは、そのような操作がソース エンドポイントでサポートされている場合にのみ関係します。

  • ドロップしてテーブルを作成: テーブルがドロップされ、その場所に新しいテーブルが作成されます。

    情報メモ

    レプリケーション タスク コントロール テーブルはドロップされません。ただし、関連付けられたタスクがリロードされると、ドロップされた一時停止テーブルも attrep _suspended_tables コントロール テーブルから削除されます。

  • ロード前に切り捨て: データはテーブルのメタデータに影響を与えることなく切り捨てられます。このオプションが選択されている場合、 [フル ロードの完了後に主キーまたは一意のインデックスを作成] オプションを有効にしても効果はありません。

    情報メモMicrosoft Fabric がターゲット プラットフォームの場合はサポートされません。
  • 無視: ターゲット テーブルの既存のデータとメタデータは影響を受けません。新しいデータがテーブルに追加されます。

拡張

パフォーマンスのチューニング

データのレプリケーションが極端に遅い場合は、次のパラメータを調整するとパフォーマンスが向上する可能性があります。

  • テーブルの最大数: ターゲットに一度にロードする、テーブルの最大数を入力します。既定値は 5 です。
  • トランザクション整合性タイムアウト (秒): フル ロード操作を開始する前に、開いているトランザクションが閉じるまでレプリケーション タスクが待機する秒数を入力します。既定値は 600 (10 分) です。レプリケーション タスクは、オープンなトランザクションがある場合でも、タイムアウト値に達するとフル ロードを開始します。

    情報メモフルロードの開始時にオープンしていたが、タイムアウト値に達したにのみコミットされたトランザクションをレプリケートするには、ターゲット テーブルをリロードする必要があります。
  • フル ロード時のコミット率: 一緒に転送できるイベントの最大数。既定値は 10000 です。

フル ロードの完了後

フル ロードの完了後にタスクが自動的に停止するように設定できます。これは、タスクの変更の適用 (CDC) フェーズが始まる前に、ターゲット テーブルに対して DBA 操作を実行する必要がある場合に便利です。

フル ロード中に、ソーステーブルで実行された DML 操作がキャッシュされます。フル ロードが完了すると、キャッシュされた変更がターゲット テーブルに自動的に適用されます (以下で説明する [キャッシュされた変更の適用前/後] オプションが無効になっている場合)。

  • 主キーまたは一意のインデックスを作成: フル ロードが完了するまで、ターゲットの主キーまたは一意のインデックスの作成を遅らせる場合は、このオプションを選択します。
  • タスクの停止:
    情報メモ

    これらの設定は次の場合には利用できません。

    • SaaS アプリケーション ソースからのレプリケーション (キャッシュされたイベントがないため)
    • データ ウェアハウス ターゲットへのレプリケーション
    • キャッシュされた変更の適用前: フル ロードの完了後にタスクを停止する場合に選択します。

    • キャッシュされた変更の適用後: タスクのすべてのテーブル間でデータの整合性が取れたら、すぐにタスクを停止する場合に選択します。

    情報メモ

    フル ロードの完了後にタスクを停止するように構成する場合は、次の点に注意してください。

    • フルロードが完了してもタスクは停止しません。タスクは、変更の最初のバッチがキャプチャされた後にのみ停止されます (これがタスクを停止するトリガーとなるため)。ソース データベースが更新される頻度によっては、時間がかかる場合があります。タスクが停止すると、タスクが再開されるまで変更はターゲットに適用されません。
    • [キャッシュされた変更の適用前] を選択すると、キャッシュされた変更は最後のテーブルがフル ロードを完了したにのみテーブル に適用されるため (すでにフル ロードを完了したテーブルを含む)、パフォーマンスに影響を与える可能性があります。
    • このオプションが選択され、フル ロード処理 (フル ロードおよび変更の適用タスク) 中にソース テーブルの 1 つで DDL が実行されると、レプリケーション タスクはテーブルをリロードします。これは事実上、タスクが停止する前に、ソース テーブルで実行された DML 操作がターゲットにレプリケートされることを意味します。

初期ロード用

SaaS アプリケーション ソースからデータを移動する場合、初期フル ロードを実行する方法を設定できます。

情報メモ Data Movement gateway を使用してデータ ソースにアクセスする場合、これらの設定にはバージョン 2022.11.74 以降が必要です。
キャッシュされたデータを使用

このオプションを使用すると、 [フル データ スキャン] を選択してメタデータを生成するときに読み込まれたキャッシュ データを使用できます。

データはすでにソースから読み込まれているため、API の使用とクォータに関するオーバーヘッドが軽減されます。最初のデータ スキャン以降の変更は、変更データ キャプチャ (CDC) によって取得できます。

ソースからデータをロード

このオプションは、データ ソースから新しいロードを実行します。このオプションは次の場合に有効です。

  • メタデータのスキャンが最近実行されていない。

  • ソース データセットが小さく頻繁に変更されるため、変更履歴をすべて管理したくない。

変更の適用

これらの設定は、 [変更の適用] レプリケーション モードが有効になっている場合にのみ使用できます。

基本

DDL 変更をターゲット テーブルに適用

情報メモSaaS アプリケーション ソースから複製するときは、これらの設定は使用できません

次のオプションは、対応するソース テーブルで実行される DDL 操作をターゲット テーブルでも実行するかどうかを決定します。

  • テーブルのドロップ:  ソース テーブルがドロップされたときに、ターゲット テーブルもドロップするように選択します。
  • テーブルの切り捨て:  ソース テーブルが切り捨てられたときに、ターゲット テーブルも切り捨てるように選択します。

    情報メモMicrosoft Fabric がターゲット プラットフォームの場合はサポートされません。
  • テーブルの変更:  ソース テーブルが変更されたときに、ターゲット テーブルも変更するように選択します。

変更処理のチューニング

  • 一括変更を複数のテーブルに同時に適用: このオプションを選択すると、複数のソース テーブルからの変更を適用するときのパフォーマンスが向上する可能性があります。 

    情報メモ

    このオプションは、次の場合にのみサポートされます。

    • [変更適用モード] が [バッチ最適化] に設定されている。詳細は、 一般をご覧ください。
    • レプリケーション ターゲットは、MySQL、PostgreSQL、Oracle、Google BigQuery ではありません。
    • テーブルの最大数: 一括変更を同時に適用するテーブルの最大数です。既定は 5 になっており、最大値は 50、最小値は 2 です。

[一括変更を複数のテーブルに同時に適用] オプションが有効になっている場合、次の制限が適用されます。

  • 環境テーブル エラーのタスク エラー処理ポリシーの既定は変更されませんが、データ エラーと適用の競合エラーの既定は次のようになります。

    • データ エラー:
      • データ切り捨てエラー: 例外テーブルにレコードを記録
      • その他のデータ エラー: テーブルを一時停止
    • 適用の競合エラー:
      • 削除: レコードを無視する
      • 挿入: 既存のターゲット レコードを更新

        情報メモこれは、Snowflake ターゲットには関係ありません (Snowflake は主キーをサポートしていないため)。
      • 更新: レコードを無視する
    • エスカレーション アクション:
      • データ エラーと適用の競合の両方に対するエスカレーション アクションはサポートされていません。
    • attrep_apply_Exception コントロール テーブルはサポートされていません。
    • データ エラーの場合:
      • [例外テーブルにレコードを記録] オプションは、データ切り捨てエラーにのみ使用できます。
      • [無視する] オプションは使用できません。
    • 適用の競合の場合:
      • [例外テーブルへのログ レコード] オプションは使用できません。
      • [無視] のオプションは、 [更新を適用するためのレコードが見つかりません] の適用の競合の場合にのみ使用できます。

参照先:エラー処理

  • 変更処理ステートメントごとに適用される変更数を次に制限: 1 つの変更処理ステートメントで適用される変更の数を制限するには、このチェック ボックスをオンにし、必要に応じてデフォルト値を変更します。既定値は 10,000 です。

    情報メモこのオプションは、ターゲット MySQL、PostgreSQL、Oracle、Google BigQuery でのみサポートされます。

詳細設定

変更処理のチューニング」を参照してください。

変更の保存

これらの設定は、 [変更の保存] レプリケーション モードが有効になっている場合にのみ使用できます。

基本

DDL オプション

情報メモSaaS アプリケーション ソースから複製するときは、これらの設定は使用できません

次のオプションのいずれかを選択して、ソース テーブルに対する DDL 操作を処理する方法を決定します。

  • 変更テーブルに適用: ソース テーブルに対する DDL 操作 (追加される列など) は、対応する変更テーブルにのみ適用されます。
  • 無視: ソーステーブルに対するすべての DDL 操作は無視されます。

詳細設定

更新時

情報メモ変更は INSERT 操作として適用されるため、この設定は SaaS アプリケーション ソースには関係ありません。

更新前のデータと更新後のデータの両方を保存するには、 [変更前イメージと変更後イメージを保存する] を選択します。選択しない場合は、更新後のデータのみが保存されます。

変更テーブルの作成

次のセクションでは、変更テーブルに変更を保存するときに使用できるオプションについて説明します。

  • サフィックス: すべての変更テーブルのサフィックスとして使用する文字列を指定します。規定値は __ct です。変更テーブル名は、ターゲット テーブルの名前にサフィックスが追加されたものです。たとえば、既定値を使用すると、変更テーブルの名前は HR__ct になります。
  • ヘッダー列のプレフィックス: すべての変更テーブルのヘッダー列のプレフィックスとして使用する文字列を指定します。規定値は header__ です。たとえば、既定値を使用すると、ヘッダー列 stream_positionheader__stream_position になります。

変更テーブルの詳細については、「変更テーブルの使用」を参照してください。

フル ロード開始時に変更テーブルが存在する場合: 次のいずれかを選択して、フル ロード レプリケーションの開始時に変更テーブルをロードする方法を決定します。

  • ドロップして変更テーブルを作成: テーブルがドロップされ、その場所に新しいテーブルが作成されます。
  • 古い変更を削除し、変更を既存の変更テーブルに保存: テーブルのメタデータに影響を与えることなく、データは切り捨てられて追加されます。

    情報メモMicrosoft Fabric がターゲット プラットフォームの場合はサポートされません。
  • 古い変更を保持し、新しい変更を既存の変更テーブルに保存: 既存の変更テーブルのデータとメタデータは影響を受けません。

テーブルのヘッダー列

変更テーブルのヘッダー列には、操作のタイプ (INSERT など) やコミット時間など、変更処理操作に関する情報が表示されます。このすべての情報が必要ない場合は、ヘッダー列を選択して (または 1 つも選択せずに) 変更テーブルを作成するように 移動 タスクを構成することで、ターゲット データベースのフットプリントを削減できます。

情報メモタスクの実行中は、追加の列の削除または列の復元はできません。最初の選択を変更するには、まずタスクを停止し、次に選択を変更し、最後にターゲット テーブルをリロードする必要があります。

ヘッダー列の説明については、「 変更テーブル」を参照してください。

エラー処理

基本

適用の競合

挿入適用時にキーを複製する: INSERT 操作で競合が発生した場合に実行するアクションを選択します。

情報メモSaaS アプリケーション ソースからレプリケートする場合、既存のターゲット レコードを更新アクションのみがサポートされます。
  • 無視: タスクは続行され、エラーは無視されます。

     

  • 既存のターゲット レコードを更新: INSERTED ソース レコードと同じ主キーを持つターゲット レコードが更新されます。

  • 例外テーブルにレコードを記録 (既定): タスクは続行され、エラーは例外テーブルに書き込まれます。
  • テーブルを一時停止: タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータはレプリケートされません。

  • タスクを停止: タスクは停止され、手動による操作が必要となります。

更新を適用するためのレコードが見つかりません: UPDATE 操作で競合が発生した場合に実行するアクションを選択します。

情報メモSaaS アプリケーション ソースから複製するときは、これらの設定は使用できません
  • 無視: タスクは続行され、エラーは無視されます。
  • 不足しているターゲット レコードを挿入: 不足しているターゲット レコードがターゲット テーブルに挿入されます。ソース エンドポイントが Oracle の場合、このオプションを選択するには、すべてのソース テーブル列に対してサプリメンタル ロギングを有効にする必要があります。

  • 例外テーブルにレコードを記録 (既定): タスクは続行され、エラーは例外テーブルに書き込まれます。
  • テーブルを一時停止: タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータはレプリケートされません。

  • タスクを停止: タスクは停止され、手動による操作が必要となります。

詳細設定

情報メモ

データ エラー処理は、変更適用レプリケーション モードでのみサポートされます (フル ロードはサポートなし)。

データ エラー

データ切り捨てエラーの場合: 1 つ以上の特定のレコードで切り捨てが発生した場合に実行する処理を選択します。リストから次のいずれかを選択できます。

  • 無視: タスクは続行され、エラーは無視されます。
  • 例外テーブルへのログ レコード (既定): タスクは続行され、エラーは例外テーブルに書き込まれます。
  • テーブルを一時停止: タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータはレプリケートされません
  • タスクを停止: タスクは停止され、手動による操作が必要となります。

その他のデータ エラーの場合: 1 つ以上の特定のレコードでエラーが発生した場合に実行する処理を選択します。リストから次のいずれかを選択できます。

  • 無視: タスクは続行され、エラーは無視されます。
  • 例外テーブルへのログ レコード (既定): タスクは続行され、エラーは例外テーブルに書き込まれます。
  • テーブルを一時停止: タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータはレプリケートされません
  • タスクを停止: タスクは停止され、手動による操作が必要となります。

その他のデータ エラーが発生した場合にエラー処理をエスカレートします (テーブルごと): このチェック ボックスをオンにすると、非切り捨てデータ エラーの数 (テーブルごと) が指定された量に達したときにエラー処理がエスカレートされます。有効な値は 1 ~ 10,000 です。

エスカレーション アクション: エラー処理がエスカレートされたときに実行される処理を選択します。使用できるアクションは、上記の [その他のデータ エラーの場合] ドロップダウン リストから選択したアクションに応じて異なります。

  • テーブルを一時停止 (既定): タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータは 移動済み されません。

    情報メモ

    動作は変更処理モードに応じて異なります。

    • トランザクションの適用モードでは、最後の変更は 移動済み されません。

    • バッチ最適化の適用モードでは、データがまったく 移動済み されない、または部分的にのみ 移動済み される状況が発生する可能性があります。

  • タスクを停止: タスクは停止され、手動による操作が必要となります。
  • 例外テーブルにレコードを記録: タスクは続行され、レコードは例外テーブルに書き込まれます。

テーブル エラー

テーブル エラーが発生した場合: ドロップダウン リストから次のいずれかを選択できます。

  • テーブルを一時停止 (既定): タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータはレプリケートされません
  • タスクを停止: タスクは停止され、手動による操作が必要となります。

テーブル エラーが発生した場合にエラー処理をエスカレートします (テーブルごと): このチェック ボックスをオンにすると、テーブル エラーの数 (テーブルごと) が指定された量に達したときにエラー処理がエスカレートされます。有効な値は 1 ~ 10,000 です。

エスカレーション アクション: テーブル エラーのエスカレーション ポリシーは [タスクを停止] に設定されており、変更できません。

競合を適用

情報メモSaaS アプリケーション ソースから複製するときは、これらの設定は使用できません

DELETE を適用するためのレコードが見つかりません: DELETE 操作で競合が発生した場合に実行するアクションを選択します。

  • 無視: タスクは続行され、エラーは無視されます。
  • 例外テーブルにレコードを記録: タスクは続行され、レコードは例外テーブルに書き込まれます。
  • テーブルを一時停止: タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータはレプリケートされません。
  • タスクを停止: タスクは停止され、手動による操作が必要となります。

適用の競合が発生した場合、エラー処理をエスカレートします (テーブルごと): このチェック ボックスをオンにすると、適用の競合の数 (テーブルごと) が指定された量に達した場合にエラー処理をエスカレートします。有効な値は 1 ~ 10,000 です。

エスカレーション アクション: エラー処理がエスカレートされたときに実行される処理を選択します。

  • 例外テーブルにレコードを記録 (既定): タスクは続行され、エラーは例外テーブルに書き込まれます。
  • テーブルを一時停止: タスクは続行されますが、エラー レコードのあるテーブルのデータはエラー状態に移行し、そのデータはレプリケートされません。

    情報メモ

    動作は変更処理モードに応じて異なります。

    • トランザクションの適用モードでは、最後の変更はレプリケートされません

    • バッチ最適化の適用モードでは、データのレプリケーションが行われないか、データのレプリケーションが部分的に行われる可能性があります。。

  • タスクを停止: タスクは停止され、手動による操作が必要となります。

環境エラー

  • 最大再試行数: このオプションを選択すると、復元可能な環境エラーが発生した場合にタスクを再試行する最大回数を指定できます。タスクが指定された回数再試行されると、タスクは停止され、手動による操作が必要となります。

    タスクを再試行しない場合は、チェック ボックスをオフにするか、「0」を指定します。

    タスクを無限に再試行するには、「-1」を指定します。

    • 再試行の間隔 (秒): カウンターを使用して、システムがタスクを再試行するまでに待機する秒数を選択または入力します。

      有効な値は 0 ~ 2,000 です。

  • 長時間の停止の場合は再試行間隔を長くする: 長時間停止した場合の再試行間隔を長くするには、このチェック ボックスをオンにします。このオプションを有効にすると、最大再試行間隔に達するまで、各再試行と次の再試行の間隔が 2 倍になります (指定された最大間隔に従って再試行を継続します)。
    • 最大再試行間隔 (秒): [長時間の停止の場合は再試行間隔を長くする] オプションが有効になっている場合、カウンターを使用して、タスクの再試行間隔を待機する秒数を選択または入力します。有効な値は 0 ~ 2,000 です。

変更処理のチューニング

トランザクション オフロードのチューニング

  • 次の場合に、進行中のトランザクションをディスクにオフロードします

    レプリケーション タスクでは通常、ソースやターゲットに完全にコミットされるまで、トランザクション データがメモリ内に保持されます。ただし、割り当てられたメモリより大きいトランザクション、または指定された制限時間内にコミットされないトランザクションは、ディスクにオフロードされます。

    • トランザクション メモリ サイズが超過 (MB): すべてのトランザクションがディスクにオフロードされる前に、メモリで占有できる最大サイズ。規定値は 1024 です。
    • トランザクション期間が次を超えています (秒): 各トランザクションがディスクにオフロードされるまでに、メモリに留まることができる最大時間。期間は、レプリケーション タスクがトランザクションのキャプチャを開始した時間から計算されます。規定値は 60 です。

バッチ チューニング

次の設定は、適用モードバッチ最適化に設定されている場合にのみ使用できます。

情報メモデータ ウェアハウス ターゲットにレプリケートする場合、または Data Movement gateway を利用していない場合は、使用する [変更の適用] モードを選択することはできません。効率を最大限に高めるために、変更は常にバッチ最適化モードで適用されます。
  • バッチ変更を一定間隔で適用する:
    • Larger than (最小時間): バッチ変更を適用する際の、各適用間の最小待機時間。既定値は 1 です。

      Longer than (最小時間) の値を増やすと、変更がターゲットに適用される頻度が減少し、一方でバッチのサイズが増加します。これにより、大規模なバッチの処理用に最適化されたターゲット データベースに変更を適用するときのパフォーマンスが向上します。

    • Less than (最大時間): バッチ変更を適用する際の、各適用間の最大待機時間 (タイムアウトを宣言するまで)。つまり、許容できる最大の待機時間のことです。既定値は 30 です。この値により、Longer than (最小時間) の値に達した後、変更を適用するまでの最大待機時間が決定されます。
  • 処理メモリ (MB) が次を超えた場合にバッチを強制適用: バッチ最適化の適用モードで前処理に使用するメモリの最大量。既定値は 500 です。

    最大バッチ サイズについては、この値をレプリケーション タスクに割り当て可能な最大のメモリ量に設定します。これにより、大規模なバッチの処理用に最適化されたターゲット データベースに変更を適用するときのパフォーマンスが向上します。

時間間隔

  • 次の頻度で変更を読み込む (分)

    ソースから変更を読み取る間隔を分単位で設定します。有効な範囲は 1 ~ 1440 です。

    情報メモ

    このオプションは次の場合にのみ使用できます。

    • Data Movement gatewayを使う
    • SaaS アプリケーション ソースからのデータのランディング
    • タスクは変更データ キャプチャ (CDC)更新方法で定義されます

その他のチューニング

ステートメントのキャッシュ サイズ (ステートメントの数)

後で実行するためにサーバーに保存する準備済みステートメントの最大数 (ターゲットに変更を適用する場合)。既定値は 50 です。最大値は 200 です。

タスク リカバリ データをターゲット データベースに保存

情報メモこのオプションは、データ ウェアハウス ターゲットにレプリケートする場合は使用できません。

タスク固有のリカバリ情報をターゲット データベースに保存するには、このオプションを選択します。このオプションを選択すると、レプリケーション タスク はターゲット データベースに attrep_txn_state という名前のテーブルを作成します。このテーブルには、Data Movement gateway データ フォルダー内のファイルが破損した場合、またはデータ フォルダーを含むストレージ デバイスに障害が発生した場合にタスクを復元するために使用できるトランザクション データが含まれています。

SQL MERGE を使用して変更を適用

情報メモこのオプションは、特定のデータ ウェアハウス ターゲットにレプリケートする場合にのみ使用できます (詳細については以下を参照してください)。

このオプションが選択されていない場合、レプリケーション タスクは、Net Changes テーブル内の異なる変更タイプごとに個別の一括 INSERT、UPDATE、および DELETE ステートメントを実行します。

ヒント メモNet Changes テーブルは、バッチ最適化適用モードで作業しているときにターゲット上に作成され、ソース上で変更されたレコードが含まれます。ソースの変更がターゲットに適用されるたびに切り捨てられます。Net Changes テーブルの詳細については、「Net Changes table」を参照してください

この方法は非常に効率的ですが、このオプションをサポートするエンドポイントで作業する場合は、[SQL MERGE を使用して変更を適用] オプションを有効にするとさらに効率的になります。

これには以下の理由があります。

  • テーブルごとに実行される SQL ステートメントの数が 3 から 1 に削減されます。大規模で不変なファイルベースのクラウド データベース (Google Cloud BigQuery など) でのほとんどの UPDATE 操作では、影響を受けるファイルの書き換えが行われます。このような操作により、テーブルごとの SQL ステートメントが 3 つから 1 つに削減されることは非常に重要です。
  • ターゲット データベースは Net Changes テーブルを 1 回スキャンするだけで済むため、I/O が大幅に削減されます。

[SQL MERGE を使用して変更を適用] が [挿入の最適化] オプションとともに選択され、変更が INSERT のみで構成されている場合、レプリケーション タスクは SQL MERGE を使用する代わりに INSERT を実行します。これにより通常はパフォーマンスが向上し、コストが削減されますが、ターゲット データベースに複製レコードが作成される可能性もあることに注意してください。

情報メモ
  • [SQL MERGE を使用して変更を適用] および [挿入の最適化] オプションは、次のターゲット エンドポイントで構成されたタスクでのみ使用できます。
    • Google Cloud BigQuery
    • Databricks
    • Snowflake
  • [SQL MERGE を使用して変更を適用] および [挿入の最適化] オプションは、次のソース エンドポイントではサポートされていません。
    • Salesforce
    • Oracle
  • [SQL MERGE を使用して変更を適用] オプションが有効になっている場合:

    • 致命的でないデータ エラーまたは回復できないデータ エラーは、テーブル エラーとして処理されます。
    • 次の設定では、競合の適用エラー処理ポリシーは編集できません。
      • DELETE を適用するためのレコードが見つかりません: レコードを無視
      • 挿入適用時にキーを複製する: 既存のターゲット レコードを更新

        情報メモ[挿入の最適化] オプションも選択されている場合、[INSERT を適用するときにキーを複製] オプションは [ターゲット内の複製を許可] に設定されます。
      • 更新を適用するためのレコードが見つかりません: 不足しているターゲット レコードを挿入
      • エスカレーション アクション: 例外テーブルにレコードを記録
    • 次の [その他のデータ エラー] [データ エラー処理ポリシー] オプションは使用できません。
      • レコードを無視する
      • 例外テーブルにレコードを記録
    • 実際の SQL MERGE 操作は、最終ターゲット テーブルに対してのみ実行されます。INSERT 操作は、中間変更テーブルに対して実行されます ([変更の適用] または [変更の保存] レプリケーション モードが有効な場合)。

トランザクションの適用

情報メモデータ ウェアハウス ターゲットにレプリケートする場合、または Data Movement gateway を利用していない場合は、 [適用モード] は常に [バッチ最適化済み] であるため、これらのオプションは関係ありません。

次の設定は、 [適用モード] が [トランザクション] に設定されている場合にのみ使用できます。

  • トランザクションごとの最小変更数: 各トランザクションに含める変更の最小数。既定値は 1000 です。

    情報メモレプリケーション タスク は、変更の数がトランザクションごとの最小変更数以上の場合、またはバッチ タイムアウト値 (下記を参照) に達した場合の、いずれかの先に発生したほうのタイミングでターゲットに変更を適用します。ターゲットに適用される変更の頻度はこれら 2 つのパラメーターによって制御されるため、ソース レコードへの変更がターゲット レコードにすぐに反映されない場合があります。
  • 適用前にトランザクションをバッチ処理する最大時間 (秒): タイムアウトを宣言するまでにトランザクションをバッチで収集する最大時間。既定値は 1 です。

スキーマの進化

スキーマ内の次のタイプの DDL 変更を処理する方法を選択します。スキーマの進化の設定を変更した場合は、再度タスクを準備する必要があります。次の表には、サポートされている DDL 変更に対して使用できるアクションが示されています。

DDL の変更 ターゲットに適用 無視 テーブルを一時停止 タスクを停止
列を追加 はい はい はい はい
列のデータ型を変更 はい はい はい はい
列名を変更 はい いいえ はい はい
テーブルの名前を変更 いいえ いいえ はい はい
列をドロップ はい はい はい はい
テーブルをドロップ はい はい はい はい
テーブルを作成

[選択ルール] を使用してパターンに一致するデータセットを追加した場合、パターンを満たす新しいテーブルが検出され、追加されます。

はい はい いいえ いいえ

文字置換

ターゲット データベース内のソース文字の置換または削除、および/または選択した文字セットでサポートされていないソース文字の置換または削除ができます。

情報メモ
  • 文字はすべて Unicode コード ポイントとして指定する必要があります。

  • 文字置換は、 コントロール テーブルでも実行されます。
  • 無効な値は、テーブルのセルの右上に赤い三角形で示されます。三角形の上にマウス カーソルを置くと、エラー メッセージが表示されます。

  • タスクに定義されたテーブルレベルまたはグローバル変換は、文字の置換が完了した後に実行されます。

  • [ソース文字の置換または削除] テーブルで定義された置換アクションは、 [選択した文字セットでサポートされていないソース文字の置換または削除] テーブルで定義された置換アクションの前に実行されます。

  • 文字置換は LOB データ型をサポートしません。

ソース文字の置換または削除

[ソース文字の置換または削除] テーブルを使用して、特定のソース文字の置換を定義します。これは、文字の Unicode 表現がソース プラットフォームとターゲット プラットフォームで異なる場合などに便利です。たとえば、Linux では、Shift_JIS 文字セットのマイナス文字は U+2212 と表されますが、Windows では U+FF0D と表されます。

置換アクション
内容 実行すること

置換アクションを定義する。

  1. テーブルの上にある [文字を追加] ボタンをクリックします。

  2. [ソース文字] および [置換文字] の項目にそれぞれソース文字とターゲット文字を指定します。

    たとえば、文字「a」を文字「e」に置き換えるには、 00610065 をそれぞれ指定します。

    情報メモ

    指定したソース文字を削除するには、 [置換文字] 列に「0」と入力します。

  3. 追加の文字を置換または削除するには、手順 1 ~ 2 を繰り返します。

指定されたソースまたはターゲットの文字を編集する

行の最後にある をクリックして、 [編集] を選択します。

テーブルからエントリを削除する

行の最後にある をクリックして、 [削除] を選択します。

選択した文字セットでサポートされていないソース文字の置換または削除

[文字セットでサポートされていないソース文字] テーブルを使用して、選択した文字セットでサポートされていないすべての文字に対して 1 つの置換文字を定義します。

サポートされていない文字の置換アクション
内容 実行すること

置換アクションを定義または編集する。

  1. テーブルの [文字セット] ドロップダウン リストから文字セットを選択します。

    選択した文字セットでサポートされていない文字は、ターゲット上で以下の手順 2 で指定する文字に置き換えられます。

  2. [置換文字] 列で、列内の任意の場所をクリックし、置換文字を指定します。たとえば、サポートされていない文字をすべて「a」に置き換えるには、「0061」と入力します。

    情報メモ

    サポートされていない文字をすべて削除するには、「0」と入力します。

置換アクションを無効にする。

[文字セット] ドロップダウン リストから空のエントリを選択します。

詳細オプション

これらのオプションは特定のバージョンまたは環境にのみ関連するため、UI では公開されていません。したがって、Qlik サポートまたは製品ドキュメントにより明示的に指示されない限り、これらのオプションを設定しないでください。

オプションを設定するには、オプションを [機能名の追加] 項目にコピーし、 [追加] をクリックします。次に、受け取った指示に従って値を設定するか、オプションを有効にします。

Data Movement gateway を使用しない場合のタスクのスケジュール設定

Data Movement gatewayQlik Talend Cloud スターター サブスクリプションではサポートされておらず、他のサブスクリプション ティアではオプションとなっています。Data Movement gateway なしで作業する場合、ほぼリアルタイムの CDC (変更データ キャプチャ) はサポートされません。スケジュール間隔を設定してターゲット データを最新の状態に保ちます。スケジュールにより、ソース データセットの変更に応じてターゲット データセットを更新する頻度が決定されます。更新頻度はスケジュールによって決定されますが、更新方法はデータセットの種類によって決まります。ソース データセットが CDC をサポートしている場合は、ソース データへの変更のみがレプリケーションされ、対応するターゲット テーブルに適用されます。ソース データセットが CDC をサポートしていない場合 (ビューなど)、すべてのソース データを対応するターゲット テーブルに再ロードすることによって変更が適用されます。一部のソース データセットが CDC をサポートし、一部がサポートしない場合は、2 つの個別のサブタスクが作成されます ([変更の適用] または [変更の保存] レプリケーション オプションが選択されていると想定)。1 つは CDC をサポートしないデータセットを再ロードするためのもので、もう 1 つは CDC をサポートするデータセットへの変更をキャプチャするためのものです。この場合、データの一貫性を確保するために、両方のサブタスクに同じスケジュールを設定することを強くお勧めします。

データ ソースの種類とサブスクリプション ティアに応じた最小スケジュール間隔の詳細については、「許容される最小スケジュール間隔」を参照してください。

スケジュールを変更するには:

  1. プロジェクトを開き、次のいずれかを実行します。

    • タスク ビューで、レプリケーション タスクの [3 つの水平ドットで構成されるメニュー ボタン。] をクリックし、 [スケジュール] を選択します。
    • パイプライン ビューで、レプリケーション タスクの [3 つの垂直ドットで構成されるメニュー ボタン。] をクリックし、 [スケジュール] を選択します。
    • レプリケーション タスクを開き、 [スケジュール] ツールバー ボタンをクリックします。
  2. 必要に応じてスケジュール設定を変更し、 [OK] をクリックします。
情報メモ次のスケジュール実行の開始予定時にレプリケーション タスクが実行中の場合、タスクが完了するまで次のスケジュール実行はスキップされます。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。