ETL チューニング

コンタクトおよびレスポンス履歴モジュールを構成するとき、 モジュールは、バックグラウンドで抽出、変換、ロード (ETL) プロセスを行い、 データをランタイム・ステージング・テーブルから Campaign コンタクトおよび レスポンス履歴テーブルに移動させます。

このセクションでは、ETL ツールのパフォーマンスを向上させるために IBM® Interact で変更したいオプションの構成設定について説明します。これらデフォルト設定の構成パラメーターを変更 する必要はないかもしれませんが、変更する場合、このセクションおよび「IBM Interact 管理者ガイド」にあるガイドラインに従い、ツールのパフォーマンスを変更します。

このセクションで説明されているすべてのプロパティーは、Campaign | partitions | partition[n] | Interact | contactAndResponseHistTrackingCampaign 構成プロパティーにあります。

構成プロパティー

値および説明

processSleepIntervalInMinutes

Interact ランタイムのステージング・テーブルから Campaign のコンタクトとレスポンスの履歴テーブルにデータをコピーする間、Interact のコンタクトとレスポンスの履歴モジュールが待機する分数。デフォルト値は 60 です。

purgeOrphanResponseThresholdInMinutes

このプロパティーでは、対応するコンタクトがない場合に、Interact が レスポンスをパージする待ち時間を決定します (別名「孤立したレスポンス」)。デフォルトは 180 です。ただし、レコード処理のために コンタクトおよびレスポンスの処理時間に大きな遅延が生じるため、 この値を上げて、あまりにも急にレスポンスがパージされてしまうのを 避けることができます。

maxJDBCInsertBatchSize

1 回の反復でコンタクトおよびレスポンス履歴モジュールが処理するレコードの合計数のうち、 これが Campaign システム・テーブルに照会をコミットする前に JDBC バッチが処理する (およびバッチで集める) レコードの最大数です。デフォルト値は 1000 です。

この値は maxJDBCFetchBatchSize プロパティーと共に処理されるため、 このプロパティーの値が大幅に増えた場合、この値も増やす必要があるかもしれません。例えば、maxJDBCFetchBatchSize を 2,500,000 に設定した場合、この値を 10,000 に増やし、レコードの増加に対応できるようにします。

この値を増やすと、メモリー所要量も増えることに注目してください。 このプロパティーの 10,000 という設定は、メモリー要求にかなう適切な上限です。

maxJDBCFetchBatchSize

ステージング・データベースから取り出すレコードの最大数を決定し、 ETL バッチ処理操作を行います。デフォルト値は 1000 ですが、 コンタクトおよびレスポンス履歴モジュールのパフォーマンスをチューニングするには、 この値を通常毎日処理されるコンタクト履歴レコードの数よりも 大きい値に設定するようにします。

このプロパティーは、 maxJDBCFetchChunkSize および maxJDBCInsertBatchSize と共に使用され、 レコードがどのように処理されるかを決定します。例えば、ここに示されているような 値が設定されているとします。

  • maxJDBCFetchBatchSize: 30000

  • maxJDBCFetchChunkSize: 1000

  • maxJDBCInsertBatchSize: 1000

この例では、30,000 個のレコードを取り出します (または、レコード数が 30,000 以下の場合はそのレコード総数)。その後、コンタクトおよびレスポンス履歴モジュールは、 1 回に 1,000 個のレコードを処理しながら、30,000 個のレコード内をループし、 ステージング・テーブルの 1,000 個のレコードにマークを付け、 1,000 個のレコードをコンタクト履歴テーブルの詳細に挿入します。

maxJDBCFetchChunkSize

JDBC チャンクのレコードの最大数 (最大 maxJDBCFetchBatchSizeレコードまで) を決定し、 それぞれのパスを通して処理します。デフォルト値は 1000 です。場合によっては、この値を MaxJDBCInsertBatchSize プロパティー値よりも大きくすることで、パフォーマンスを向上できます。

deleteProcessedRecords

コンタクトおよびレスポンス履歴レコードを処理した後、レコードを保持するかどうかを指定する このプロパティーは、デフォルトで「はい」に設定されています。この値を変更することによって、 ETL プロセスのデータ・フローをさらに制御し、(後の判断時までこれらのレコードのパージを遅延させることで) パフォーマンスに 影響を与えることができるようになります。ただし、これらのレコードを適切な時に削除できるよう、手動でレコードのメンテナンスを行うことに精通している必要があります。この設定を変更する場合は注意が必要です。

fetchSize

JDBC fetchSize に値を入れることにより、 レコードの大規模なバッチ処理のパフォーマンスを向上させることができますが、 ネットワークのパフォーマンスが向上する代わりに、メモリー使用における取り出しのサイズが大きくなってしまいます。この設定の調整の詳細については 「IBM Interact 管理者ガイド」にあるこの構成プロパティーの説明を参照してください。

このセクションで説明されている各構成プロパティーの詳細については、 構成ページのオンライン・ヘルプを参照するか、「IBM Interact 管理者ガイド」を参照してください。