スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)
HiRDB/パラレルサーバでは複数のSQLを複数のバックエンドサーバを使用して並列に処理しています。フロントエンドサーバは,SQLの解析処理,SQLの最適化処理,各バックエンドサーバへ処理の指示や検索結果の編集処理などをしています。したがって,高トラフィックなシステムではフロントエンドサーバの負荷が高くなり,そのため処理性能が向上しなくなります。こういう場合は,フロントエンドサーバを複数設定して,フロントエンドサーバの負荷を分散させてください。これをマルチフロントエンドサーバといいます。
図10-2 マルチフロントエンドサーバの構成例
複数あるフロントエンドサーバのうち,UAPがどのフロントエンドサーバに接続するかは,次に示すどちらかが決定します。
マルチフロントエンドサーバを実行するために,特に指定は必要ありません。
ただし,次に示すオペランドの指定値に注意してください。このオペランドの指定値の目安については,マニュアル「HiRDB Version 8 システム定義」を参照してください。
HiRDBシステム定義のオペランドの指定やシステムファイルの作成個数などの環境設定方法は変わりますが,運用方法は変わりません。
マルチフロントエンドサーバ構成で,表定義時にCURRENT_TIMESTAMPを既定値とするDEFAULT句を指定した時刻印型の列を含む表を,行の挿入又は更新時刻で並べ替える場合,注意が必要です。
マルチフロントエンドサーバの場合,UAPと接続したフロントエンドサーバが現在の時刻印を取得し,その値を時刻印列の既定値として設定します。ただし,フロントエンドサーバがあるユニット間でシステムの時刻が異なることがあるため,時刻印列の値で並べ替えた順番と,実際に行を挿入又は更新した時刻で並べ替えた順番が一致しない場合があります。
順番を一致させるには,表定義時にCURRENT_TIMESTAMP USING BESを既定値とするDEFAULT句を時刻印列に指定します。USING BESを指定すると,その列に既定値を挿入又は既定値で更新時,挿入又は更新する行を格納するRDエリアを管理するバックエンドサーバで現在の時刻印を取得し,その値を挿入,又はその値で更新します。そのため,時刻印型の列で並べ替えた順番と,実際に行を挿入又は更新した時刻で並べ替えた順番は,行を格納するRDエリアを管理するバックエンドサーバがあるユニット単位で一致させることができます。
USING BESの指定有無と現在の時刻印を取得するサーバを次の表に示します。
表10-2 USING BESの指定有無と現在の時刻印を取得するサーバ
USING BESの指定有無 | 現在の時刻印を取得するサーバ | |
---|---|---|
HiRDB/シングルサーバ | HiRDB/パラレルサーバ | |
なし | シングルサーバ | UAPと接続したフロントエンドサーバ |
あり | 挿入,又は更新する行を格納するRDエリアを管理するバックエンドサーバ |
接続するフロントエンドサーバをクライアントユーザが決める場合は,接続するフロントエンドサーバをクライアント環境定義で指定します。高速接続機能を使用する場合とFESホストダイレクト接続機能を使用する場合とで指定するクライアント環境定義が異なります。指定する必要があるクライアント環境定義を次の表に示します。クライアント環境定義については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
表10-3 マルチフロントエンドサーバ時に指定するクライアント環境定義
クライアント環境定義 のオペランド |
接続する フロントエンドサーバ を指定しない場合 |
接続するフロントエンドサーバ を指定する場合 |
|
---|---|---|---|
FESホスト ダイレクト接続 |
高速接続 | ||
PDHOST | ○ | ○ | ○ |
PDFESHOST | − | ○ | ○ |
PDNAMEPORT | ○ | ○ | ○ |
PDSERVICEPORT | − | − | ○ |
PDSERVICEGRP | − | ○ | ○ |
PDSRVTYPE | − | − | − |
HiRDBサーバへの接続時間は,次に示す順番どおりに短縮されます(1が最も短縮されます)。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.