(57)【要約】【課題】ＤＢＭＳのデータ使用量にアンバランスが発生した場合に、ＤＢＭＳの処理性能の低下を少なくし、処理性能のアンバランスを是正すること。【解決手段】データベースサーバ１が担当するデータベース３に対するアクセス処理を実行するデータベース管理システム２において、アクセス処理を実行するためのＣＰＵ資源について、データベースサーバ１への割り当てを変更するＣＰＵ割当方法であって、コンピュータが、アクセス処理の対象となるデータの容量を示すデータ使用量を、データベースサーバ１ごとにデータベース３から取得して記憶部に格納し、データベースサーバ１ごとのデータ使用量の比率に基づき、ＣＰＵ割当量の比率を計算し、ＣＰＵ割当量の比率に基づき、各データベースサーバ１へのＣＰＵ資源の割り当てを変更することを特徴とする。【選択図】図１
2007249468.tif 000002
【特許請求の範囲】
【請求項１】
データベースを格納する記憶部を備えた複数のデータベースサーバを有し、前記データベースサーバに割り当てられている前記データベースに対するアクセス処理を実行するデータベース管理システムにおける、前記アクセス処理を実行するためのＣＰＵ資源を前記データベースサーバに割り当てるＣＰＵ割当方法であって、
コンピュータが、
前記アクセス処理の対象となるデータの容量を示すデータ使用量を、前記データベースサーバごとに前記データベースから取得して記憶部に格納し、
前記データベースサーバごとの前記データ使用量の比率に基づき、ＣＰＵ割当量の比率を計算し、
前記ＣＰＵ割当量の比率に基づき、各前記データベースサーバに対して前記ＣＰＵ資源の割り当てを変更すること
を特徴とするＣＰＵ割当方法。
【請求項２】
前記ＣＰＵ割当量の比率を計算する処理は、前記データ使用量に加えて、
単位時間当たりのトランザクション実行数、グローバルバッファに関するパラメータ、排他処理に関するパラメータ、Ｉ／Ｏ処理に関するパラメータのうち、少なくとも１つのパラメータをもとに、前記ＣＰＵ割当量の比率を計算すること
を特徴とする請求項１に記載のＣＰＵ割当方法。
【請求項３】
前記ＣＰＵ資源の割り当てを変更する処理は、前記データ使用量の比率が所定範囲内のときには、前記ＣＰＵ資源の割り当てを中止することを特徴とする請求項１または請求項２に記載のＣＰＵ割当方法。
【請求項４】
前記ＣＰＵ資源の割り当てを変更する処理は、前記ＣＰＵ資源と前記データ使用量との比率に応じて、前記ＣＰＵ資源を割り当てることを特徴とする請求項１ないし請求項３のいずれか１項に記載のＣＰＵ割当方法。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載のＣＰＵ割当方法を、コンピュータに実行させるためのＣＰＵ割当プログラム。
【請求項６】
データベースを格納する記憶部を備えた複数のデータベースサーバを有し、前記データベースサーバに割り当てられている前記データベースに対するアクセス処理を実行するデータベース管理システムにおける、前記アクセス処理を実行するためのＣＰＵ資源を前記データベースサーバに割り当てるＣＰＵ割当装置であって、
前記アクセス処理の対象となるデータの容量を示すデータ使用量を、前記データベースサーバごとに前記データベースから取得して記憶部に格納する統計情報管理部と、
前記データベースサーバごとの前記データ使用量の比率に基づき、ＣＰＵ割当量の比率を計算するリソース管理部と、
前記ＣＰＵ割当量の比率に基づき、各前記データベースサーバに対して前記ＣＰＵ資源の割り当てを変更するサーバ仮想化部と、
を有することを特徴とするＣＰＵ割当装置。
【請求項７】
データベースを格納する記憶部を備えた複数のデータベースサーバを有し、前記データベースサーバに割り当てられている前記データベースに対するアクセス処理を実行するときに、前記アクセス処理を実行するためのＣＰＵ資源を前記データベースサーバに割り当てるデータベース管理システムであって、
データベースサーバが担当するデータベースに対するアクセス処理を実行するときに、前記アクセス処理を実行するためのＣＰＵ資源を前記データベースサーバに割り当てる前記データベース管理システムであって、
前記アクセス処理の対象となるデータの容量を示すデータ使用量を、前記データベースサーバごとに前記データベースから取得して記憶部に格納する統計情報管理部と、
前記データベースサーバごとの前記データ使用量の比率に基づき、ＣＰＵ割当量の比率を計算するリソース管理部と、
前記ＣＰＵ割当量の比率に基づき、各前記データベースサーバに対して前記ＣＰＵ資源の割り当てを変更するサーバ仮想化部と、
を有することを特徴とするデータベース管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ割当方法、ＣＰＵ割当プログラム、ＣＰＵ割当装置、および、データベース管理技術に関する。
【背景技術】
【０００２】
データベース管理システム（ＤＢＭＳ：DataBase Management System）など情報検索を行う情報処理システムの処理性能を向上する方法として、データベース処理負荷を複数のプロセッサに分散させ実行するアーキテクチャに関する技術が、非特許文献１に開示されている。
【０００３】
非特許文献１の共有型（Shared Everything,Shared Disk）アーキテクチャでは検索を行なう全てのホストまたはプロセッサから全てのディスクにアクセス可能である。一方、無共有型（Shared Nothing）アーキテクチャでは各ホストに独立して属するディスクにのみアクセス可能である。無共有型アーキテクチャは共有型アーキテクチャに比べてアクセスが競合するリソースが少なく、スケーラビリティの点で優れている。
【０００４】
複数サーバ構成の無共有型ＤＢＭＳはデータにアクセスするデータベースアクセス部（ＢＥＳ：Back End Server）が決められている。データベースアクセス部の性能は、アクセスするデータベースのデータ使用量に依存する。そして、データベースアクセス部の処理負荷が高くなると、データの再配置を行うことによってデータ量をバランスよく配分し、処理性能のアンバランスを是正している。
【０００５】
図１２は、データの再配置による処理性能のアンバランスを是正する手法を説明する図である。データ量の増加によりデータ使用量がアンバランスとなる（図１２（１））と、そのデータへのアクセス集中がおき、処理能力が低下する（図１２（２））。そのため、データベースアクセス部（ＢＥＳ）を空いている他のＤＢサーバに移動する（図１２（３））ことに伴い、ＢＥＳが担当するデータベース格納領域のデータが分割される（図１２（４））。
【非特許文献１】David DeWitt and Jim Gray著，“Parallel Database Systems:The Future of High Performance Database Systems”，COMMUNICATIONS OF THE ACM, Vol.35, No.6,June 1992,P.85-P.98
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、データの再配置作業にはデータベースの再設計を行う必要がある。また、データの再配置作業には、データ処理（取り出し、分割、格納）が必要となり、オンライン業務の一時停止などの影響が発生する。また、データ量は日々変化するものであり、データ量が変化する度にデータの再配置を実施していては手間がかかる。また定期的な見直し、すなわち運用の計画を立てなくてはいけない。これらＴＣＯ（Total  Cost of Ownership）を削減できることが望ましい。
【０００７】
本発明の主な目的は、ＤＢＭＳのデータ使用量にアンバランスが発生した場合に、ＤＢＭＳの処理性能の低下を少なくし、処理性能のアンバランスを是正することである。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明は、データベースを格納する記憶部を備えた複数のデータベースサーバを有し、前記データベースサーバに割り当てられている前記データベースに対するアクセス処理を実行するデータベース管理システムにおける、前記アクセス処理を実行するためのＣＰＵ資源を前記データベースサーバに割り当てるＣＰＵ割当方法であって、コンピュータが、前記アクセス処理の対象となるデータの容量を示すデータ使用量を、前記データベースサーバごとに前記データベースから取得して記憶部に格納し、前記データベースサーバごとの前記データ使用量の比率に基づき、ＣＰＵ割当量の比率を計算し、前記ＣＰＵ割当量の比率に基づき、各前記データベースサーバに対して前記ＣＰＵ資源の割り当てを変更することを特徴とする。その他の手段は、後記する。
【発明の効果】
【０００９】
本発明は、ＣＰＵ割当量を変更することによって、処理性能のアンバランスを是正する。
【発明を実施するための最良の形態】
【００１０】
無共有型アーキテクチャを用いたデータベース管理システムにおいて、データの再配置を実施することなく、データベースアクセス部の処理性能のアンバランスを是正することが可能な一実施形態のデータベース処理システムについて説明する。
【００１１】
図１は、本発明の概念を示す説明図である。図１（ａ）→図１（ｂ）→図１（ｃ）の順に時間が経過する。
【００１２】
本実施形態のＤＢサーバ１は、サーバ仮想化部５、および、データベースアクセス部（ＢＥＳ）２０を具備する。
【００１３】
サーバ仮想化部５は、ＣＰＵ７を管理しており、そのＣＰＵ７の処理性能をＣＰＵ割当量に応じて各ＤＢサーバ１に割当てることができる。なお、ＣＰＵ割当量は、例えば、ＣＰＵ数、各ＣＰＵのクロック数、または、ＣＰＵの処理時間をもとにしたＣＰＵ使用率などにより定義される。サーバ仮想化部５は、ＣＰＵ７の処理性能を割り当てる手法として、例えば、ハードウェア資源である物理デバイスとしてのＣＰＵと、ソフトウェア（プログラム）がアクセス可能な論理デバイスとしてのＣＰＵとの対応を管理する。図１の論理的なＣＰＵ７は、１つの物理的なＣＰＵ、または、複数の物理的なＣＰＵによって実現される。
【００１４】
データベースアクセス部２０は、ユーザからの問合わせを受け付けると、要求に従って第３データベース格納領域上のデータを操作し、アクセスの結果を必要に応じてユーザに返す。データベースアクセス部２０は１プロセスもしくは複数プロセスによって実現される。図１では１つのプロセスで稼働していることを表している。
【００１５】
本実施形態のデータベース管理システムのアーキテクチャは無共有型アーキテクチャであり、本システムが管理するデータベース（テーブル、インデクス）は、さまざまな手法により複数の分割テーブルおよび分割インデクスに分割され、複数のデータベース格納領域に分割格納される。
【００１６】
無共有型アーキテクチャが採用されているので、あるデータベース格納領域は決まったデータベースアクセス部に対応付けられている。そして、データベースアクセス部は、そのデータベースアクセス部に対応付けられたデータベース格納領域内のデータ（たとえばテーブルデータ、インデクスデータ）のみをアクセスする。例えば、第１ＢＥＳ２０は第１データベース格納領域へのアクセス要求のみを、第２ＢＥＳ２０は第２データベース格納領域へのアクセス要求のみを処理する。第１ＢＥＳ２０および第２ＢＥＳ２０は同じ格納領域をアクセスすることはない。
【００１７】
統計情報テーブル４００は各データベースアクセス部（ＢＥＳ）２０のデータ使用量を示している。また、リソース割当テーブル５００はＣＰＵ割当量を示している。
【００１８】
図１（ａ）は、処理性能のバランスがとれている状態を示す。第１ＤＢサーバ１および第２ＤＢサーバ１は、それぞれ３つのＣＰＵで稼働している。また、第１ＤＢサーバ１および第２ＤＢサーバ１は、それぞれ同じデータ使用量（２５Ｇｂｙｔｅ）のデータアクセスを中継する。
【００１９】
図１（ｂ）は、処理性能がアンバランスとなる状態を示す。第１ＢＥＳ２０がアクセスするデータベースのデータ使用量が大きく増加し（６７Ｇｂｙｔｅ）、第２ＢＥＳ２０がアクセスするデータベースのデータ使用量が小さく増加する（３３Ｇｂｙｔｅ）。一方、第１ＤＢサーバ１および第２ＤＢサーバ１は、同じ３つのＣＰＵで稼働している。よって、第１ＤＢサーバ１の処理負荷が、第２ＤＢサーバ１の処理負荷よりも大きくなり、アンバランスとなる。
【００２０】
図１（ｃ）は、再び処理性能のバランスがとれている状態を示す。データ使用量の比（６７Ｇ：３３Ｇ＝２：１）に応じて、ＣＰＵ割当量を変更（４つ：２つ＝２：１）することで、処理性能のアンバランスを是正する。サーバ仮想化部５にＣＰＵの割当てを指示した後、リソース割当テーブル５００を更新することで、さらにデータ使用量が変化した場合でも対応が可能となる。
【００２１】
なお、処理性能のバランスがとれているか否かの判定方法について、具体的には、ユーザ指示によってデータ使用量を各ＤＢサーバより統計情報テーブル４００として取得し、統計情報テーブル４００内のデータ使用量をデータベースアクセス部ごとに比較する。比較した結果、ユーザ指定範囲を超えた場合は、各ＤＢサーバに必要なＣＰＵ割当量をデータ使用量とリソース割当テーブル５００より決定し、サーバ仮想化部５に対してＣＰＵの割当て指示を行う。
【００２２】
ユーザ指定範囲を超えたか否かの計算は、比率「ａ：ｂ」＝ａ／ｂを算出することで実現される。例えば、ユーザ指定値を３とすると、ユーザ指定範囲は、１／３＜ｘ＜３となる。このとき、比率「１：ｘ」または比率「ｘ：１」について、ｘがユーザ指定値の３より大きいときには、ユーザ指定範囲を超えたとする。
【００２３】
処理性能のバランスがとれているか否かの判定する契機として、例えば、ユーザ指示の契機によって統計情報テーブル４００よりデータ使用量を取得する。または、契機としてタイマを活用してもよい。予め定期的に監視する時間を設定しておき、監視する時間に発生させたタイマイベントを契機に、ＤＢＭＳ（後記する図２の負荷状態管理部１０）がＣＰＵの割当指示を行うことにより、管理者の負担を軽減することができる。
【００２４】
図２は、本実施形態のデータベース管理システム２の概略構成を示す。
【００２５】
データベース管理システム２は、ネットワークなどを介して他のシステムと接続されている。また、負荷状態管理部１０とデータベースアクセス部２０は必ずしも同一の情報処理装置上に配置される必要はない。それぞれ別の情報処理装置上に配置され、ネットワークを介して１つのデータベース管理システムとして機能すればよい。
【００２６】
データベース管理システム２は、問い合わせやリソース管理などのデータベースシステム全体の管理を行う。データベース管理システム２は、データベースアクセス部２０を具備し、ユーザが作成したアプリケーションプログラム（プログラム）６および負荷状態管理部１０と通信する。負荷状態管理部１０は、ＣＰＵの割当管理を行うサーバ仮想化部５と通信する。
【００２７】
また、データベース管理システム２は、データベースアクセス対象となるデータを永続的にあるいは一時的に格納するデータベース３と接続される。負荷状態管理部１０は、データ使用量を示す統計情報テーブル４００およびサーバに割当てられているＣＰＵ割当量を管理するリソース管理テーブル５００と接続される。
【００２８】
データベースアクセス部２０は、データ処理制御部２２２にてアプリケーションプログラム６から投入される問い合わせを受け付け解析し、要求にしたがって外部記憶装置上に記憶されるデータベース３にアクセスする。必要に応じてアクセスの結果をアプリケーションプログラム６に返す。
【００２９】
なお、１つのデータベース管理システム２は、複数のデータベースアクセス部２０を有することにより、データ処理の並列度が高まり、大規模なデータベースに対するデータ処理も高速に実現することができる。そのときには、ＣＰＵ割当量を計算するためのデータ使用量は、同じＤＢサーバに属するデータベースアクセス部２０のデータ使用量の総和となる。計算されて割り当てられたＣＰＵ割当量は、同じＤＢサーバに属するデータベースアクセス部２０に均等に割り当てられてもよいし、データ使用量の比率に応じて割り当てられてもよい。
【００３０】
データベースアクセス部２０は、統計情報収集部２２１およびデータ処理制御部２２２を具備している。統計情報収集部２２１は、負荷状態管理部１０からの要求に従って、データ使用量を収集し、負荷状態管理部１０に送付する。データ処理制御部２２２は、ユーザから受け取ったアクセス要求にしたがってデータベース上のデータのアクセス制御等を行う。
【００３１】
負荷状態管理部１０は、統計情報管理部２１１、負荷状態監視部２１２、および、リソース管理部２１３を具備する。統計情報管理部２１１は、取得したデータ使用量を元に必要なＣＰＵ割当量を決定する。負荷状態監視部２１２は、統計情報管理部２１１に対してデータ使用量を提供する。リソース管理部２１３は、負荷状態監視部２１２より決定したＣＰＵ割当量を受け取り、サーバ仮想化部５に対してＣＰＵ割当てを指示する。
【００３２】
図３は、本実施形態のコンピュータシステムのハードウエア構成の一例を示す図である。コンピュータシステムの各装置は、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリは、ＲＡＭ（Random Access Memory）などにより構成される。演算処理は、ＣＰＵ（Central Processing Unit）によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。本実施形態は、コンピュータシステムの各装置に加え、各装置に演算処理を実行させるためのプログラム（アプリケーションプログラム３００７）、および、そのプログラムを記録したコンピュータ読み取り可能な記録媒体を含む。
【００３３】
情報処理装置３０００は、ＣＰＵ３００２、主記憶装置３００１、通信制御装置３００３により構成される。主記憶３００１上にはＯＳ３００６およびアプリケーションプログラム３００７が置かれ、ＣＰＵ３００２を用いて稼働している。
【００３４】
アプリケーションプログラム３００７がデータベース管理システム２のＤＢアクセスサーバ２０にユーザ問い合わせを行うと、情報処理装置３０００の通信制御装置３００３と情報処理装置３１００の通信制御装置３００３によってネットワークを経由してデータベース管理システム（ＤＢＭＳ）２に問い合わせ要求が送られる。
【００３５】
情報処理装置３１００は、ＣＰＵ３００２、主記憶装置３００１、通信制御装置３００３、Ｉ／Ｏ制御装置３００４、磁気ディスク装置等の外部記憶装置３００５により構成される。
【００３６】
情報処理装置３１００の主記憶装置３００１上にはサーバ仮想化部５が置かれ、複数のＯＳ３００６が置かれている。主記憶装置３００１上にはそれぞれのＯＳ３００６上で稼働するデータベースアクセス部２０を有するデータベース管理システム２が置かれサーバ仮想化部５によって割当てられたＣＰＵ３００２を用いて稼働している。
【００３７】
外部記憶装置３００５上にはデータベース管理システム２が管理するデータベース３が格納される。
【００３８】
データベースアクセス部２０はＩ／Ｏ制御装置３００４により外部記憶装置３００５からデータの読み出し／書き出しを行い、通信制御装置３００３によりネットワークで接続された他の情報処理装置３００３とデータの送受信を行う。
【００３９】
情報処理装置３２００の主記憶上にはＯＳ３００６が置かれ、ＯＳ３００６上には、ＤＢＭＳ（負荷状態管理部１０）が置かれ、ＣＰＵ３００２を用いて稼働している。外部記憶装置３００５上には負荷状態管理部１０が管理する統計情報テーブル４００およびリソース割当テーブル５００が格納される。
【００４０】
負荷状態管理部１０は、通信制御装置３００３を用いてネットワークで接続された他の情報処理装置３００３に接続し、統計情報テーブル４００を取得し、Ｉ／Ｏ制御装置３００４により外部記憶装置３００５に格納する。リソース割当テーブル５００も同様に格納する。
【００４１】
図４は、統計情報テーブル４００の一例を表す図である。統計情報テーブル４００は、データベースアクセス部名とデータ使用量との対応情報を格納している。例えば、第１ＢＥＳ２０のデータ使用量が４０Ｇｂｙｔｅであることを示している。同様に第２ＢＥＳ２０のデータ使用量が２０Ｇｂｙｔｅであることを示している。
【００４２】
図５は、各ＤＢサーバに割当てられているＣＰＵ割当量を管理するリソース割当テーブル５００の一例を表す図である。リソース割当テーブル５００は、サーバ名とＣＰＵ割当量との対応情報を格納している。例えば、ＤＢサーバ１に４つのＣＰＵが割当てられていることを示している。同様にＤＢサーバ２に２つのＣＰＵが割当てられていることを示している。
【００４３】
図６は、本実施形態の統計情報取得方法の手順を示すフローチャートである。
【００４４】
統計情報管理部２１１は、処理を開始する（Ｓ６００）。統計情報管理部２１１は、負荷状態監視部２１２からの指示によって、統計情報収集部２２１に対してデータ使用量の取得を要求する（Ｓ６０１）。統計情報管理部２１１は、統計情報収集部２２１からデータ使用量を取得する（Ｓ６０２）。統計情報管理部２１１は、取得したデータ使用量を統計情報テーブル４００に格納する（Ｓ６０３）。統計情報管理部２１１は、処理を終了する（Ｓ６０４）。
【００４５】
図７は、図６に示す処理の後に実行されるＣＰＵ割当方法の手順を示すフローチャートである。
【００４６】
負荷状態監視部２１２は、処理を開始する（Ｓ７００）。負荷状態監視部２１２は、ユーザ指示によって、統計情報管理部２１１に対してデータ使用量を要求し、取得する（Ｓ７０１）。リソース管理部２１３は、取得したデータ使用量より、各ＤＢサーバへのＣＰＵ割当量を決定する（Ｓ７０２）。なお、ＣＰＵ割当量は、データ使用量の比とリソース割当テーブル５００のＣＰＵ割当量の総数より算出される。
【００４７】
リソース管理部２１３は、各ＤＢサーバ１へのＣＰＵ割当量に基づいて、サーバ仮想化部５に対してＣＰＵの割当指示を行う（Ｓ７０３）。リソース管理部２１３は、リソース割当テーブル５００を更新する（Ｓ７０４）。リソース管理部２１３は、処理を終了する（Ｓ７０５）。
【００４８】
図８は、図７のＳ７０２の詳細を示すフローチャートである。
【００４９】
リソース管理部２１３は、処理を開始する（Ｓ８００）。リソース管理部２１３は、分岐条件「データ使用量の比がユーザ指定値以上」を満たすか否か判定し（Ｓ８０１）、満たす場合（Ｓ８０１，Ｙｅｓ）はＳ８０２を実行し、満たさない場合（Ｓ８０１，Ｎｏ）はＣＰＵ割当てを行わないので、処理を終了する（Ｓ８０５）。
【００５０】
リソース管理部２１３は、分岐条件「データ使用量の比がユーザ指定の上限値未満」を満たすか否か判定し（Ｓ８０２）、満たす場合（Ｓ８０２，Ｙｅｓ）はＳ８０３を実行し、満たさない場合（Ｓ８０２，Ｎｏ）はＳ８０４を実行する。なお、判定条件をデータ使用量それぞれについて、ユーザ指定の上限値未満か否かとしてもよい。これにより、比較対象となるデータ使用量のデータが同時に急激に増加する事象も検出することができる。
【００５１】
リソース管理部２１３は、データ使用量の比よりＣＰＵ割当量を決定する（Ｓ８０３）。なお、ＣＰＵ割当量は、各データベースアクセス部２０に割り当てる比率と、その比率にかける乗数との積で表現される。この乗数は、大きいほど多くのＣＰＵ資源を割り当てることとなる。また、ＣＰＵ割当量とそのＣＰＵ資源が標準的に処理可能なデータ使用量との比率（以下、標準比率とする）をあらかじめ統計処理などで求めておく。そして、その標準比率から大きくかけ離れたＣＰＵ割当量を割り当てないように、標準比率から乗数を決定したり、決定されたＣＰＵ割当量とデータ使用量との比率と、標準比率とを比較することによりチェックしてもよい。
【００５２】
例えば、標準比率よりも大幅に多くのＣＰＵ資源が割り当てられることを抑制することにより、ＣＰＵの処理待ち（遊ばせている状態）を減らすことができ、ＣＰＵの利用効率を高めることができる。一方、標準比率よりも大幅に少ないＣＰＵ資源が割り当てられることを抑制することにより、ＣＰＵの処理落ち（処理能力が不足している状態）を減らすことができ、データへのアクセス速度を高めることができる。
【００５３】
リソース管理部２１３は、ユーザにデータの再配置を依頼する（Ｓ８０４）。リソース管理部２１３は、処理を終了する（Ｓ８０５）。
【００５４】
図９は、データ使用量と他の要因パラメータとを併用した統計情報テーブル４００の例を示す。ＤＢＭＳの処理がアンバランスになる要因パラメータとして、データ使用量を例に説明したが、他の要因パラメータを用いてもよい。図９の統計情報テーブル４００の情報のうち、少なくとも１つの要因パラメータを用いて、ＣＰＵ割当量を決定することができる。以下、他の要因パラメータについて、説明する。
【００５５】
以下に示す各要因パラメータは、その数値が大きいほどＣＰＵ割当量が多くなる。
・データ使用量
・単位時間当たりのトランザクション実行数（多重実行数）。
・グローバルバッファに関するパラメータ（容量、ヒット率、参照回数）。なお、グローバルバッファとは、データベースのデータを一時的に蓄えるキャッシュであり、共有メモリ上に構築される。
【００５６】
以下に示す各要因パラメータは、その数値が小さいほどＣＰＵ割当量が多くなる。
・１つのＢＥＳを構成するプロセス間における排他処理に関するパラメータ（待ち時間、処理回数）
・データベースへのアクセス処理（Ｉ／Ｏ処理）に関するパラメータ（待ち時間、処理回数）
【００５７】
図１０は、複数の情報よりＣＰＵの割当てを決定するために用いる統計情報の影響度１０００の一例を示す。例えば、ＣＰＵ割当量の決定にかかわる影響度について、データ使用量が６０％、単位時間当たりのトランザクション実行数が３０％、グローバルバッファのヒット率が５％、グローバルバッファ実行回数が５％であることを示している。この影響度の比率が、相乗平均についての乗数（重み値）となり、各ＣＰＵ割当量の算出結果と乗算される。
【００５８】
図１１は、統計情報テーブル４００の情報を２つ以上用いるフローチャートである。
【００５９】
リソース管理部２１３は、処理を開始する（Ｓ１１００）。リソース管理部２１３は、取得した統計情報の比とリソース割当テーブル５００のＣＰＵ総数とＣＰＵの影響度テーブル（図９）よりＣＰＵ割当量を決定する（Ｓ１１０１）。リソース管理部２１３は、分岐条件「未処理の情報がある」を満たすか否か判定し（Ｓ１１０２）、満たす場合（Ｓ１１０２，Ｙｅｓ）はＳ１１０１を実行し、満たさない場合（Ｓ１１０２，Ｎｏ）はＳ１１０３を実行する。なお、未処理の情報とは、要因パラメータのうちＣＰＵ割当量の算出に用いられていないものを指す。
【００６０】
リソース管理部２１３は、各ＤＢサーバへのＣＰＵ割当量に基づいて、サーバ仮想化部５に対してＣＰＵの割当要求を行う（Ｓ１１０３）。リソース管理部２１３は、リソース割当テーブル５００を更新する（Ｓ１１０４）。リソース管理部２１３は、処理を終了する（Ｓ１１０５）。
【００６１】
以上説明した本実施形態は、無共有型ＤＢＭＳにおいて、それぞれが担当する分割ＤＢ間のデータ量にアンバランスが生じたことを統計情報により判断し、アンバランスと判断した場合に、分割ＤＢを担当するデータベースアクセス部が利用できるＣＰＵ割当量を変更することによって、処理性能のアンバランスを是正することが可能となる。
【００６２】
本実施形態によれば、従来と比べて面倒なデータの再配置を行わずにＤＢＭＳの処理性能の低下を少なくし、処理性能のアンバランスを是正するができるという効果がある。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に関する発明の要点を示す概念図である。
【図２】本発明の一実施形態に関するデータベース処理システムを示す構成図である。
【図３】本発明の一実施形態に関するコンピュータシステムを示すハードウェア構成図である。
【図４】本発明の一実施形態に関する統計情報の一例を示す説明図である。
【図５】本発明の一実施形態に関するＤＢサーバへのリソース割当ての一例を示す説明図である。
【図６】本発明の一実施形態に関する統計情報の取得方法を示すフローチャートである。
【図７】本発明の一実施形態に関するＣＰＵの割当方法を示すフローチャートである。
【図８】本発明の一実施形態に関するＳ７０２の詳細を示すフローチャートである。
【図９】本発明の一実施形態に関する統計情報の一例を示す説明図である。
【図１０】本発明の一実施形態に関する統計情報の影響度の一例を示す説明図である。
【図１１】本発明の一実施形態に関する複数の情報よりＣＰＵの割当方法の手順を示すフローチャートである。
【図１２】従来の技術に関するデータの移動を伴う負荷分散方法を示す説明図である。
【符号の説明】
【００６４】
１      データベースサーバ
２      データベース管理システム
３      データベース
５      サーバ仮想化部
１０    データベース負荷状態管理部
２０    データベースアクセス部
２１１  統計情報管理部
２１２  負荷状態監視部
２１３  リソース管理部
２２１  統計情報収集部
２２２  データ処理制御部
【図１】
2007249468.tif 000003
【図２】
2007249468.tif 000004
【図３】
2007249468.tif 000005
【図４】
2007249468.tif 000006
【図５】
2007249468.tif 000007
【図６】
2007249468.tif 000008
【図７】
2007249468.tif 000009
【図８】
2007249468.tif 000010
【図９】
2007249468.tif 000011
【図１０】
2007249468.tif 000012
【図１１】
2007249468.tif 000013
【図１２】
2007249468.tif 000014