管理の手引き


アプリケーションの並列処理

DB2 がサポートする並列環境の 1 つのタイプは、 対称マルチプロセッサー (SMP) マシンを必要とする環境です。 この環境では、複数のプロセッサーがデータベースへのアクセスを共用します。 これにより、複雑な SQL 要求は複数のプロセッサーに分割され、 並列に実行できるようになります。

アプリケーションのコンパイル時に CURRENT DEGREE 特殊レジスターまたは DEGREE バインド・オプションを使用することで、 実行する並列化の度合い (並列度) を指定できます。 「度合い」は、単に、並行して実行される照会の部分の数を指します。 プロセッサーの数と並列化の度合いに選択する値との間には、厳密な関係はありません。 ハードウェア・プラットフォームで使用可能な総プロセッサー数が、 アプリケーションの実行中に要求されるわけではありません。 つまり、選択する値はこの数より多くても少なくてもかまいません。

並列度が大きくなれば、システム・メモリーと CPU のオーバーヘッドは増えます。

並列化を活用する際には、 パフォーマンスを最適化するために一部の構成パラメーターを修正する必要があることに注意してください。 並列度が高い環境では、共用メモリー量と事前取り出しを制御する構成パラメーターを見直し、 必要に応じて修正する必要があります。 並列操作と区分データベース環境に関するパラメーターのリストについては、 並列を参照してください。

並列化の制御や管理に使用する構成パラメーターは、3 つあります。 intra_parallel データベース・マネージャー構成パラメーターは、 インスタンス並列サポートをオンにしたりオフにしたりします。 max_querydegree データベース・マネージャー構成パラメーターは、 データベースでの照会における並列度の上限を設定します。 この値は、CURRENT DEGREE 特殊レジスターおよび DEGREE バインド・オプションを上書きします。 3 番目の構成パラメーターは、dft_degree データベース構成パラメーターです。 これは、CURRENT DEGREE 特殊レジスターおよび DEGREE バインド・オプションの省略時値を設定します。

2 つ以上の並列度を使用するアプリケーションの用途と意味の詳細については、 アプリケーション開発の手引き を参照してください。

照会で DEGREE = ANY を指定して実行すると、 データベース・マネージャーによって区画内の並列度が選ばれます。 この並列度は、プロセッサーの数や照会の特性などを示すいくつかの係数に基づいて選ばれます。 ですから、係数の値によっては、 実際に実行時に使用される度合いの値がプロセッサーの数よりも少ない場合があります。

並列度は、ステートメントのコンパイル時に SQL 最適化プログラムによって判別され、 データベース活動に応じて、照会が実行される前に調整されます。 システムがよく使用されている場合には、 並列度は SQL 最適化プログラムで選ばれた値よりも小さい可能性があります。 なぜなら、区画内並行処理は照会にかかる時間を節約するためにシステム・リソースを酷使するからです。 このままでは、他のデータベース・ユーザーのパフォーマンスも低下してしまいます。

SQL 最適化プログラムによって選ばれた並列度は、 SQL Explain 機能を使用してアクセス・プランを表示することによって検出できます。 また、実行時での並列度は、データベースのシステム・モニターを使って検出できます。 SQL Explain 機能と関連ツールの詳細については、 第 26 章, SQL Explain 機能付録 H, SQL EXPLAIN ツールを参照してください。 さらに詳細については、システム・モニター 手引きおよび解説書 を参照してください。
注:並列度は、ハードウェア環境とは関係なく設定できます。 つまり、SMP マシンがなくても、並列度を使用できます。 たとえば、単一プロセッサー・マシンで "入出力制約" の照会を実行する場合でも、 "2" 以上の並列度を指定しておいた方が有利です。 この場合、単一プロセッサーは入力または出力タスクの完了を待たずに、 次の照会を処理できます。 並列度 "2" 以上を宣言しても、単一プロセッサー・マシン上の入出力並列化は制御しません。 LOAD などのユーティリティーでは、このような宣言とは関係なく、 入出力の並列化を制御することができます。 キーワード ANY は、dft_degree を変更する時にも使用できます。 ANY を使用することは、 最適化プログラムが区画内並行処理度を判別することを意味します。

多くの場合、並列実行を調整するためにデータベース・エージェント が使用されます。 詳細および各種のデータベース・マネージャー構成パラメーターのリストについては、 データベース・エージェントを参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]