スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

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

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

 

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

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

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

最適化方法
(グループ分け処理方式
の種類)
長 所 短 所
最適化を省略した場合
(FLOATABLE SORT)
バックエンドサーバ間のデータ件数に偏りがあり,グループ化してもデータ件数があまり減らない場合は高速に検索できます。 通信量が多くなるため,グループ化数が少なく,データ件数が多い場合には性能が悪くなります。
グループ分け高速化処理
(HASH)
グループ数が少ない場合は高速に検索できます。 ハッシングでグループ化をするため,グループ数が多い場合には性能が悪くなります。
自バックエンドサーバでのグループ化,ORDER BY,DISTINCT集合関数処理
(LIST SORT)
グループ化することで,データ件数が大幅に減る場合は高速に検索できます。また,分割キーでグループ化する場合も高速に検索できます。 各バックエンドサーバでソート処理をするため,バックエンドサーバ間のデータ件数に偏りがある場合は,データ件数の多いサーバの処理時間が長くなるため,性能が悪くなります。
(a) 最適化を省略した場合のグループ分け処理方式

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

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

[図データ]

[説明]
  1. データ取り出し処理だけをします。
  2. グループ化列でのソート,グループ化だけをします。
  3. グループ化処理結果を集めて,クライアントに転送します。
(b) グループ分け高速化処理を適用した場合のグループ分け処理方式

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

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

[図データ]

[説明]
  1. データ取り出し後,グループ化列でハッシングしてグループ化をします(フロータブルサーバは使用しません)。
  2. 各バックエンドサーバでのグループ化結果を集めて,更に全体をグループ化して,結果をクライアントに転送します。
(c) 自バックエンドサーバでのグループ化,ORDER BY,DISTINCT集合関数処理を適用した場合のグループ分け処理方式

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

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

[図データ]

[説明]
  1. データ取り出し後,グループ化列でソート,グループ化をします(フロータブルサーバは使用しません)。
  2. 各バックエンドサーバでのグループ化結果を集めて,更に全体をグループ化して,結果をクライアントに転送します。