Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


4.5.5 グループ分け処理方式(HiRDB/パラレルサーバ限定)

グループ分け処理方式に影響がある最適化を次に示します。

HiRDBがグループ分けのためのソート又はハッシング処理を不要と判断した場合は,より高速に処理できる方式が選択されます。グループ分け処理方式については,マニュアル「HiRDB コマンドリファレンス」を参照してください。

グループ分け処理方式に関する最適化の特徴を次の表に示します。

表4‒9 グループ分け処理方式に関する最適化の特徴

最適化方法

(グループ分け処理方式

の種類)

長 所

短 所

最適化を省略した場合

(FLOATABLE SORT)

バックエンドサーバ間のデータ件数に偏りがあり,グループ化してもデータ件数があまり減らない場合は高速に検索できます。

通信量が多くなるため,グループ化数が少なく,データ件数が多い場合には性能が悪くなります。

グループ分け高速化処理

(HASH)

グループ数が少ない場合は高速に検索できます。

ハッシングでグループ化をするため,グループ数が多い場合には性能が悪くなります。

自バックエンドサーバでのグループ化,ORDER BY,DISTINCT集合関数処理

(LIST SORT)

グループ化することで,データ件数が大幅に減る場合は高速に検索できます。また,分割キーでグループ化する場合も高速に検索できます。

各バックエンドサーバでソート処理をするため,バックエンドサーバ間のデータ件数に偏りがある場合は,データ件数の多いサーバの処理時間が長くなるため,性能が悪くなります。

〈この項の構成〉

(1) 最適化を省略した場合のグループ分け処理方式

最適化を省略した場合のグループ分け処理方式を次の図に示します。

図4‒22 最適化を省略した場合のグループ分け処理方式

[図データ]

[説明]
  1. データ取り出し処理だけをします。

  2. グループ化列でのソート,グループ化だけをします。

  3. グループ化処理結果を集めて,クライアントに転送します。

(2) グループ分け高速化処理を適用した場合のグループ分け処理方式

グループ分け高速化処理を適用した場合のグループ分け処理方式を次の図に示します。

図4‒23 グループ分け高速化処理を適用した場合のグループ分け処理方式

[図データ]

[説明]
  1. データ取り出し後,グループ化列でハッシングしてグループ化をします(フロータブルサーバは使用しません)。

  2. 各バックエンドサーバでのグループ化結果を集めて,更に全体をグループ化して,結果をクライアントに転送します。

(3) 自バックエンドサーバでのグループ化,ORDER BY,DISTINCT集合関数処理を適用した場合のグループ分け処理方式

自バックエンドサーバでのグループ化,ORDER BY,DISTINCT集合関数処理を適用した場合のグループ分け処理方式を次の図に示します。ただし,この図は1表を検索するときの処理方式です。

図4‒24 自バックエンドサーバでのグループ化,ORDER BY,DISTINCT集合関数処理を適用した場合のグループ分け処理方式

[図データ]

[説明]
  1. データ取り出し後,グループ化列でソート,グループ化をします(フロータブルサーバは使用しません)。

  2. 各バックエンドサーバでのグループ化結果を集めて,更に全体をグループ化して,結果をクライアントに転送します。