クエリー バンドの機能 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

クエリー バンドには、Teradataセッションやトランザクションに対するユーザー自身の固有識別子を設定し、DBC.SessionTblで管理されているセッション識別子フィールドの現在の設定に識別子を追加する方法が用意されています(HELP SESSIONを参照)。

クエリー バンドは、ユーザーまたは中間階層アプリケーションで定義されたname:valueのペアのセットで、セッションまたはトランザクションに設定して、クエリーの元のソースを識別できます。クエリー バンドは、リクエストをラップしたメタデータと考えることができます。クエリー バンドが定義されると、次の例のような1つの文字列リテラルでname:valueのペアのリストとしてTeradata Databaseに渡されます。

     'org=Finance;report=EndOfYear;universe=west'
     'Job=payroll;Userid=dg120444;Jobsession=1122;'
Teradata Databaseには複数のリクエスト識別子(ユーザーID、アカウント文字列、クライアントID、クライアント アドレス、アプリケーション名など)がありますが、クエリー バンドには、さらに役に立つ次のような機能が用意されています。
  • セッション プーリングを使用するSQL生成ルーチンやWebアプリケーションなどの複数階層アプリケーションが、チャージバック、アカウント、トラブルシュートや関連タスクの管理のためにユーザーおよびアプリケーションを識別する際に使用できる唯一の方法。
  • 高い優先順位のジョブの順位を直接上げるなどの操作を実行するための、異なるパフォーマンス優先順位の割り当て。

    例えば、一部のアプリケーションでは、対話式のレポートに対して発行されたリクエストには、出力ファイルを生成するレポートに対して発行されたリクエストよりも高い優先順位を与える必要があります。

  • アカウントや制御目的で任意のジョブでリクエストを分類する方法。

    クエリー バンドにはさらにアプリケーション側のアカウントや制御を管理する方法も用意されています。

各ペアの名前と値は、ユーザーや中間階層アプリケーションによって定義でき、クエリー バンドでは、各アプリケーションの固有のニーズにあうようにカスタマイズできます。

以下はクエリー バンドに対する使用例です:
  • クエリー バンドの名前と値のペアを使って、アカウント処理やリソース割り当ての目的でさらに調整するため、DBQLレポートを作成できます。クエリー バンドは、DBQL詳細ロギング テーブルの列にロギングされます。

    クエリー バンドのname:valueペアをパフォーマンス問題のデバッグにも使うことができます。

  • クエリー バンドのname:valueペアをシステム変数として使うことができます。

    クエリー バンドをセッションに設定し、UDFまたは外部プロシージャで関連情報を取得できます。クエリー バンド情報を取得する別の方法および<Teradata Vantage™- アプリケーション プログラミング リファレンス、B035-1090>を参照してください。

  • クエリー バンドを設定して、以下のものを信頼済みセッションにアサートできます。
    • プロキシ ユーザー
    • プロキシ ロール
    • プロキシ ユーザー且つプロキシ ロールの両方
  • クエリー バンドのname:valueのペアを、Teradata動的ワークロード管理ソフトウェアのフィルタ ルールと関連付けることができます。詳細については、<Teradata Vantage™- アプリケーション プログラミング リファレンス、B035-1090>を参照してください。

    Webベースのアプリケーション サーバーを使用して、すべてTeradata Databaseにシングル ログオンで接続するディレクトリ ベースの接続およびアプリケーションに対して、クエリー バンドを使って、リクエストの元のソースを判別し、TDWMソフトウェアのルールを使ってリソースを管理できます。

  • クエリー バンドのnamevalueのペアを、TDWMソフトウェアのワークロード分類属性として定義できます。

    これによりシングル ログオンでのすべてのリクエストを、もととなるアプリケーションによって設定されたクエリー バンドに基づいて別のワークロードに分類できます。

    アプリケーションで異なるリクエストに異なる優先順位を設定することもできます。たとえば、GUIアプリケーションでは、一部のダイアログでは、ただちに応答する必要がありますが、バックグラウンドで実行する長い実行レポートを実行するものもあります。アプリケーションではジョブのタイプそれぞれに異なるクエリー バンドを設定でき、これにより各リクエストは異なるワークロードに分類でき、異なる優先順位で実行されます。結果として、アプリケーション全体を高優先順位で実行するのではなく、リクエストごとの優先順位を調整して、システム リソースを最適に使用できます。

    バイパスするように宣言して、クエリー バンドのフィルタ ルールを回避できないことに注意してください。TDWMソフトウェアはオブジェクト タイプ コードQRYBNDでクエリー バンドを参照することに注意してください。