17.10 - Streamオペレータを使用するTPTスクリプト内の属性 - Parallel Transporter

Teradata® Parallel Transporter リファレンス

Product
Parallel Transporter
Release Number
17.10
Published
2022年2月
Content Type
プログラミング リファレンス
Publication ID
B035-2436-061K-JPN
Language
日本語 (日本)
Last Update
2022-02-11
ほとんどの場合、ストリーム オペレータ自体の属性の設定方法を選択できます。主要な変数は、Pack属性、MaxSessions属性、MinSessions属性、ArraySupport属性(ONまたはOFF)、およびジョブのSERIALIZEオプション(ONまたはOFF)です。
  • Pack属性 – Stream演算子の主要なパフォーマンス イネーブラの1つであり、各セッションのバッファが保持する行数を表わします。デフォルト値は20です。一般的に、パック係数が高いと、低いパック係数よりもパフォーマンスが向上します。
  • MaxSessionsMinsessions属性 – データをデータベースに転送するための最大および最小セッション数をStream演算子に伝えます。
  • ArraySupport属性 – 1つのリクエスト内で複数のパラメータ値セットに対してパラメータ化されたDML文を反復処理するための、Stream演算子の改善方法を提供する、新しいデータドリブン反復機能を提供します。
  • SERIALIZEジョブ オプション – レコードのアプリケーションの順序を確保し、行のハッシュ ロックの競合を減らすために使用することができます。Stream演算子は、各入力行を処理するために割り当てられたセッションを決定するために、キー(通常はプライマリ インデックス)に基づいてハッシュ値を計算します。 これにより、同一のキーを持つすべての行が同一のセッションで順番に処理されます。このことは、行が多くのセッションに分散されている場合に特に重要です。
これらの変数は相関関係にあります。いくつかの推奨事項があります。
  • 一般的なStream演算子のスループットの推奨事項は、「最大限にまとめ、問題が起きるまでセッションを増やす」ことです。AWT、CPU、またはハッシュの衝突の問題が発生した場合は、セッション数を減らします。SERIALIZE ONを使用し、セッションの削減が現状または推奨セッション数から8または16を超えないようにします。
  • MaxSessions/MinSessionsを同じにして、シリアル化を促進します。低いパック係数でセッションを枯渇させ、行レートを遅くします。中から大規模な行サイズのテーブルでは、パックを15%削減します。行サイズが小さいテーブルでは、パックを25%削減します。
  • 同じセッションのレコードに、同じプライマリ インデックス ハッシュを持たせます。少ないセッション数でデータが分散すると、スループットが低下します。
  • 同じセッション フットプリントでパックを増やすと、1秒あたりのスループットが増加します。
  • SERIALIZE ONにすると、セッション数は奇数に維持する必要があります。
以下の条件を満たす場合には:
  • スキーマに可変長列がある
  • 配列サポートがオンである
  • 次のいずれかに該当する
    • PACK係数が2400に設定されている
    • PACKMAXIMUMが'Yes'または'Y'に設定されている
    • PACK係数の属性およびPACKMAXIMUM属性のいずれも設定されていない

ユーザーに、次のようなメッセージで"浮動小数"PACK係数が通知されます。

**** 14:50:34 The PACK factor has changed. The minimum PACK factor is about 1270 data records per request. The maximum PACK factor is about 1298 data records per request.