スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
HiRDB/パラレルサーバでのSQL文の問合せ処理は,主に3ステップに分けて実行しています。HiRDB/パラレルサーバでのSQL文の問合せ処理方式を次の図に示します。
図4-17 HiRDB/パラレルサーバでのSQL文の問合せ処理方式
HiRDBでは,ステップ2で使用するフロータブルサーバは,SQLごとにそのSQLでアクセスしないバックエンドサーバを自動的に割り当てます。ただし,SQL最適化オプションを指定した場合には,フロータブルサーバの割り当て方法を変更できます。
フロータブルサーバの割り当てに関する最適化を次に示します。なお,これらの最適化の特徴については,「(2) フロータブルサーバの割り当てに関する最適化の特徴」を参照してください。
また,次の最適化を適用すると,フロータブルサーバの割り当て台数を最大値まで増やせます。なお,この最適化の特徴については,「(3) フロータブルサーバの割り当て候補数に関する最適化の特徴」を参照してください。
フロータブルサーバの割り当てに関する最適化の特徴を次の表に示します。
表4-7 フロータブルサーバの割り当てに関する最適化の特徴
最適化方法 | 長 所 | 短 所 |
---|---|---|
省略した場合 | データ取り出しバックエンドサーバに,ソートなどの負荷が掛かる処理を割り当てないため,同時に同じバックエンドサーバからデータを取り出すSQL文を実行した場合,高速に検索できます。 | データ取り出し以外のバックエンドサーバをフロータブルサーバとして割り当てるため,通信負荷が高くなります。 |
フロータブルサーバ対象拡大(データ取り出しバックエンドサーバ) | 「フロータブル候補数の拡大」と組み合わせると,フロータブルサーバをすべてのバックエンドサーバに割り当てるため,フロータブルサーバでのソートなどの並列処理の効果が高くなります。 | 複数のSQL文を同時に実行する場合,同一フロータブルサーバに複数の処理が割り当てられるため,同時実行性が損なわれます。また,通信負荷も高くなります。 |
フロータブルサーバ対象限定(データ取り出しバックエンドサーバ) | 検索に使用する表が定義されているバックエンドサーバにだけ,フロータブルサーバを割り当てるため,表定義によって使用するバックエンドサーバを使い分けることができます。 | 分割数が少ない表に大量のデータが格納されている場合は,使用できるフロータブルサーバが少なくなるため,すべてのバックエンドサーバを有効に使用できなくなります。 |
データ収集用サーバの分離機能 | データ収集用サーバにデータを送る場合,同じサーバと別サーバから同時にデータが転送されると,同じサーバからの転送を優先します。これによって,別サーバの処理は後になってしまいます。データ収集用サーバの分離機能を適用すると,すべてのサーバを別サーバとして扱うことができるので,すべてのサーバから均等にデータを受け取れるようになります。 | 1SQL文中に集合演算,副問合せを伴った検索など,問合せが複数個ある場合は,常に同じフロータブルサーバが使用されるため,同時実行性が損なわれます。 |
フロータブルサーバの割り当て候補数に関する最適化の特徴を次の表に示します。
表4-8 フロータブルサーバの割り当て候補数に関する最適化の特徴
最適化方法 | 長 所 | 短 所 |
---|---|---|
省略した場合 | データ件数が多い検索では,フロータブルサーバの割り当て台数を多くします。データ件数が少ない検索では,フロータブルサーバの割り当て台数を少なくします。 | 探索条件に=やBETWEENなどの絞り込める述語を指定している場合,HiRDBはデータ件数が少ないと判断します。実際に=やBETWEENなどであまり絞り込めない場合でも,フロータブルサーバの割り当て台数を少なくするため,サーバの処理負荷が高くなります。 |
フロータブルサーバ候補数の拡大 | データ件数が多い検索では,すべてのフロータブルサーバを使用して効率的に検索できます。 | データ件数が少ない検索でもすべてのフロータブルサーバを使用するため,SQL文の同時実行性が損なわれます。また,サーバ間の通信経路が複雑になるため,表の分割数が多い場合には,通信負荷も高くなります。 |
最適化方法を省略した場合のフロータブルサーバの割り当てを次の図に示します。
図4-18 最適化方法を省略した場合のフロータブルサーバの割り当て
フロータブルサーバ対象拡大(データ取り出しバックエンドサーバ)を適用する場合のフロータブルサーバの割り当てを次の図に示します。
図4-19 フロータブルサーバ対象拡大(データ取り出しバックエンドサーバ)を適用する場合のフロータブルサーバの割り当て
フロータブルサーバ対象限定(データ取り出しバックエンドサーバ)を適用する場合のフロータブルサーバの割り当てを次の図に示します。
図4-20 フロータブルサーバ対象限定(データ取り出しバックエンドサーバ)を適用する場合のフロータブルサーバの割り当て
データ収集用サーバの分離機能を適用する場合のフロータブルサーバの割り当てを次の図に示します。
図4-21 データ収集用サーバの分離機能を適用する場合のフロータブルサーバの割り当て
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.