"複数の物理ノード上に分散配置される複数のデータベースサーバであって、当該複数のデータベースサーバのうち、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されていることを特徴とする、当該複数のデータベースサーバと、前記物理ノードそれぞれに関する負荷を監視し、目標より負荷が大きな物理ノード上のデータベースサーバから、目標より負荷が小さな物理ノード上のデータベースサーバへと、クライアントとのコネクションを移動させて、前記負荷を均衡させるようにコネクションを配分する配分部とを含む、情報処理システム。前記配分部は、目標を上回る分の負荷に相当する接続数分のコネクションの再接続を計画し、目標を下回る分の負荷に応じた確率で再接続を含む新たなコネクションの配分を計画する均衡計画部を含み、前記情報処理システムは、再接続が計画されたコネクションをトランザクション境界で一旦切断して、再接続に係る新たなコネクションを取得する再接続制御部をさらに含み、前記移動は、再接続が計画された前記コネクションの切断および前記新たなコネクションの取得により実現される、請求項1に記載の情報処理システム。前記配分部は、計画された前記配分の割合に応じて各データベースサーバに接続されるコネクションのプール量を調整するプール調整部と、コネクションの取得要求に応答して、プールされたコネクションの中から、要求に係るデータを受け持つデータベースサーバに接続されるコネクションを返すコネクション解決部とを含み、前記情報処理システムは、再接続制御部からの再接続の要求またはクライアントからの新規接続の要求に応答して、前記解決部に対し取得要求を発行し、返されたコネクションを受け取り、クライアントとデータベースサーバとの接続を確立するコネクション要求受付部をさらに含む、請求項2に記載の情報処理システム。前記複数のデータベースサーバは、さらに、同一のデータを受け持つサーバを同一の要素として、各要素について、同一要素のサーバが配置される2以上の物理ノード上に配置されるサーバの集合に差異があることを特徴とする、請求項3に記載の情報処理システム。前記複数のデータベースサーバは、互いに同一データを受け持つサーバ間を結ぶ辺の連なりにより構成されるグラフであって、互いに異なるデータを受け持つ2以上のサーバが配置される物理ノードを節点として含む当該グラフの節点の数が、前記複数のデータベースサーバが分散配置される物理ノードの数と等しいことを特徴とする、請求項4に記載の情報処理システム。互いに同一のデータを受け持つ2以上のサーバが同一の物理ノード上に配置されないように、前記複数のデータベースサーバの配置を計画する配置計画部をさらに含む、請求項1に記載の情報処理システム。設定されたスパン内での前記物理ノードそれぞれに関する前記負荷の偏りを検出し、偏った負荷がかかる物理ノード上のデータベースサーバが受け持つデータと、他の物理ノード上のデータベースサーバが受け持つデータとを交換させる配置交換部をさらに含む、請求項1に記載の情報処理システム。前記配分部は、前記複数のデータベースサーバに関するパフォーマンス情報を取得するパフォーマンス取得部と、前記複数のデータベースサーバの配置構成を取得する配置構成取得部と、前記パフォーマンス情報および前記配置構成から、前記物理ノード毎の負荷を計算する負荷計算部とをさらに含み、前記均衡計画部は、前記物理ノード毎の負荷と、見積もられる接続数の増加量と、接続1つ当たりの負荷とから、前記負荷に対する制御目標値を計算し、さらに前記コネクションの配分の割合を求める、請求項2に記載の情報処理システム。複数の物理ノード上に分散配置される複数のデータベースサーバであって、前記複数のデータベースサーバのうち、第1データを受け持つ第1サーバと第2データを受け持つ第2サーバとが第1物理ノード上に配置され、前記第1データを受け持つ第3サーバが第2物理ノード上に配置される、当該複数のデータベースと、前記第1物理ノードおよび前記第2物理ノードそれぞれに関する負荷を監視し、前記第1物理ノードの負荷が目標より大きく、前記第2物理ノードの負荷が目標より小さい場合に、前記第1物理ノード上の前記第1サーバへのクライアントとのコネクションを、前記第2物理ノード上の前記第3サーバへ移動させる配分部とを含む、情報処理システム。複数の物理ノードにネットワークを介して接続される情報処理装置であって、前記複数の物理ノード上に分散配置される複数のデータベースサーバであって、当該複数のデータベースサーバのうち、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されていることを特徴とする当該複数のデータベースサーバそれぞれと接続する複数のコネクションをプールするプール部と、前記物理ノードそれぞれに関する負荷を監視し、目標より負荷が大きな物理ノード上のデータベースサーバから、目標より負荷が小さな物理ノード上のデータベースサーバへと、クライアントとのコネクションを移動させて、前記負荷を均衡させるようにコネクションを配分する配分部とを含む、情報処理装置。前記配分部は、目標を上回る分の負荷に相当する接続数分のコネクションの再接続を計画し、目標を下回る分の負荷に応じた確率で再接続を含む新たなコネクションの配分を計画する均衡計画部を含み、前記移動は、再接続が計画された前記コネクションの切断および前記新たなコネクションの取得により実現される、請求項10に記載の情報処理装置。前記配分部は、計画された前記配分の割合に応じて各データベースサーバに接続されるコネクションのプール量を調整するプール調整部と、コネクションの取得要求に応答して、前記プール部にプールされたコネクションの中から、要求に係るデータベースサーバに接続されるコネクションを返すコネクション解決部とを含む、請求項11に記載の情報処理装置。複数の物理ノードにネットワークを介して接続される情報処理装置であって、複数のデータベースサーバを前記複数の物理ノード上へ分散配置する計画を立てる配置計画部であって、前記複数のデータベースサーバのうち、互いに同一のデータを受け持つ2以上のサーバが同一の物理ノード上に配置されないように、かつ、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されるように、データベース配置を計画することにより、目標より負荷が大きな物理ノード上のデータベースサーバから、目標より負荷が小さな物理ノード上のデータベースサーバへ、クライアントとのコネクションを移動可能とすることを特徴とする、当該配置計画部を含む、情報処理装置。設定されたスパン内での前記物理ノードそれぞれに関する前記負荷の偏りを検出し、偏った負荷がかかる物理ノード上のデータベースサーバが受け持つデータと、他の物理ノード上のデータベースサーバが受け持つデータとを交換させる配置交換部をさらに含む、請求項13に記載の情報処理装置。前記配置計画部は、前記複数のデータベースサーバのうち、同一のデータを受け持つサーバを同一の要素として、要素それぞれについて、同一要素のサーバが配置される2以上の物理ノード上に配置されるサーバの集合に差異があるように、前記複数のデータベースサーバのそれぞれを配置することを特徴とする、請求項14に記載の情報処理装置。前記配置計画部は、前記複数のデータベースサーバのうち互いに同一データを受け持つサーバ間を結ぶ辺の連なりにより構成されるグラフであって、互いに異なるデータを受け持つ2以上のサーバが配置される物理ノードを節点として含む当該グラフの節点の数が前記複数のデータベースサーバが分散配置される物理ノードの数と等しくなるように、前記複数のデータベースサーバのそれぞれを配置することを特徴とする、請求項15に記載の情報処理装置。前記配置計画部は、前記複数のデータベースサーバのうち互いに同一データを受け持つ2つのサーバが配置される2つの物理ノードを結ぶ辺により構成される輪上で、前記2つのサーバと同一のデータを受け持つ他のサーバが前記2つのサーバと距離をあけて配置されるように、前記複数のデータベースサーバのそれぞれを配置することを特徴とする、請求項16に記載の情報処理装置。複数の物理ノードにネットワークを介して接続される情報処理装置が実行する、負荷均衡方法であって、前記複数の物理ノード上には、複数のデータベースサーバであって、当該複数のデータベースサーバのうち、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されていることを特徴とする当該複数のデータベースサーバが分散配置され、前記負荷均衡方法は、前記情報処理装置が、前記物理ノードそれぞれに関する負荷を監視するステップと、前記情報処理装置が、前記複数のデータベースサーバのうちの目標より負荷が大きな物理ノード上のデータベースサーバへのクライアントとのコネクションを、トランザクション境界で切断する要求を発行するステップと、前記情報処理装置が、前記複数のデータベースサーバのうちの目標より負荷が小さな物理ノード上のデータベースサーバへのクライアントとの再接続にかかる新たなコネクションを取得するステップとを含む、負荷均衡方法。前記負荷を監視するステップは、さらに、前記情報処理装置が、目標を下回る分の負荷に応じた確率で再接続を含む新たなコネクションの配分を計画するサブステップと、目標を上回る分の負荷に相当する接続数分のコネクションの再接続を計画するサブステップとを含む、請求項18に記載の負荷均衡方法。前記負荷を監視するステップは、前記情報処理装置が、前記配分の割合に応じてコネクションのプール量を調整するサブステップを含み、前記新たなコネクションを取得するステップは、前記情報処理装置が、クライアントからのコネクションの取得要求に応答して、前記プールされたコネクションの中から、要求に係るデータベースサーバへ接続されたコネクションを返すサブステップを含む、請求項19に記載の負荷均衡方法。複数の物理ノードにネットワークを介して接続される情報処理装置が実行する、複数のデータベースサーバを前記複数の物理ノード上へ分散配置する計画を立てる方法であって、前記情報処理装置が、前記複数のデータベースサーバのうち、互いに同一のデータを受け持つ2以上のサーバが同一の物理ノード上に配置されないように、かつ、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されるように、データベースの配置を計画するステップを含み、前記計画するステップにより計画された配置が実施されることによって、目標より負荷が大きな物理ノード上のデータベースサーバから、目標より負荷が小さな物理ノード上のデータベースサーバへ、クライアントとのコネクションが移動可能とされることを特徴とする、データベース配置計画方法。前記計画するステップは、前記情報処理装置が、前記複数のデータベースサーバのうち、互いに同一データを受け持つサーバを2つづつ物理ノードに配置するように計画するサブステップであって、前記互いに同一データを受け持つ2つのサーバが配置される2つの物理ノードを結ぶ辺により輪を構成する、当該サブステップと、前記情報処理装置が、他のデータベースサーバの配置を計画するサブステップであって、前記2つのサーバと同一のデータを受け持つ他のサーバが前記2つのサーバと距離をあけて配置することを計画するサブステップとを含む、請求項21に記載のデータベース配置計画方法。設定されたスパン内での前記物理ノードそれぞれにかかる負荷の偏りを検出するステップと、偏った負荷がかかる物理ノード上のデータベースサーバが受け持つデータと、他の物理ノード上のデータベースサーバが受け持つデータとを交換させるステップをさらに含む、請求項22に記載のデータベース配置計画方法。コンピュータ実行可能なプログラムであって、前記プログラムは、1以上のコンピュータからなるコンピュータシステムに対し、複数の物理ノード上に分散配置される複数のデータベースサーバであって、当該複数のデータベースサーバのうち、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されていることを特徴とする当該複数のデータベースサーバそれぞれと接続する複数のコネクションをプールするプール部、および前記物理ノードそれぞれに関する負荷を監視し、目標より負荷が大きな物理ノード上のデータベースサーバから、目標より負荷が小さな物理ノード上のデータベースサーバへと、クライアントとのコネクションを移動させて、前記負荷を均衡させるようにコネクションを配分する配分部を実現するためのプログラム。コンピュータ実行可能なプログラムであって、前記プログラムは、1以上のコンピュータからなるコンピュータシステムに対し、複数のデータベースサーバを複数の物理ノード上へ分散配置する計画を立てる配置計画部であって、前記複数のデータベースサーバのうち、互いに同一のデータを受け持つ2以上のサーバが同一の物理ノード上に配置されないように、かつ、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されるように、配置を計画することにより、目標より負荷が大きな物理ノード上のデータベースサーバから、目標より負荷が小さな物理ノード上のデータベースサーバへ、クライアントとのコネクションを移動可能とすることを特徴とする、当該配置計画部を実現するためのプログラム。したがって、限られた物理リソース上で効率的な分散データベース環境を実現するためには、突発的な過負荷やリソース余りの状況に対して、柔軟かつ操作自体のパフォーマンスコストが小さな負荷均衡手法を開発することが望まれる。本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明は、分散データベース環境において、突発的な過負荷や物理リソース余りの状況に対し、即応的かつ柔軟かつ操作自体のパフォーマンスコストが小さな手法により、物理ノードにかかる負荷を均衡し、ひいては、限られた物理リソース上で効率的な分散データベース環境を実現することが可能な情報処理システム、情報処理装置、負荷均衡方法、データベース配置計画方法およびプログラムを提供することを目的とする。本発明は、上記従来技術の不都合に鑑みてなされたものであり、本発明は、以下の特徴を有する情報処理システムを提供する。本発明の情報処理システムは、複数の物理ノード上に分散配置される複数のデータベースサーバであって、当該複数のデータベースサーバのうち、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されていることを特徴とする、当該複数のデータベースサーバを含む。そして、情報処理システムは、物理ノードそれぞれに関する負荷を監視し、目標より負荷が大きな物理ノード上のデータベースサーバから、目標より負荷が小さな物理ノード上のデータベースサーバへと、クライアントとのコネクションを移動させて、物理ノードの負荷を均衡させるようにコネクションを配分する。さらに本発明では、上記コネクションの配分の際には、目標を上回る分の負荷に相当する接続数分のコネクションの再接続を計画し、目標を下回る分の負荷に応じた確率で再接続を含む新たなコネクションの配分を計画することができる。さらに、本情報処理システムは、再接続が計画されたコネクションをトランザクション境界で一旦切断して、再接続に係る新たなコネクションを取得する再接続制御部を含むことができる。これにより、上記コネクションの移動は、再接続が計画されたコネクションの切断および新たなコネクションの取得により実現される。さらに本発明では、複数の物理ノードにネットワークを介して接続され、上記複数のデータベースサーバそれぞれと接続する複数のコネクションをプールするプール部を備え、上記コネクション配分を実行する情報処理装置を提供することができる。また本発明では、上記複数のデータベースサーバを複数の物理ノード上へ分散配置する計画を立てる情報処理装置を提供することができる。本発明では、さらに、上記情報処理装置が実行する負荷均衡方法を提供することができる。本負荷均衡方法は、情報処理装置が、上記物理ノードそれぞれに関する負荷を監視するステップと、上記複数のデータベースサーバのうちの目標より負荷が大きな物理ノード上のデータベースサーバへのクライアントとのコネクションを、トランザクション境界で切断する要求を発行するステップと、上記複数のデータベースサーバのうちの目標より負荷が小さな物理ノード上のデータベースサーバへのクライアントとの再接続にかかる新たなコネクションを取得するステップとを実行することを含む。さらに本発明では、複数のデータベースサーバを複数の物理ノード上へ分散配置する計画を立てるデータベース配置方法が提供される。本データベース配置方法は、情報処理装置が、複数のデータベースサーバのうち、互いに同一のデータを受け持つ2以上のサーバが同一の物理ノード上に配置されないように、かつ、互いに異なるデータを受け持つ2以上のサーバが同一の物理ノード上に配置され、前記2以上のサーバのいずれかと同一のデータを受け持つ1以上のサーバがそれぞれ1以上の他の物理ノード上に配置されるように、データベースの配置を計画するステップを実行することを含む。上記構成によれば、一定の要件を満たす複数のデータベースサーバの配置において物理ノードの負荷状況に応じたコネクション配分を行うことにより、動的に変わる負荷状況に対して、クライアントからのコネクションの割り振り方を変えるというパフォーマンスコストの低い操作により、物理ノード全体の負荷を均衡し、物理リソースを有効活用することが可能となる。これにより、物理リソースの増強やレプリカの追加では対処が困難であった突発的な過負荷やリソース余りに対しても、即応的に対処することが可能となる。以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下説明する実施形態では、複数の物理ノード上に分散配置される複数のデータベースと、該複数のデータベースにアクセスするクライアントアプリケーションとを含むデータ処理システムを、情報処理システムの一例として説明する。1概要1.1システム全体の機能ブロック図1は、本発明の実施形態によるデータ処理システム100において実現される機能ブロックを示す。図1に示すデータ処理システム100は、複数の物理ノード図示せず。から構成される物理ノード群120と、データベース配置を計画し、その計画に従って物理ノード群120上にデータベースを分散配置するデータベース配置サーバ110と、物理ノード群120上に分散配置されたデータベースにアクセスするクライアントアプリケーション以下、単にクライアントという。164が動作するアプリケーションサーバ130と、詳細は後述するコネクション配分サーバ132とを含んで構成される。なお、3層クライアントサーバモデルでは、クライアント164は、アプリケーション層に相当し、ウェブアプリケーションでは、クライアント164には、HTTPプロトコルで接続するウェブクライアントが接続されることになるが、図1においては省略されている点に留意されたい。物理ノード群120を構成する各物理ノード、データベース配置サーバ110、アプリケーションサーバ130およびコネクション配分サーバ132は、それぞれ、TCP/IPおよびイーサネット登録商標によるLANLocalAreaNetworkや、VPNVirtualPrivateNetworkや専用線を使用するWANWideAreaNetworkやインターネットを含む図示しない有線または無線のネットワークを介して相互に接続される。物理ノード群120を構成する物理ノードは、それぞれ、シングルコアプロセッサまたはマルチコアプロセッサなどの中央演算装置CPU、キャッシュメモリ、RAM、ネットワークインタフェースカードNICおよび適宜ストレージデバイスを含み、適切なオペレーティングシステム以下、OSとして参照する。の制御のもと動作する。なお、物理ノードは、SharedNothing型およびSharedDisk型のいずれのアーキテクチャを採用するものであってもよい。物理ノード群120には、分散データベースに対応するデータベース管理システムDBMSが導入されており、物理ノード群120上には、複数のデータベースサーバ122a~122gが配置される。ここで、データベースサーバは、各物理ノード上で動作するDBMSのサーバプロセスをいい、データベースは、DBMSにより管理される、表、ビュー、索引などのデータベースオブジェクトなどを含むデータのコレクションをいう。なお、データベースサーバおよびデータのコレクションとしてのデータベースを総合してデータベースと参照することもある。個々のデータベースサーバ122は、それぞれ異なるデータまたは同一のデータを受け持つことができる。ここでは、同一のデータを受け持つデータベースサーバ122からなるデータベースの論理的なグループの単位を分散データベースと参照する。また、便宜上、分散データベースを構成する個々のデータベースのうち、オリジナルをマスタデータベース以下、単にマスタという。といい、マスタからレプリケーションされたものをレプリカデータベース以下、単にレプリカという。という。なお、レプリケーションの方式は、特に限定されるものではなく、マルチマスタ方式、マスタ-スレーブ方式のいずれの方式であってもかまわない。このように本データ処理システム100では、物理ノード群120上に分散配置される複数のデータベースサーバ122a~122gによって、それぞれマスタおよび1以上のレプリカを含む複数の分散データベースからなる分散データベース環境が構成される。なお、データベースおよび分散データベースとしては、リレーショナルデータベースRDBを挙げることができるが、これに限定されるものではなく、その他、オブジェクト指向データベース、XMLextensibleMarkupLanguageデータベース、keyvalue式データストアなど如何なるデータベースに適用することができ、特定のデータモデルに限定されるものではない。データベース配置サーバ110、アプリケーションサーバ130およびコネクション配分サーバ132は、概ね、パーソナルコンピュータ、ワークステーション、ラックマウント型やブレード型のサーバ、ミッドレンジコンピュータ、メインフレームなどの汎用コンピュータとして構成される。データベース配置サーバ110、アプリケーションサーバ130およびコネクション配分サーバ132は、より具体的には、シングルコアプロセッサまたはマルチコアプロセッサなどのCPU、キャッシュメモリ、RAM、NIC、ストレージデバイスなどを備え、適切なOSの制御のもと、ハードウェアおよびソフトウェアが協働して、後述する各機能部および各処理を実現している。データベース配置サーバ110は、効率的な負荷均衡を実現するためのデータベース配置を計画する配置計画部112と、配置実行部114とを含む。配置実行部114は、配置計画部112が計画したデータベース配置の計画に従って、分散データベースのデータベースサーバ122を物理ノード群120上に配置する機能部である。本実施形態では、さらに、長期的なスパンにおける物理ノード間の負荷の偏りを監視し、負荷の偏りがなくなるようにデータベース配置を適宜変更し、修正する補助構成部116をさらに含むことができる。なお、データベースの配置計画および負荷の偏りを軽減するための補助構成についての詳細は後述する。アプリケーションサーバ130上のクライアント164と、物理ノード群120上の分散データベース環境との間には、クライアント164と分散データベースのデータベースサーバ実体マスタまたはレプリカとの間に確立されるデータベースコネクション以下、単にコネクションという。を、物理ノードにかかる負荷を均衡するように配分する機能を実現するコネクション管理機構170が設けられる。なお、コネクションの用語は、リクエストに対するアフィニティ付けになどよる送信先の固定化を含むことができる。従来技術の分散データベース環境においては、マスタおよび1以上のレプリカのデータベースサーバを用いて負荷分散を行う場合、これらのデータベースサーバは異なる物理ノード上に配置され、マスタおよび1以上のレプリカには、例えばラウンドロビン方式等によりコネクションが割り振られることになる。この場合、コネクションが固定割合で振り分けられるため、物理リソースの有効活用を目的として複数の分散データベースのサーバ実体が同一物理ノード上に配置されると、一方の分散データベースのサーバ実体にアクセスが集中すると、同一物理ノード上の他方の分散データベースのサーバ実体のリソースを圧迫してしまうという事態が発生し得る。かかる事態には、従来技術では、物理リソースの増強およびレプリカの追加により対応することが一般的であるが、突発的な過負荷やリソース余りが発生した場合に適切に対処することが困難である。そこで、本実施形態では、かかる突発的な負荷の増減に即応的に対処すべく、コネクション管理機構170は、クライアント164と、分散データベースのデータベースサーバ実体との間に確立されるコネクションについて、負荷状況に対応して物理ノード群120上のマスタおよびレプリカへのコネクションの配分の割合を動的に制御する構成を採用し、マスタおよびレプリカが配置される物理ノード間の負荷の均衡を図る。コネクション管理機構170は、コネクション配分部140と、コネクション要求受付部160と、ドライバ部162とから構成される。図1に示す実施形態では、コネクション配分部140が、コネクション配分サーバ132上に実装され、コネクション要求受付部160およびドライバ部162は、クライアント側のモジュールとして、クライアントアプリケーションが動作するアプリケーションサーバ130上に実装されている。この場合、コネクション配分サーバ132は、複数のアプリケーションサーバ130上の各クライアント164に対してコネクション配分を統一的に行うコネクション配分サーバとして構成することができる。図1中のクライアント164aは、新たにコネクションを確立しようとしている接続要求中のクライアントアプリケーションを表す。これに対してクライアント164bは、既にコネクションを確立し、接続中であるクライアントアプリケーションを表している。コネクション要求受付部160は、新たにコネクションを確立しようとしているクライアント164aからの接続要求に応答して、コネクション配分部140からコネクションを取得し、クライアント164aと分散データベースのデータベースサーバ実体との間のコネクションを確立する。コネクション配分部140は、物理ノードそれぞれに関する負荷を監視し、負荷状況に応じて、分散データベースのサーバ実体マスタまたはレプリカへのコネクション配分の割合を決定する。コネクション配分部140は、コネクション要求受付部160からのコネクションの取得要求に応答して、上記決定したコネクション配分の割合に応じて、データベースサーバ実体へのコネクションを返す。コネクション配分部140は、さらに、上記負荷状況に従い、過大な負荷がかかる物理ノードの存在を発見した場合、当該物理ノード上のデータベースサーバ実体へのコネクションのうちの、過大な負荷に相当する分の切断および再度の接続をドライバ部162に対して要求する。ドライバ部162は、クライアント164bと分散データベースのデータベースサーバ実体との間のコネクションを制御しており、上記コネクション配分部140からの再接続要求に応答して、トランザクション境界で再接続要求されたコネクションを一旦切断する。そして、ドライバ部162は、コネクション要求受付部160から新たなコネクションを取得して、クライアント164とデータベースサーバ実体とのコネクションを継続させる。このように上記コネクションの切断をトランザクション境界において実施することにより、ユーザに対して切断および再接続を隠蔽することができる。なお、ドライバ部162は、本実施形態の再接続制御部を構成する。本実施形態によるコネクション配分部140は、物理ノードそれぞれに関する負荷を監視し、物理ノード群120の負荷状況に応じてコネクション配分の割合を決定し、併せてドライバ部162に対し過剰なコネクションの再接続を要求する。これにより、ある目標より負荷が大きな物理ノード上のデータベースサーバ実体から、目標より負荷が小さな物理ノード上のデータベースサーバ実体へと、クライアントとのコネクションを移動させ、ノード間の負荷均衡を図る。1.2コネクション配分の概要以下、図2を参照しながら、本発明の実施形態によるコネクション配分について説明する。図2は、本発明の実施形態によるコネクション配分を説明する概念図である。図2Aはコネクション配分を行う前のコネクションの状態を示し、図2Bはコネクション配分を行った場合のコネクションの状態を示す図である。図2には、各物理ノード124a,124b,124c上に、それぞれ、2つずつデータベースサーバが配置されている様子が示され、各データベースサーバは、A,B,Cで識別されるいずれかの分散データベースのインスタンスのマスタまたはレプリカに対応している。分散データベースA,B,Cは、例えば単一のデータベースから分割された各パーティション、またはそれぞれ異なるデータベースのデータを受け持つことができる。なお、XここでXは任意のアルファベットである。は、マスタを表し、X’同様にXは任意のアルファベットであるは、レプリカを表す。コネクション管理機構170は、各クライアント164と、分散データベースのデータベースサーバ実体との間のコネクションを管理し、分散データベースのマスタおよびレプリカ間でコネクションを振り分ける。図2Aに示すように、例えば分散データベースBおよびCにアクセスが集中した場合、コネクション配分の割合が固定されていると、データベースサーバ実体C,B’が相乗りする物理ノード124bに過剰な負荷が発生してしまうことになる。そこで、本実施形態のコネクション管理機構170は、図2Bに示すように、負荷が過大な物理ノード124b上のデータベースサーバ実体B’,Cに割り振られたコネクションのうち過剰な負荷に相当する分をトランザクション境界で一旦切断する。さらに、コネクション管理機構170は、異なる物理ノード上で動作するデータベースサーバ実体B、B’間およびデータベースサーバ実体C、C’間のコネクション配分の割合を変化させた上で再接続することによって、クライアント164からのコネクションを維持するとともに、物理ノード124bにかかる過剰な負荷を軽減する。このとき、コネクション配分の割合は、負荷が小さな方の物理ノード124a上のデータベースサーバ実体Bおよび物理ノード124c上のデータベースサーバ実体C’へ多く配分されるように確率的に決定される。すべての分散データベースについて、物理ノードの負荷状況に応じてマスタおよび1以上のレプリカのコネクション配分を行うことにより、比較的負荷が大きな物理ノードから比較的負荷が小さな物理ノードへ負荷を移動させ、物理ノード群120全体の負荷のピークを平滑化させることができる。一方、物理ノード群120全体で負荷を効率的に均衡させるためには、コネクション配分によって負荷を移動するために、有利な構成をもって個々のデータベースサーバ実体が物理ノード群120上に配置されていることが望ましい。以下、図3~図5を参照しながら、コネクション配分による負荷均衡に有利なデータベース配置について説明する。1.3負荷が均衡可能な関係と負荷が均衡不能な関係図3は、コネクション配分による負荷均衡が可能な関係と負荷均衡が不能な関係を説明する図である。図3は、2つの物理ノード124a,124b間の関係を示しており、物理ノード124a,124b上には、それぞれ2つずつデータベースサーバが配置されている。図3Aは、コネクション配分による負荷均衡が不能な関係を例示し、図3Bは、コネクション配分による負荷均衡が可能な関係を例示する。図3Aに示す負荷均衡が不能な関係では、分散データベースA,Bをそれぞれ要素とするサーバ集合を考えると、物理ノード124aおよび物理ノード124b上のサーバ集合は同一とされている。一方、図3Bに示す負荷均衡が可能な関係では、物理ノード124a上のサーバ集合{A,B}と、物理ノード124b上のサーバ集合{B,X}とは異なっている。上述したように、負荷は、異なる物理ノード上に配置された分散データベースのマスタおよび1以上のレプリカ間を移動させることができるが、図3Aに示すように、分散データベースのマスタおよびレプリカが配置される物理ノードすべてのサーバ集合が同一である場合には、コネクション配分によって負荷を実質的に均衡させることができない。したがって、ある分散データベースに関して、コネクション配分による負荷の均衡を実現するためには、マスタおよびレプリカが配置される物理ノード上のサーバ集合が少なくとも差異があることが条件となる。さらに、マスタおよびレプリカが配置される物理ノード上のサーバ集合の差異が大きい方がより好ましいと言える。1.4効率的な負荷均衡を実現するためのデータベース配置以下、図4および図5を参照しながら、効率的な負荷均衡を実現するためのデータベース配置について説明する。図4は、5個の物理ノード上にそれぞれ多重度が3である5個の分散データベースの各データベースサーバを分散配置したデータベース配置を例示する。図5は、6個の物理ノード上にそれぞれ多重度が2である6個の分散データベースの各データベースサーバ実体を分散配置したデータベース配置を例示する。図4Aに示すデータベース配置では、5個すべての分散データベースA~Eについて、各分散データベースのデータベースサーバ実体が配置される物理ノード上のサーバ集合が、互いに異なるように配置されている。例えば、分散データベースAについてみると、サーバ実体が配置される物理ノードNode1,Node2,Node4のサーバ集合は、それぞれ{A,C,E}、{A,B,D}、{A,C,D}であり、互いに異なっている。そして、他の分散データベースB~Eについても同様である。したがって、図4Aに示すようなデータベース配置では、負荷の大きい物理ノードから負荷の小さな物理ノードへと、効率的に負荷を移動させることが可能であり、物理ノード群120全体の負荷のピークを良好に平滑化させることができる。これに対して、図4Bに示すデータベース配置では、分散データベースA~Cについて、物理ノード上のサーバ集合が同一となっている部分が存在している。Node2とNode3は、共通して分散データベースA~Cのサーバ実体を有し、これらの物理ノードのサーバ集合は同一となる。一方、分散データベースA~Cのマスタまたはレプリカは、物理ノードNode2,Node3の他、これらとはサーバ集合が異なる物理ノードNode1、Node4、Node5上にも存在する。したがって、物理ノードNode2およびNode3と、他の物理ノードNode1、Node4、Node5との間で、それぞれ負荷を移動させることが可能であり、図4Bに示すデータベース配置では、物理ノード全体として負荷を均衡させることができる。しかし、サーバ集合が同一である複数の物理ノードの存在は、負荷移動の自由度を制限することになる。また、物理ノード群120全体で負荷を効率的に均衡させるためには、上記移動可能な関係が物理ノード群120内でより多くの物理ノードを巻き込んで可能な限り大きく広がっていることが好ましい。上述したように、負荷は、直接的には、異なる物理ノード上に配置された同一分散データベースのマスタおよびレプリカ間で移動することが可能である。一方、この同一分散データベース内の移動可能な関係を経由することにより、異なる分散データベースのマスタおよびレプリカ間でも負荷を間接的に移動させることが可能である。したがって、上述のような移動可能な関係の広がりというデータベース配置の特性は、物理ノードと負荷が移動可能な関係とをグラフとみなし、移動可能な関係を有する物理ノードを繋いで構成されるクラスタの大きさとして定量することができる。すなわち、同一分散データベースのサーバ実体が配置される物理ノード間を結ぶ辺エッジまたはリンクを異なる分散データベースを含めて繋いで構成されるグラフをクラスタとして、このクラスタの大きさにより定量することができる。当該クラスタが小さくまとまり、物理ノード群120の一部で閉じて形成されてしまうと、負荷均衡が小さなクラスタ内で閉じられてしまうことになる。複数の分散データベースのサーバ実体が相乗りする物理ノードにおいて負荷の均衡が図られることを考慮すると、データベース配置の特性としてのクラスタの広がりは、同一の分散データベースのサーバ実体が配置される物理ノードを結ぶ辺を繋いで構成されるクラスタであって、異なる複数の分散データベースのデータベースサーバが相乗りする物理ノードを含むクラスタの節点の数によって定量することができる。各クラスタの節点数は、分散データベースがマスタおよび1以上のレプリカから構成されることを考慮すると、3以上となることが好ましく、物理ノード群120全体の負荷均衡を目的とする観点からは、物理ノード群120の物理ノードの数に一致することがより好ましい。例えば、図4Aおよび図4Bに示したデータベース配置は、クラスタの節点数は物理ノードの数と等しく、物理ノード群120全体で負荷均衡が図られる。これに対して、図5に示すデータベース配置では、物理ノード群120内に2つの閉じたクラスタが構成される。この場合、両クラスタには、共通して配置される分散データベースが存在しないため、クラスタ間で負荷を移動させることができない。したがって、物理ノードNode1,Node2,Node3からなるクラスタ内、および物理ノードNode4,Node5,Node6からなるクラスタ内で、それぞれ独立して負荷均衡が行われることになる。2コネクション配分の詳細2.1コネクション配分に関する詳細な機能ブロック以下、物理ノード間の負荷均衡を図るためのコネクション配分の詳細について説明する。図6は、本発明の実施形態によるデータ処理システム100において実現される、コネクション配分に関する詳細な機能ブロックを示す。図6には、複数のデータベースサーバが配置される物理ノード群120と、コネクション配分部140と、コネクション要求受付部160と、ドライバ部162と、クライアント164とが示されている。コネクション配分部140は、より詳細には、パフォーマンス情報取得部142と、配置構成情報取得部144と、負荷状況計算部146と、動的均衡計画部148と、コネクションプール調整部150と、コネクション解決部152とを含む。パフォーマンス情報取得部142は、分散データベース環境のパフォーマンスをモニタし、定期的にまたは不定期にパフォーマンス情報を取得する。パフォーマンス情報としては、特に限定されるものではないが、物理ノード毎のCPU、ディスクI/Oおよびメモリ等の物理リソースの使用値使用率、物理ノードのコネクション総数など、物理ノードにかかる負荷を定量する情報を挙げることができる。また、分散データベース毎のパフォーマンス情報としては、分散データベース毎のコネクション数、テーブルデータの増加量、データベース領域の使用状況、クエリの応答時間、ユーザ数など、分散データベースにかかる負荷を定量する情報を挙げることができる。これらの情報は、分散データベース環境に配備されるパフォーマンスモニタリングツールから取得することができる。配置構成情報取得部144は、定期的にまたは不定期に、分散データベース環境の配置構成情報を取得する。配置構成情報は、物理ノード群120上のデータベースサーバ実体の配置構成を記述する情報であり、各物理ノード上にいずれの分散データベースのサーバ実体が配置されているかを示す情報である。配置構成情報は、簡単には、物理ノード毎のサーバ集合を記述したリストとして構成される。負荷状況計算部146は、パフォーマンス情報取得部142が取得した上記パフォーマンス情報と、配置構成情報取得部144が取得した上記配置構成情報とを掛け合わせて、物理ノード毎の負荷状況を算出する。算出する物理ノード毎の負荷状況としては、均衡させるべき物理ノードにかかる負荷を定量する物理ノード毎の負荷評価量と、物理ノード毎の各データベースサーバ実体が上記負荷評価量に占める割合とを含む。負荷評価量の算出方法は、各物理ノードにかかる負荷を定量することができる限り、特に限定されるものではなく、例えば、取得可能な物理ノードのリソース使用値使用率やコネクション総数をそのまま用いてもよい。負荷評価量に占める割合の算出方法も特に限定されるものではなく、例えば、ある物理ノード上にサーバ実体が配置される分散データベースすなわちサーバ集合と、各分散データベースのコネクション数と、各分散データベースの各サーバ実体へのコネクション配分の割合とを使用して、当該物理ノード上の負荷評価量において各サーバ実体が占める割合を計算することができる。コネクション配分の割合は、例えば、後述する動的均衡計画部148から取得することができる。動的均衡計画部148は、現在のコネクションの状況と、所定インターバル間に見積もられるコネクションの変化量を考慮して、コネクション配分の割合を決定するための目標値を決定し、各物理ノードの負荷評価量が当該目標値に漸近するように、コネクション配分および再接続を計画する。より具体的には、動的均衡計画部148は、負荷状況計算部146が算出した負荷状況に応じて、目標を下回る分の負荷に応じた配分の割合ないし確率で分散データベースのサーバ実体への再接続を含む新たなコネクションの配分を計画する。コネクションプール調整部150は、上記動的均衡計画部148が計画したコネクション配分の割合に応じて、充分な量のコネクション156をプール部154に準備する。コネクション解決部152は、プール部154に対し、プールから貸し出すコネクション最大数などコネクションの数の管理を行う。コネクション解決部152は、コネクション要求受付部160からのコネクション解決要求に応答して、プール部154にプールされたコネクション156の中から、要求にかかる分散データベースのサーバ実体へ接続されるものを、当該要求に対する返答として渡す。このとき、上記配分の割合に応じた確率で、サーバ実体に接続するコネクションが渡されることになる。コネクション要求受付部160は、接続要求中のクライアント164aからの接続要求に応答して、コネクション解決部152にコネクション解決要求を発行して、接続要求中クライアント164aと分散データベースのサーバ実体との間のコネクションを確立させ、該クライアント164aにコネクションの参照を返却する。本実施形態では、コネクションプール調整部150およびコネクション解決部152によるコネクションプーリングを適用することにより、分散データベースのデータベースサーバ実体への接続を再利用することで、クライアントとサーバ実体との間のコネクションを確立する際の認証等の諸処理によるオーバーヘッドを軽減することができる。動的均衡計画部148は、さらに、負荷状況計算部146が算出した負荷状況から、過大な負荷がかかる物理ノードの存在を発見した場合、上記目標値を上回る分の負荷に相当する接続数分のコネクションについて、一旦切断した上での再接続を計画し、ドライバ部162に対してコネクションの再接続を要求する。ドライバ部162は、動的均衡計画部148からの再接続要求に応答して、トランザクション境界にて、再接続要求にかかるコネクションを一旦切断し、コネクション要求受付部160に再接続を依頼する。この依頼を受けて、コネクション要求受付部160は、コネクション解決部152に対して、コネクション解決要求を発行し、分散データベースのサーバ実体との間の新たなコネクションを確立し、新たなコネクションの参照をドライバ部162へ返却する。例えばデータベースサーバ実体Aが配置される物理ノードに過大な負荷がかかっているとすると、ドライバ部162は、当該サーバ実体Aに対するコネクションI156aを一旦切断し、コネクション要求受付部160に再接続を依頼する。コネクション要求受付部160は、例えばデータベースサーバ実体A’に対するコネクションII156bを取得し、分散データベースAとクライアントとの間のコネクションを維持する。上述した動的均衡計画部148によるコネクションの配分および再接続の計画、およびコネクション要求受付部160およびドライバ部162による再接続の実施により、目標より大きな負荷がかかる物理ノード上のサーバ実体へのコネクションが切断され、より負荷の小さな物理ノード上のサーバ実体へとコネクションがつなぎ替えられ、物理ノード間で負荷が良好に平滑化される。2.2コネクション配分方法以下、図7を参照しながら、コネクション配分部140におけるコネクション配分処理についてより詳細に説明する。図7は、コネクション配分部140が実行する、コネクション配分処理を示すフローチャートである。図7に示す処理は、例えばコネクション配分機能のサービスが起動されたことに応答して、ステップS100から開始する。ステップS101では、コネクション配分部140は、所定のインターバル時間が経過するまでNOの間、ステップS101をループさせる。このインターバル時間は、コネクション配分を制御するインターバルであり、クライアントアプリケーションの特性に依存する負荷の変動量に応じた時間間隔を設定することができる。ステップS101で、所定インターバル時間が経過するとYES、ステップS102へ処理が進められる。ステップS102では、パフォーマンス情報取得部142は、分散データベース環境のパフォーマンス情報を取得する。ステップS103では、配置構成情報取得部144は、分散データベース環境の配置構成情報を取得する。ステップS104では、負荷状況計算部146は、取得したパフォーマンス情報と、配置構成情報とを使用して、物理ノード毎の負荷評価量と、物理ノード毎の各データベースサーバ実体が負荷評価量に占める割合とを含む負荷状況を計算する。なお、以下説明する実施形態では、物理ノード毎の負荷状況として、物理ノード毎のリソース使用値と、そのリソース使用値の物理ノードにおける各データベースサーバ実体が占める割合以下、リソース使用割合というを用いる。ステップS105では、動的均衡計画部148は、負荷状況計算部146が算出したサーバ実体が属する物理ノードii=1,Iのリソース使用値をRiとし、所定のインターバル時間において生じ得るコネクション数の増加量の平均値をCとし、コネクション1本に相当するリソース利用値をrとし、下記式1により、リソース使用値に対する目標値Tを算出する。ここで、目標値Tは、現在のコネクションの状況と、上記所定インターバル時間のコネクションの変化を考慮して、各物理ノードにかかる負荷が均衡するようにコネクション配分の割合を決定するための制御目標値である。また、コネクション数の増加量平均値Cは、例えば、データベース側からパフォーマンス値として取得することができる。ステップS106では、動的均衡計画部148は、上記算出した目標値Tに応じて、各物理ノード上のサーバ実体に対するコネクション配分の割合を決定する。ここでは、各物理ノードii=1,I上に共通の分散データベースのサーバ実体が配置されるとすると、その分散データベースについての各物理ノードi上のサーバ実体へのコネクションの配分の比率は、T-R1:T-R2:...:T-RIとなる。上記式1中、コネクション1本に相当するリソース使用値rは、コネクション1本当が物理ノードにおけるリソース使用値に占める換算値であり、例えば、物理ノードの総コネクション数がパフォーマンス情報として取得可能であれば、最も負荷の大きな物理ノードに注目して、該物理ノードのリソース使用値をRsとし、該物理ノードのコネクション総数をmとして、下記式2により算出することができる。あるいは、分散データベース全体のコネクション数が上記パフォーマンス情報として取得可能であれば、最も負荷の大きな分散データベースに注目して、該分散データベースのサーバ実体が配置される各物理ノードのリソース使用値と、各物理ノードにおける該分散データベースのサーバ実体のリソース使用割合とから、分散データベースが使用する総リソース使用値を算出し、これを分散データベース全体に対するコネクション数で割ることで、コネクション1本に相当するリソース利用値rを算出することもできる。ステップS107~ステップS112のループでは、各分散データベース毎にステップS108~ステップS111の処理を実行する。ステップS108~ステップS111のループでは、注目する分散データベースについて、1番目からI番目の各物理ノードi毎にステップS109およびステップS110の処理を実行し、目標値を上回って負荷がかかる物理ノードの存在を検出する。ステップS109では、動的均衡計画部148は、物理ノードiのリソース使用値Riと上記目標値Tとを比較し、リソース使用値Riが目標値Tを上回るか否かを判定する。ステップS109で、リソース使用値Riが目標値Tを上回らないと判定された場合NOには、ステップS111へ処理を進める。ステップS107~ステップS112のループを抜けると、ステップS113では、コネクションプール調整部150は、リソース使用値Riが目標値Tを下回るRi<T物理ノードについて、コネクション配分の割合に応じて充分な量のコネクションをプール部154にプールし、ステップS101へ処理をループさせ、次のインターバル時間の経過を待つ。ステップS113におけるプール量の調整処理により、コネクション解決部152は、上記決定したコネクション配分の割合に応じて、例えばラウンドロビン方式により、再接続および新規接続を含めた新たなコネクションを配分するようになる。なお、各物理ノードにコネクションが割り振られる確率Siは、例えば各物理ノードii=1,I上に共通の分散データベースのサーバ実体が配置されるとすると、下記式3の関係となる図8。一方、ステップS109で、リソース使用値Riが目標値Tを上回ると判定された場合YESには、ステップS110へ処理を進める。ステップS110では、動的均衡計画部148は、注目している分散データベースについて、物理ノードのリソース使用値Riが目標値Tを上回るその差分に相当するコネクション数Qのうち、注目する当該分散データベースに対応する分について、当該物理ノード上のサーバ実体へのコネクションを切断し再接続するようドライバ部162に対し要求する図8。ここで、物理ノードiについて切断が要求される上記差分に相当するコネクション数Qは、下記式4により算出することができる。そして、物理ノードi上に複数の分散データベースのサーバ実体が相乗りする場合には、ステップS110では、上記合計Q本のうち、注目している分散データベースが当該物理ノードiに占めるリソース使用割合に応じた分だけコネクションの再接続が行われる。再接続の要求を受けたドライバ部162は、トランザクション境界のタイミングで、再接続要求にかかるコネクションを切断し、新たなコネクションにつなぎ替える。本発明の実施形態では、上述したように、物理ノードの負荷状況に応じたコネクション配分を行うことにより、目標よりも負荷が大きな物理ノードから目標より負荷が小さな物理ノードへと負荷を移動させることができ、ひいては物理ノード群120全体の負荷のピークを平滑化させることができる。本発明の実施形態によれば、動的に変動する負荷状況を監視し、負荷状況の変化に対応してクライアントとのコネクション配分の割合を動的に変えるというパフォーマンスコストの低い操作により、物理ノード全体の負荷を均衡し、物理リソースを有効活用することが可能となる。また、本実施形態によるコネクション配分による負荷均衡手法では、予測が困難な負荷状況を考慮することなくデータベース配置を計画することができる。また、分散データベースのマスタおよびレプリカへのコネクション配分を制御することで負荷均衡が実現されるため、局所的な計画と操作だけで良好に負荷の平滑化を実現することができ、物理リソースの増強やレプリカの追加では対処が困難であった突発的な過負荷やリソース余りに対しても、即応的に対処することが可能である。さらに、目標値を越える負荷に相当するコネクションの再接続は、トランザクション境界で行われるため、ユーザにはコネクションの切断が隠蔽され、ユーザに切断を意識させない。したがって、長時間接続を維持するようなユーザに対しても、コネクション配分の対象とすることができる。3データベース配置計画の詳細3.1データベース配置計画方法以下、コネクション配分による負荷均衡に有利なデータベース配置を計画する処理について説明する。ここで、分散データベースの数をNとし、分散データベースの多重度をMとし、物理ノードの数をKとする。また、各分散データベースの多重度は、互いに異なることを妨げないが、説明の便宜上、共通であるものとする。また、本発明の実施形態によるコネクション配分による負荷均衡手法が、複数の分散データベースのサーバ実体が相乗りする物理ノードにかかる負荷の均衡を目的とすることから、物理ノード上のサーバ集合に組み合わせが生じるようなデータベース配置であることが前提となる。このため、M≧2、K<MNを満たすことが条件となる。さらに、分散データベースの多重度Mが物理ノードの数Kを上回ると、必ず同一物理ノード上に同一分散データベースの複数のサーバ実体が配置されてしまう。また分散データベースの多重度Mが物理ノード数Kと等しいと、各物理ノード上にすべての分散データベースのサーバ実体が配置されることになり、負荷を実質的に移動させることができなくなる。このため、M<Kが追加の条件となる。図9は、本発明の実施形態による配置計画部が実行するデータベース配置計画処理を示すフローチャートである。図9に示す処理は、システム管理者から初期配置構成の実施の指示が行われたことに応答して、ステップS200から開始する。ステップS201では、配置計画部112は、システム管理者からの初期配置構成の実施の指令を受領する。ステップS202では、配置計画部112は、物理ノード数Kが分散データベース数N以上であるか否かを判定し、物理ノード数Kと分散データベース数Nとの大小関係により処理フローを分岐させる。ステップS202で、物理ノード数Kが分散データベース数N以上であると判定された場合YESには、ステップS203へ処理を分岐させる。ステップS203では、配置計画部112は、n個の分散データベースをn個の物理ノードに配置する配置計画アルゴリズムAnを呼び出し、N個の分散データベースをK個のうちのN個の物理ノードへ配置する配置計画を実施する。より具体的には、配置計画部112は、n←Nとして、多重度Mとをパラメータとして与えて、配置計画アルゴリズムAnを呼び出し、N個の分散データベースのマスタおよびレプリカを、K個のうちの任意のN個の物理ノードに配置する配置計画を実施する。これにより、N個の物理ノード上にN個の分散データベースのM個のデータベースサーバ実体の配置が計画され、K個のうちの残りK-N個の物理ノードがデータベース未配置の空きノードとして準備される。なお、配置計画アルゴリズムAnについては詳細を後述する。ステップS204では、配置計画部112は、ステップS203で配置計画したN×M個のデータベースサーバ実体うちのO個を、最後に配置計画されたものから順に、上記ステップS203で残されたK-N個の未配置の空きノードに1つずつ移動させる。移動させるサーバ実体の個数Oは、下記式5により算出することができる。上記式5中、上の欠けた角括弧は床関数を表す。また、上記式5は、各物理ノード上に配置されるサーバ実体の数を均等化するための移動個数を計算する関数を例示するものであり、特に限定されるものではなく、例えば床関数に替えて天井関数を使用してもよい。図10は、分散データベースの各サーバ実体を物理ノードに配置する方法を説明する図である。図10Aは、物理ノード数Kが分散データベース数N以上である場合の配置方法を示す。図10Aに示すように、物理ノード数Kが分散データベース数N以上であるときは、K個のうちのN個の物理ノード上にN個の分散データベースのM個のサーバ実体の配置が計画され、その後、残りのK-N個の空きノードに均等に振り分けられ、結果として、K個の物理ノード全体にサーバ実体が均等に配置される。ステップS205では、配置計画部112は、上記ステップS203およびステップS204で計画されたデータベース配置の構成定義を配置実行部114に渡し、分散配置の実施を指令して、分散データベース環境を構築させ、ステップS206で、本処理を終了させる。一方、ステップS202で、物理ノード数Kが分散データベース数N未満であると判定された場合NOには、ステップS207へ処理を分岐させる。ステップS207では、配置計画部112は、まずi=1を設定し、ステップS208では、配置計画アルゴリズムAnを呼び出し、N個のうちのK個の分散データベースをK個の物理ノードへ配置する配置計画を実施する。より具体的には、配置計画部112は、n←Kとして、多重度Mをパラメータとして与えて、配置計画アルゴリズムAnを呼び出し、N個のうちの任意のK個の分散データベースのマスタおよびレプリカを、K個の物理ノード上に配置する配置計画を実施する。これにより、K個の物理ノード上にK個の分散データベースのM個のサーバ実体の配置が計画される。ステップS209では、未計画の分散データベースの個数Lを下記式6に従って計算する。ステップS210では、配置計画部112は、未計画の分散データベースの個数Lが物理ノード数Kを上回るか否かを判定する。ステップS210で、未計画の分散データベースの個数Lが物理ノード数Kを上回ると判定された場合YESには、ステップS211へ処理を分岐させ、iをインクリメントし、ステップS208へ処理をループさせる。これにより、未計画の分散データベースの個数LのうちさらにK個の分散データベースの配置計画が実施される。一方、ステップS210で、未計画の分散データベースの個数Lが物理ノード数K以下であると判定された場合NOには、ステップS212へ処理を分岐させる。ステップS212では、配置計画部112は、n←Lとして、多重度Mをパラメータとして与えて、配置計画アルゴリズムAnを呼び出し、K個未満の残りL個の分散データベースのマスタおよびレプリカをL個の物理ノードへの配置計画を実施する。ステップS213では、配置計画部112は、ステップS212で配置計画したL×M個のデータベースサーバ実体を、最後に配置計画されたものから順に、K-Lの他の物理ノードに1つずつ移動させる。移動させるサーバ実体の個数は、上記式5と同様に、各物理ノード上に配置されるサーバ実体の数を均等化するための移動個数を計算する関数とすることができる。ステップS205では、配置計画部112は、上記ステップS207~ステップS213で計画されたデータベース配置の構成定義を配置実行部114に渡し、分散配置の実施を指令して、分散データベース環境を構築させ、ステップS206で、本処理を終了させる。図10Bは、物理ノード数Kが分散データベース数N未満である場合の配置方法を説明する。図10Bに示すように、物理ノード数Kが分散データベース数N未満であるときは、まず、N個のうちのK個の分散データベースがK個の物理ノードに配置される。そして、残りの分散データベースがK未満となるまで、同様の手順により、K個ずつ分散データベースの配置計画を行う。残りの分散データベースの個数LがK未満となると、L個の分散データベースをL個の物理ノードへ配置する配置計画を実施して、最後配置したものから順にサーバ実体をK-L個の物理ノードに振り分けて、K個の物理ノードに均等にサーバ実体を配置する。3.2配置計画アルゴリズムAn図11は、本発明の実施形態による配置計画部が実行する、配置計画アルゴリズムAnの処理を示すフローチャートである。図11に示す処理は、図10に示したステップS203、ステップS208またはステップS212で呼び出されて、ステップS300から開始される。ステップS301では、配置計画部112は、n個の分散データベースそれぞれの1つのデータベースサーバ実体例えばマスタをn個の物理ノード上に配置計画し、各物理ノードおよび各分散データベースに番号を付す図12のA1。ステップS302では、配置計画部112は、n個の分散データベースのもう1つのデータベースサーバ実体例えば1番目のレプリカを、それぞれ、ステップS301で配置した物理ノードの次の番号が付された物理ノード上に配置計画する図12のA2。ここで、上記次の番号は、1~nまでの値であり、n1は1へ循環される。ステップS301およびステップS302により、同一分散データベースのサーバ実体が配置される物理ノードを連結する辺を繋げると、n個の物理ノードから構成される輪が構成される。なお、この輪はクラスタを構成し、この配置計画アルゴリズムを用いることで、クラスタは、節点数がnまで広がる。ステップS303では、配置計画部112は、多重度Mが3以上であるか否かを判定する。ステップS303で、多重度Mが3未満であると判定された場合NOには、ステップS309へ処理を分岐させ、本処理を終了し、呼び出し元に処理を返す。一方、ステップS303で、多重度Mが3以上であると判定された場合YESには、ステップS304~ステップS306のループへ処理を進める。ステップS304~ステップS306のループでは、ステップS305の処理をM-2回だけ繰り返し、各分散データベースの残りのレプリカの配置を計画する。ステップS305では、n個の分散データベースの残りのレプリカのうちi個目のデータベースサーバつまりi1番目のレプリカを、下記式7に従って配置計画する図12のA3。上記式7中、下の欠けた角括弧は天井関数を表す。また、上記式7中、kは、ステップS301で付された番号であり、iは、分散データベースのインスタンスのうちの、上記ステップS301およびステップS302で残されたレプリカを識別する番号である。なお、上記式7は、n個の分散データベースのサーバ実体を上記物理ノードの輪の上に最も距離を有するように配置するための関数を例示するものであるが、特に限定されるものではない。ステップS304~ステップS306のループを抜けると、ステップS307では、配置計画部112は、Mが奇数であり、かつnが偶数であるという条件を満たすか否かを判定する。ステップS307で、Mが奇数でありかつnが偶数であるという条件を満たさないと判定された場合NOには、ステップS309で本処理を終了し、呼び出し元に処理を返す。一方、ステップS307で、Mが奇数であり、かつnが偶数であるという条件を満たすと判定された場合YESには、ステップS308へ処理を進める。ステップS308では、配置計画部112は、kとkn-1番目においたデータベース配置の組み合わせが重ならないように、i=M-1/2番目に配置したデータベースサーバを、次の番号でまだ配置していない物理ノードに配置する。このように配置することで、n個の物理ノード全体にコネクション配分の流れが分散するようなデータベース配置が計画される。上述したデータベース配置処理により、上述した負荷が移動可能な関係を有し、クラスタサイズが最大化され、好ましくはクラスタの節点数が物理ノード数Kに一致するデータベース配置が計画される。ひいては、上記コネクション配分により、物理ノード群全体で負荷の均衡を図ることが可能となる。3.3データベース配置の交換以下、長期的なスパンにおける負荷の偏りを軽減する補助構成について説明する。本実施形態の補助構成部116は、長期的なスパン内における物理ノード間の負荷の偏りを監視し、負荷の偏りがなくなるようにデータベース配置を適宜変更し、修正する機能を有する。ここで、長期的なスパン内における物理ノード間の負荷の偏りとは、各物理ノードの負荷評価量の一定期間における平均値から求められる、物理ノード群120内で常態化された負荷の不均一な分布をいう。各物理ノードの負荷評価量は、上述したコネクション配分により、目標値Tに漸近するように制御されるが、ある分散データベースに負荷が集中する場合に、複数の物理ノードにわたって負荷が偏在する可能性がある。図13は、多重度2で輪状に分散配置されたデータベース配置における負荷分布を例示する図である。図13には、物理ノードの物理的な配置ではなく、上記負荷移動可能な関係によるデータベース配置が表されている。図13に示すような物理ノードが構成する輪の中で、分散データベースに負荷が集中することで、隣接する複数の物理ノードにかかる負荷が偏って増大してしまう可能性がある。この場合、この物理ノード間で効率的に負荷を移動させることができなくなってしまう。そこで、補助構成部116は、コネクション配分部140からパフォーマンス情報を取得し、このような常態化した負荷の偏りを監視する。補助構成部116は、常態化した負荷の偏りを検出すると、負荷が偏在する物理ノード上で動作するサーバ実体いずれか例えばレプリカA‘と、他方の比較的負荷が小さな物理ノード上で動作するサーバ実体例えばレプリカX’とを交換するよう、配置計画部112が計画したデータベース配置計画を修正し、配置実行部114のデータベース配置の実行を促す。なお、レプリカの交換はコネクション配分に比べてパフォーマンスコストが高いため、例えば深夜などの負荷の低い時間帯やメンテナンスのタイミングを選択して行うことができる。なお、補助構成部116は、本実施形態の配置交換部を構成する。4代替実施形態なお、上述までの実施形態では、コネクション要求受付部160およびドライバ部162が、クライアントアプリケーションが動作するアプリケーションサーバ130上に、コネクション配分部140が別の装置として構成されたコネクション配分サーバ132上に実現されるものとして説明してきた。しかしながら、図1に示す構成に限定されるものではなく、他の実施形態では、図1において波線で示すように、コネクション配分部140、コネクション要求受付部160、ドライバ部162およびクライアント164を同一のサーバ134上に実装することもできる。また、上述までの実施形態では、データベース配置サーバ110は、アプリケーションサーバ130やコネクション配分サーバ132とは別の装置として実現されるものとして説明してきたが、データベース配置サーバ110は、アプリケーションサーバ130、コネクション配分サーバ132またはサーバ134上に一体として構成することもできる。以上説明したように、上記実施形態によれば、分散データベース環境において、突発的な過負荷や物理リソース余りの状況に対し、即応的、柔軟かつ操作自体のパフォーマンスコストが小さな手法により、物理ノードにかかる負荷を均衡することで、限られた物理リソース上で効率的な分散データベース環境を実現することができる、情報処理システム、情報処理装置、負荷均衡方法、データベース配置計画方法およびプログラムを提供することができる。なお、本発明の上記機能は、アセンブラ、C、C、Java登録商標、JavaBeans登録商標、Java登録商標Applet、JavaScript登録商標、Perl、Rubyなどのレガシープログラミング言語またはオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD-ROM、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して頒布または伝送して頒布することができる。これまで本発明を、特定の実施形態および実施例をもって説明してきたが、本発明は、特定の実施形態または実施例に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。"