(57)【要約】      （修正有）【課題】同一データを保有可能とする複数のデータベースシステムが存在する環境において、問合せ処理の効率化を図る。【解決手段】仮想データベースシステム管理装置１０に対して、問合せ実行部１６より問合せ内容の実行計画及び実行結果を取得して実行履歴管理テーブル１７として管理するとともに、各データベースシステム２０ａ、２０ｂのリソース利用情報を取得して管理し、それらの情報から重複して持つべきデータ及びデータを配置するべきデータベースシステムを決定し、各データベースシステムに対してデータ作成の指示を出すとともに、データベース管理部１２における論理データベース管理テーブル１２ａ及び物理データベース管理テーブル１２ｂの情報を更新することによって、新たな問合せ文の入力に対して、より適切な物理データベースの選択を可能とする。【選択図】図１
2015179449.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも部分的に同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力されるデータベースシステム管理装置において、
前記データベースに関連付けたエントリ番号を管理する物理データベース管理テーブルと、
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義し、前記物理データベース管理テーブルのデータに対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理テーブルと、
各データベースシステムにおける処理の優先度、リソース容量、リソース利用率を管理するデータベースシステム情報テーブルと、
前記ユーザシステムからの問合せに対して、アクセス対象の論理データベース情報を抽出し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルより対応する物理データベース情報の組を取得し、取得した物理データベース情報の組が複数存在する場合に、問合せ内容に応じて１つの組を選択するデータベース選択部と、
前記問合せ内容の実行計画及び実行結果を取得し実行履歴管理テーブルを作成して管理する実行履歴管理部と、
前記実行履歴管理部及び前記データベースシステム情報テーブルが管理する情報を用いて重複して持つべきデータ（データ再配置候補）及び該データを配置するべきデータベースシステムを決定するデータ配置決定部と、
前記データ配置決定部の決定に従って前記データベースシステムに対してデータの作成又は移動を指示し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルの情報を更新するデータ配置実行部と、
を備えたことを特徴とする仮想データベースシステム管理装置。
【請求項２】
前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
前記実行履歴管理部は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
前記データ配置決定部は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ（データ再配置候補）を決定する
請求項１に記載の仮想データベースシステム管理装置。
【請求項３】
同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力される環境において、
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義する論理データベース管理テーブルと、前記論理データベース情報に対し前記複数のデータベースシステムにおける１つあるいは複数のデータベースマネジメントシステム（ＤＢＭＳ）、データベース・テーブルの組を割り当てる物理データベース管理テーブルとを作成する管理テーブル作成手順と、
前記ユーザシステムからの問合せ内容の実行計画と実行結果を取得して実行履歴管理テーブルとして管理する実行履歴管理手順と、
各データベースシステムのリソース利用情報を取得して管理するデータベースシステム管理手順と、
前記実行履歴管理テーブルが管理する情報及び前記リソース利用情報を用いて重複して持つべきデータ（データ再配置候補）及び該データを配置するべきデータベースシステムを決定するデータ配置決定手順と、
前記決定に従って前記データベースシステムに対してデータの作成又は移動の指示を出し、前記論理データベース管理テーブル及び物理データベース管理テーブルの情報を更新する更新手順と、
により実行することを特徴とする仮想データベースシステム管理方法。
【請求項４】
前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
前記実行履歴管理手順は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
前記データ配置決定手順は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ（データ再配置候補）を決定する
請求項３に記載の仮想データベースシステム管理方法。
【請求項５】
請求項３又は請求項４に記載の仮想データベースシステム管理方法の各手順をコンピュータにより実行可能とした仮想データベースシステム管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも部分的に 同一データを保有可能とする複数のデータベースシステムが存在する環境において、データベースシステムを選択する場合に、ユーザの過去の問合せ内容に応じてデータの配置を最適化することで効率的な処理を実行する仮想データベースシステム管理装置、管理方法及び管理プログラムに関する。
【背景技術】
【０００２】
従来、データベースアクセスの負荷を分散させて処理能力向上を図るため、データベースシステム管理装置において、同一データを含むデータベースを複数用意することが行われていた。
例えば、負荷分散装置を導入し、ユーザからのデータベースコネクション確立時において、順番に或いはデータベースの負荷の少ない順に、データベースが選択され接続されることが行われている。この場合、データベースコネクション確立時に、接続するデータベースが決定されてしまうため、ユーザからの問合せ内容に応じてデータベースを選択することはできない。
【０００３】
一方、複数のデータベースが存在する環境で、それらを統一的に扱う手法がいくつか提案されている。
例えば、特許文献１では、複数のデータベースが存在する環境において、ユーザの求める情報を含む複数データベースを検索できるようにする検索方法が提案されている。しかし、特許文献１に記載の手法では、同じ内容のデータベースが存在することを仮定していないため、データベースを選択可能な状況においてデータベース選択をすることができない。
【０００４】
また、特許文献２には、複数のデータベース内に同じ名称のテーブルが存在する場合が記述されているが、同じ名称のテーブルであっても内容が同じとは限らず、予め優先順位を設定して選択する方式であるため、ユーザの問合せ内容に応じたデータベースを選択することができない。
【０００５】
また、データベースシステムの構成について、データベースそのものとデータベースを管理するデータベースマネジメントシステム（ＤＢＭＳ）の集合体と考えると、１つのデータベースを複数のデータベースマネジメントシステム（ＤＢＭＳ）で共有し、結果として同一データを保有する複数のデータベースシステムが存在することになる場合も想定される。
【０００６】
同一データを有するデータベースシステムが複数存在し、かつ各データベースシステムにおいて問合せ処理を実行する各ＤＢＭＳのクエリ処理エンジンに特徴があり、ユーザの問合せ内容に応じてデータベースシステム（クエリ処理エンジン）を選択したい場合に、上述した従来技術では対応することができなかった。
【０００７】
そこで本発明者は、複数のデータベースシステムが存在する環境において、論理的にデータベース、テーブルを定義し、それらに対し、各データベースシステムにおける複数のＤＢＭＳ、データベース、テーブル、範囲条件の組を割り当てる手段と、利用者の問合せ内容に応じて複数の組の中から１つを選択して処理を進める手段を備えた仮想データベースシステム管理装置を提案するに至った（特許文献３）。
この装置によれば、同一データを含む複数のデータベースシステムが存在する環境において、データベースシステムを選択し問合せ処理を実行することが可能となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−３０７７４３号公報
【特許文献２】特開２０００−８２０８０号公報
【特許文献３】特願２０１３−１７６７０９
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら上述した装置によれば、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とするが、ユーザからの問合せ内容を効率よく処理するために、どのデータを重複して複数のデータベースシステムに配置すべきかに関して言及されていない。
【００１０】
本発明は上記実情に鑑みて提案されたもので、複数のデータベースシステムが存在する環境において、問合せ処理の効率化を図るために、重複して持つべきデータ、及びそのデータを配置するデータベースシステムを選定可能とした仮想データベースシステム管理装置、管理方法及び管理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するため本発明（請求項１）は、少なくとも部分的に同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力されるデータベースシステム管理装置において、次の構成を含むことを特徴としている。
前記データベースに関連付けたエントリ番号を管理する物理データベース管理テーブル。
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義し、前記物理データベース管理テーブルのデータに対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理テーブル。
各データベースシステムにおける処理の優先度、リソース容量、リソース利用率を管理するデータベースシステム情報テーブル。
前記ユーザシステムからの問合せに対して、アクセス対象の論理データベース情報を抽出し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルより対応する物理データベース情報の組を取得し、取得した物理データベース情報の組が複数存在する場合に、問合せ内容に応じて１つの組を選択するデータベース選択部。
前記問合せ内容の実行計画及び実行結果を取得し実行履歴管理テーブルを作成して管理する実行履歴管理部。
前記実行履歴管理部及び前記データベースシステム情報テーブルが管理する情報を用いて重複して持つべきデータ（データ再配置候補）及び該データを配置するべきデータベースシステムを決定するデータ配置決定部。
前記データ配置決定部の決定に従って前記データベースシステムに対してデータの作成又は移動を指示し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルの情報を更新するデータ配置実行部。
【００１２】
請求項２は、請求項１の仮想データベースシステム管理装置において、
前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
前記実行履歴管理部は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
前記データ配置決定部は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ（データ再配置候補）を決定することを特徴としている。
【００１３】
本発明の仮想データベースシステム管理方法（請求項３）は、同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力される環境において、
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義する論理データベース管理テーブルと、前記論理データベース情報に対し前記複数のデータベースシステムにおける１つあるいは複数のデータベースマネジメントシステム（ＤＢＭＳ）、データベース・テーブルの組を割り当てる物理データベース管理テーブルとを作成する管理テーブル作成手順と、
前記ユーザシステムからの問合せ内容の実行計画と実行結果を取得して実行履歴管理テーブルとして管理する実行履歴管理手順と、
各データベースシステムのリソース利用情報を取得して管理するデータベースシステム管理手順と、
前記実行履歴管理テーブルが管理する情報及び前記リソース利用情報を用いて重複して持つべきデータ（データ再配置候補）及び該データを配置するべきデータベースシステムを決定するデータ配置決定手順と、
前記決定に従って前記データベースシステムに対してデータの作成又は移動の指示を出し、前記論理データベース管理テーブル及び物理データベース管理テーブルの情報を更新する更新手順と、
により実行することを特徴としている。
【００１４】
請求項４は、請求項３の仮想データベースシステム管理方法において、
前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
前記実行履歴管理手順は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
前記データ配置決定手順は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ（データ再配置候補）を決定する
ことを特徴としている。
【００１５】
請求項５は、仮想データベースシステム管理プログラムであって、請求項３又は請求項４に記載の仮想データベースシステム管理方法の各手順をコンピュータにより実行可能としたことを特徴としている。
【発明の効果】
【００１６】
本発明によれば、データベースシステムが複数存在し、ユーザの問合せ内容に応じてデータベースシステムを選択して処理を実行する場合において、問合せ文の実行計画と実行結果については実行履歴管理テーブルで、データベースシステムにおける処理の優先度、リソース容量、リソース利用率（データベースシステムのリソース利用情報）についてはデータベースシステム情報テーブルでそれぞれ管理する。
そして、これらの情報から重複して持つべきデータ（データ再配置候補）及びデータを配置するべきデータベースシステムを判断して、各データベースシステムに対してデータ作成の指示を出すとともに、仮想データベースシステム管理装置のデータベース管理部に対して、論理データベース管理テーブル及び物理データベース管理テーブルの情報を更新する。
その結果、新たな問合せ文の入力に対して、データベース選択部においてより適切な物理データベースの選択を可能とすることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の仮想データベースシステム管理装置の全体構成を示すブロック図である。
【図２】仮想データベースシステム管理装置において、複数のデータベースシステムが存在する場合の例を示すモデル図である。
【図３】物理データベース管理テーブルの例を示すテーブル図である。
【図４】論理データベース管理テーブルの例を示すテーブル図である。
【図５】データベース選択部における処理手順を示すフローチャート図である。
【図６】仮想データベースシステム管理装置において、複数のデータベースシステムが存在する場合の例を示すモデル図である。
【図７】物理データベース管理テーブルの例を示すテーブル図である。
【図８】論理データベース管理テーブルの例を示すテーブル図である。
【図９】データベースシステム情報テーブルの例を示すテーブル図である。
【図１０】実行履歴管理テーブルの例を示すテーブル図である。
【図１１】データベースアクセス管理テーブルの例を示すテーブル図である。
【図１２】データ配置決定部における処理手順を示すフローチャート図である。
【図１３】データ配置実行部における処理手順を示すフローチャート図である。
【図１４】再配置後の仮想データベースシステム管理装置のモデル図である。
【図１５】再配置後の物理データベース管理テーブルの例を示すテーブル図である。
【図１６】再配置後の論理データベース管理テーブルの例を示すテーブル図である。
【図１７】仮想データベースシステム管理装置において、複数のデータベースシステムが存在する場合の例を示すモデル図である。
【図１８】物理データベース管理テーブルの例を示すテーブル図である。
【図１９】論理データベース管理テーブルの例を示すテーブル図である。
【図２０】データベースシステム情報テーブルの例を示すテーブル図である。
【図２１】実行履歴管理テーブルの例を示すテーブル図である。
【図２２】データベースアクセス管理テーブルの例を示すテーブル図である。
【図２３】データベースアクセス管理テーブルの例を示すテーブル図である。
【図２４】Ｓ１＝｛Ｐ１，Ｐ２｝に対するテーブルＴ１の例を示すテーブル図である。
【図２５】再配置後の仮想データベースシステム管理装置のモデル図である。
【図２６】再配置後の物理データベース管理テーブルの例を示すテーブル図である。
【図２７】再配置後の論理データベース管理テーブルの例を示すテーブル図である。
【発明を実施するための形態】
【００１８】
本発明の仮想データベースシステム管理装置の実施形態の一例について、図面を参照して説明する。
仮想データベースシステム管理装置は、同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とするシステムであり、仮想データベースシステム管理プログラムが格納された記録媒体やインターネットを介してソフトウエアのダウンロードによりインストールすることで、コンピュータ上に構築されている。
【００１９】
仮想データベースシステム管理装置が構築されるコンピュータは、オペレーティングシステム（ＯＳ）を含む基本プログラムや各種の基本デバイスが記憶されたＲＯＭと、各種のプログラムやデータが記憶されるハードディスクドライブ装置（ＨＤＤ）と、ＣＤ−ＲＯＭやＤＶＤ等の記憶媒体からプログラムやデータを読み出すメディアドライブ装置と、プログラムを実行するＣＰＵと、このＣＰＵにワークエリアを提供するＲＡＭと、入出力インターフェース（Ｉ／Ｆ）を介して接続されたディスプレイ、キーボードおよびマウス等のポインティングデバイスと、外部装置と通信するパラレル／シリアルＩ／Ｆとを主要部分とする一般的な構成を備えている。
本実施形態の仮想データベースシステム管理装置では、仮想データベースシステム管理プログラムがシリアル／パラレルＩ／Ｆから入力、またはメディアドライブ装置で読み取られてＨＤＤに予め記憶される。仮想データベースシステム管理プログラムは記憶媒体に記憶され、メディアドライブ装置で読み取られてＨＤＤにインストールされる。
【００２０】
コンピュータ上に構築された仮想データベースシステム管理装置は、複数のデータベースシステムが存在する環境において、ユーザからのアクセス対象となる論理データベース情報（データベース、テーブル）を定義し、それらに対し、各データベースシステムにおける１つあるいは複数のＤＢＭＳ、データベース、テーブル、範囲条件の組を割り当てる。
そして、論理データベース情報に対して複数の組を割り当てた場合に、ユーザから問合せ内容に応じて、複数の組の中から１つを選択して処理を実行するよう管理することで、同一データを含む複数のデータベースシステムが存在する環境において、データベースシステムを選択し、ユーザからの問合せ処理に適したデータの選択を可能とするものである。
【００２１】
以下、仮想データベースシステム管理装置１０の構成について、図１のブロック図を参照して説明する。
仮想データベースシステム管理装置１０は、複数のデータベースシステム２０と接続されるデータベースインタフェース部１１と、データベースインタフェース部１１を介して各データベースシステム２０の情報を取得し管理するデータベース管理部１２と、ユーザシステム１との入出力を行うユーザインタフェース部１３と、ユーザシステム１から入力された問合せ文を解析する問合せ入力解析部１４と、問合せ文の実行計画を生成する実行計画生成部１５と、データベースインタフェース部１１を介して問合せ文を実行し結果をユーザシステム１へ出力する問合せ実行部１６とを備えて構成されている。
【００２２】
データベース管理部１２は、論理的に定義された論理データベース情報（データベース、テーブル等）を管理する論理データベース管理テーブル１２ａと、データベース・テーブル等の組を管理する物理データベース管理テーブル１２ｂを備えることで、各データベースシステム２０の情報を管理している。論理データベース管理テーブル１２ａ及び物理データベース管理テーブル１２ｂにおけるデータ間の紐付けについては、後述する。
また、データベース管理部１２は、各データベースシステムにおける処理の優先度、リソース容量、リソース利用率（データベースシステムのリソース利用情報）を管理するデータベースシステム情報テーブル１２ｃを備えている。データベースシステム情報テーブル１２ｃは、データベースインタフェース部１１を介して各データベースシステム２０のリソース利用情報を取得する。
【００２３】
問合せ入力解析部１４は、ユーザインタフェース部１３を介して入力された問合せ文の講文を解析し、解析結果を実行計画生成部１５へ入力する。
【００２４】
実行計画生成部１５は、データベース管理部１２より問合せ文の問合せ入力解析部１４での解析結果に対応するデータベース情報を取得し、問合せ文を実行するデータベースシステム２０を選択するデータベース選択部１５ａを備え、選択したデータベースシステム２０に対して問合せ文の実行計画を生成する。
すなわち、データベース選択部１５ａは、問合せ文に応じて１つのデータベースシステム２０を選択するに際して、予め定義したルールとの適合評価を行うルール評価部を備えている。そして、ルール評価部での適合結果に基づいて、データベースシステム２０が選択される。
問合せ実行部１６は、実行計画生成部１５にて生成された実行計画を実行し、実行結果についてユーザインタフェース部１３を介してユーザシステム１へ出力する。
【００２５】
また、本発明の仮想データベースシステム管理装置１０では、データベースシステム２０が複数存在する場合に、どのデータを重複して複数のデータベースシステム２０に配置すべきかを判断し、配置の変更を実行するために、実行履歴管理部１７と、データ配置決定部１８と、データ配置実行部１９とを備えている。
実行履歴管理部１７は、実行計画生成部１５からの問合せ文の実行計画、問合せ実行部１６からの問合せ文の実行結果を取得する実行履歴管理テーブル１７ａと、各問合せ文に対する物理データを管理するデータベースアクセス管理テーブル１７ｂを備えている。実行履歴管理テーブル１７ａ及びデータベースアクセス管理テーブル１７ｂについての詳細説明は後述する。
【００２６】
データ配置決定部１８は、データベース管理部１２及び実行履歴管理部１７が管理する情報を用いて重複して持つべきデータ及びそのデータを配置するべきデータベースシステム２０を決定する。
データ配置実行部１９は、データ配置決定部１８の決定に従ってデータベースインタフェース部１１を通じて各データベースシステム２０に対してデータ作成又は移動の指示を出し、かつデータベース管理部１２が管理する論理データベース管理テーブル１２ａ及び物理データベース管理テーブル１２ｂの情報を更新する。 
【００２７】
先ず、仮想データベースシステム管理装置１０により、少なくとも部分的に同一データを有するデータベースシステム２０が複数存在する場合に、ユーザの問合せ内容に応じてデータベースシステム２０を選択し処理を実行するように複数のデータベースシステム２０を管理する手順について、図１〜図５を参照して説明する。
仮想データベースシステム管理装置１０には、複数のデータベースシステム２０ａ，２０ｂが接続され、ユーザシステム１からのアクセスに応じてデータが出力される。各データベースシステム２０ａ，２０ｂは、各種のデータが格納されたデータベース２１と、データベース２１を管理するデータベースマネジメントシステム（以下、ＤＢＭＳと称する）２２を備え、同一のデータがデータベース２１に保有される環境となっている。
各データベースシステム２０は、例えば、大容量に適したもの、アクセス時間が速いもの等、異なる性質を有するものを使用しても良い。
【００２８】
より具体的には、データベースシステム２０ａは、データベースマネジメントシステム（ＤＢＭＳ１）２２とデータベース（ＤＢ１）２１から構成され、ＤＢ１には２つテーブルＴＢＬ１とＴＢＬ２が定義されている。
同様にデータベースシステム２０ｂは、データベースマネジメントシステム（ＤＢＭＳ２）２２とデータベース（ＤＢ１）２１から構成され、ＤＢ１には２つテーブルＴＢＬ１とＴＢＬ２が定義されている。データベースシステム２０ａとデータベースシステム２０ｂのデータベース（ＤＢ１）２１は、内容が同一と仮定する。この例では、２つのデータベース（ＤＢ１）２１が同一と仮定しているが、必ずしも完全同一である必要はなく、部分的に同一データを持つ場合でも適用可能とすることができる。
【００２９】
仮想データベースシステム管理装置１０に、この２つのデータベースシステム２０ａ，２０ｂが接続されると、データベース管理部１２が各データベースシステム２０ａ，２０ｂからデータベース情報を取得し、図３に示すように、エントリ番号（Ｐ１〜Ｐ４）、ＤＢＭＳ（ＤＢＭＳ１かＤＢＭＳ２）、データベース（ＤＢ１）、テーブル（ＴＢＬ１かＴＢＬ２）、範囲条件の組を物理データベース管理テーブル１２ｂとして管理する（管理テーブル作成手順）。
なお、必ずしも各データベースシステム２０からデータを取得する必要はなく、例えば人手で物理データベース管理テーブルを作成してもよい。
【００３０】
範囲条件とは、データベースシステム２０において、エントリ番号に対応するテーブルのデータの有効範囲を定める条件を指定するものである。
図３の例では、データベースシステム２０ｂのＴＢＬ１に対して、「日時」の属性があるとして、「日時」の値が「２０１３年１月」以降であるデータが有効であることを示している。
【００３１】
また、図４に示すように、ユーザシステム１からアクセス対象となる論理データベース情報（データベース、テーブル）を論理データベース管理テーブル１２ａと定義して管理する（管理テーブル作成手順）。
論理データベース管理テーブル１２ａには、物理データベース管理テーブルのデータに対して、対応する各エントリ番号を紐付けて管理する情報としてリンク項目が設定されている。
図２〜図４に示した例の場合、物理データベース管理テーブルのエントリ番号Ｐ１とエントリ番号Ｐ３、エントリ番号Ｐ２とエントリ番号Ｐ４は、それぞれ部分あるいは全体として同じ内容を持つことから、論理データベースとしてＶＤＢ１／ＶＴＢＬ１、ＶＤＢ２／ＶＴＢＬ２を定義して、物理データベースと対応付けている。
【００３２】
ユーザシステム１から、ユーザインタフェース部１３を通じて問合せ文が入力されると、問合せ入力解析部１４による構文確認が行われ、解析結果は実行計画生成部１５に入力される。
【００３３】
次に、実行計画生成部１５による実行計画生成処理により、問合せ対象のデータベース／テーブルを抽出し、データベース選択部１５ａにより、図５に示す手順によって問合せ文を実行するデータベースシステムを特定する（データベース選択手順）。
すなわち、データベース選択部１５ａは、実行計画生成部１５より問合せ内容を取得し、問合せ内容に含まれるデータベースおよびテーブルの組を抽出する（ステップ６１）。 
【００３４】
データベース選択部１５ａは、抽出したデータベースおよびテーブルの組を入力としてデータベース管理部１２を呼び出す（ステップ６２）。 
データベース管理部１２は、論理データベース管理テーブル１２ａより、取得したデータベースおよびテーブルの組に該当するエントリ番号を検索し、リンク項目に記載のエントリ番号を物理データベース管理テーブル１２ｂより検索して、ＤＢＭＳ、データベース、テーブル、範囲条件の組を１つあるいは複数取得し、データベース選択部１５ａへ出力する（ステップ６３）。
【００３５】
データベース選択部１５ａでは、入力の組あたりの結果の組の個数が１つであるか複数であるかを判断する（ステップ６４）。
データベース選択部１５ａにて、問合せ内容に含まれる検索条件も考慮し、問合せ内容の実行対象となる１組を選択する（ステップ６５）。
【００３６】
データベース選択部１５ａでは、実行計画生成部１５より取得したデータベースおよびテーブルの組（論理データベース）に対し、検索／選択したＤＢＭＳ、データベース、テーブルの組（物理データベース）を対応させ、実行計画生成部１５へ出力する（ステップ６６）。
実行計画生成部１５では、取得した情報を元に問合せ文に対する実行計画を生成して問合せ実行部１６へ入力する。
問合せ実行部１６では、実行計画に基づきデータベースインタフェース部１１を介して問合せ文が実行され（処理手順）、最終的に実行結果がユーザシステム１に対して出力される。
【００３７】
以上の手順が実行されることで、データベース選択部１５ａでは、問合せ文の内容を参照し、問合せ文に対応したデータベースシステムを選択することができる。
例えば、更新系の問合せはデータベースシステム２０ａ（データベースシステム１）、参照系の問合せはデータベースシステム２０ｂ（データベースシステム２）とするよう予め設定することができる。また、各データベースシステム２０の容量やアクセス速度等が異なる場合に、問合せ内容に適した容量やアクセス速度等を考慮することで、例えば、ＴＢＬ１への問合せはデータベースシステム２０ａ（データベースシステム１）、それ以外の問合せはデータベースシステム２０ｂ（データベースシステム２）と予め設定することもできる。
【００３８】
例えば、図２〜図４の例において、問合せ文の対象テーブルがＶＴＢＬ１であった場合、論理データベース管理テーブル１２ａより、Ｐ１とＰ３にリンクされることがわかるため、物理データベース管理テーブル１２ｂより検索して、Ｐ１とＰ３に該当する情報の組がデータベース選択部１５ａへ返される。データベース選択部１５ａでは、問合せ内容に応じてＰ１あるいはＰ３を選択するが、例えば、問合せ文の条件が、「日時≧２０１３年１月」に適合し、かつＤＢＭＳ２の方が処理能力が高いような場合にはＰ３を選択する、というように動作する。
【００３９】
また、データベース選択部１５ａに、問合せ文の内容についてのコスト評価を行うコスト評価部を設け、このコスト評価部で算出した値に基づいてデータベースシステム２０を選択するようにしても良い。コスト評価部では、例えば、問合せ入力解析部１４の解析結果に基づいて評価値を算出する。
【００４０】
データベース選択部１５ａによって特定されたデータベース情報に従って、実行計画生成部１５にて実行計画及び各データベースシステム２０に合わせた問合せ文を生成し、問合せ実行部１６にてデータベースインタフェース部１１を介して問合せ文が実行され、最終的に実行結果がユーザシステム１に対して出力される。
【００４１】
次に、本発明の特徴的な構成である、ユーザからの問合せ内容を効率よく処理するために、データベースシステム２０が複数存在する場合に、どのデータを重複して複数のデータベースシステム２０に配置すべきかの管理に関して、図６に示す仮想データベースシステム管理装置１０のデータベースシステムＡ，データベースシステムＢを例に、図１における実行履歴管理部１７、データ配置決定部１８、データ配置実行部１９の機能について説明する。
【００４２】
図６の仮想データベースシステム管理装置（例１）においては、図７及び図８に示すように、物理データベースとしてＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１が存在し、論理データベースＶＤＢ１．ＶＴＢＬ１にリンク（リンク先Ｐ１）されている。 図７の物理データベース管理テーブルは、前記した図３に相当するものであり、エントリ番号（この例の場合、Ｐ１のみ）、ＤＢＭＳ（この例の場合、ＤＢＭＳ−Ａ）、データベース（ＤＢ１）、テーブル（ＴＢＬ１）、範囲条件の組が管理されている。図８の論理データベース管理テーブルは、前記した図４に相当するものであり、リンク先Ｐ１が示されている。
【００４３】
また、データベース管理部１２のデータベースシステム情報テーブル１２ｃでは、図９に示すように、各データベースシステム２０（データベースシステムＡ、データベースシステムＢ）の処理における優先度、リソース容量、リソース利用率が管理されている。優先度は、どちらのデータベースシステム２０を優先するのかを設定するものである。容量は、データベースシステム２０に記録される容量値である。利用率は、各データベースシステム２０における利用状況の指標であり、％で示される。
この例の場合、データベースシステムＢについては、容量が小さく（１ＴＢ）処理速度が速いデータベースとし、データベースシステムＡについては、容量が大きい（１００ＴＢ）データベースを使用し、例えば利用率が９０％になるまでは、データベースシステムＢに優先的にデータが登録されるようになっている。
以下、データベースシステムＡに物理データとして存在するＴＢＬ１について、処理速度が速いデータベースシステムＢに再配置（コピー）する管理手順について説明する。
【００４４】
実行履歴管理部１７では、問合せ実行部１６より実行した問合せ文（クエリ）の実行計画（どのクエリをどのデータベースで処理するかなど）と実行結果（処理時間、処理件数、データ量など）の情報を取得し、実行履歴管理テーブル１７ａに記録する。
ユーザからの問合せ文は、各データベースシステム２０にて実行されるサブ問合せ文に変換され、各データシステム２０に対するサブ問合せ文実行をステージ１、それらの結果に基づいてユーザに対して問合せ文の処理を実行するステージ２に分けて、図１０に示すような実行履歴管理テーブルに記録される。すなわち、各問合せ文をステージ１とステージ２に分け、使用したデータベース、使用したテーブル、リンク先に関する情報、ステージ１とステージ２のそれぞれの実行結果が記録される。
ステージ１の実行結果は各データベースシステム２０における各サブ問合せ文の実行結果（α１，β１，γ１，δ１，ε１）となり、ステージ２の実行結果は問合せ文全体の実行結果（α２，β２，γ２，δ２，ε２）となる。
【００４５】
また、実行履歴管理部１７では、実行履歴管理テーブルのリンクに記された物理データベース管理テーブルの各テーブルに対して、データベースアクセス管理テーブル１７ｂを作成する。すなわち、データベースアクセス管理テーブルは、物理テーブルの種類の数だけ作成される。
データベースアクセス管理テーブルは、図１１に示すように、対象テーブルにて実行された各サブ問合せ文に対して、複数カラム（ＣＯＬ１〜５）から参照されたカラムを記録する。図１１では、各カラムに対して参照部分がカラム全体を示すチェックを付しているが、参照部分がカラム全体ではなく一部に限られる場合はチェックでなくその範囲（例えば、２０１４年１月）を記録するようにしてもよい。
【００４６】
次に、データ配置決定部１８における処理について、図１２を参照して説明する。
実行履歴管理部１７の実行履歴管理テーブル１７ａより、問合せ文におけるステージ２の実行結果（処理時間等）が一定以上の問合せ文Ｑｉを抽出する（ステップ８１）。 
各問合せ文Ｑｉにおいて、サブ問合せ文の対象物理テーブルの組を抽出し、重複排除したものをＳｊとする。各Ｓｊに対して、データベースアクセス管理テーブルより、対応するＱｉのレコードを抽出したテーブルＴｊを生成する（ステップ８２）。 
各テーブルＴｊに対して、利用頻度の高いカラム条件Ｃｊを抽出しデータ再配置候補とする（ステップ８３）。 
各Ｃｊに対して、データベースシステム情報テーブルを参照し、優先度及びリソース情報から再配置先のデータベースＤＢＭＳｊ．ＤＢｊを決定し、｛Ｃｊ，ＤＢＭＳｊ．ＤＢｊ｝を出力する。
再配置先のデータベースが決定できない場合は、処理をスキップする（ステップ８４）。
【００４７】
データ配置決定部１８における処理の具体例について、図１０の例で説明する。
図１０の例において、問合せ文について、実行結果（処理時間など）の条件は全て満たすと仮定すると、問合せ文としてＱ１〜Ｑ５が抽出される。
これらの問合せ文Ｑ１〜Ｑ５のサブ問合せ文の対象物理テーブルは全てＰ１であるため、重複排除するとＳ１＝｛Ｐ１｝となる。Ｐ１に対して、図１１のデータベースアクセス管理テーブルより対象レコードを抽出すると、Ｔ１は図１１のテーブルと同様となる。
【００４８】
Ｔ１において、利用頻度の高いカラム条件（例えば、５つのサブ問合せ文に対して４つ以上のサブ問合せ文で参照されたカラム）を考えると、この例の場合、ＣＯＬ１，ＣＯＬ２，ＣＯＬ３が該当するため、｛ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ１，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ２，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ３ ｝をデータ再配置候補とする。
【００４９】
図９のデータベースシステム情報テーブルを参照すると、データベースシステムＡよりデータベースシステムＢの方が優先度が高く、データをデータベースシステムＢに配置した方が処理効率が向上することが期待できるため、データベースシステムＢの空きリソースを確認した上で問題なければ、データベースシステムＢ（ＤＢＭＳ−Ｂ．ＤＢ１）を配置先と決定し、｛｛ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ１，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ２，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ３ ｝，ＤＢＭＳ−Ｂ．ＤＢ１｝を出力する。 
【００５０】
データ配置実行部１９における処理について、図１３を参照して説明する。
データ配置決定部１８からの入力の各｛Ｃｊ，ＤＢＭＳｊ．ＤＢｊ｝について、データベースインタフェース部１１を通じて、Ｃｊの範囲のデータをＤＢＭＳｊ．ＤＢｊに複製あるいは移動する（ステップ９１）。
データベース管理部１２を通じて、物理データベース管理テーブル１２ｂ及び論理データベース管理テーブル１２ａを更新する（ステップ９２）。
【００５１】
図６〜図１１の例の場合、データ配置決定部１８からの入力は｛ ｛ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ１，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ２，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ３ ｝，ＤＢＭＳ−Ｂ．ＤＢ１ ｝となるので、ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１よりカラムＣＯＬ１，ＣＯＬ２，ＣＯＬ３を抽出して、ＤＢＭＳ−Ｂ．ＤＢ１にＴＢＬ１としてデータを複製する。 
【００５２】
その結果として、図１４に示すように、ＴＢＬ１のデータはデータベースシステムＡ及びデータベースシステムＢに存在することとなり、物理データベース管理テーブル及び論理データベース管理テーブルは、それぞれ図１５及び図１６のように更新される。すなわち、物理データベース管理テーブル（図１５）では、エントリ番号Ｐ２としてＤＢＭＳ−Ｂにおいて、ＤＢ１，ＴＢＬ１，範囲条件カラムＣＯＬ１，ＣＯＬ２，ＣＯＬ３のデータが作成され、論理データベース管理テーブル（図１６）では、リンク先にＰ２が加えられる。
これにより、ＶＴＢＬ１に対する問合せ文は、Ｐ１あるいはＰ２を選択して処理することが可能となり、利用頻度の高いカラムＣＯＬ１，ＣＯＬ２，ＣＯＬ３へのアクセスは、Ｐ２で紐づけられたより処理能力の高いデータベースシステムＢでの処理が可能となるので、処理効率が改善される。
なお、ＶＴＢＬ１に対する問合せ文におけるカラムＣＯＬ４へのアクセスは、Ｐ２の選択で処理できないので、Ｐ１を選択してデータベースシステムＡで処理される。
【００５３】
複製対象がテーブル全体の場合は、必ずしも元データを保持する必要はないので、データベースの容量確保のため複製後に元データを削除することもできる。この場合、それに応じて物理データベース管理テーブル及び論理データベース管理テーブルも更新される。 
【００５４】
続いて、仮想データベースシステム管理装置１０に対する物理データの配置に関して、より複雑な例（例２）について、図１７〜図２７を参照して説明する。 
この例では、物理データベースとしてＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１（エントリ番号Ｐ１）及びＤＢＭＳ−Ｂ．ＤＢ１．ＴＢＬ２（エントリ番号Ｐ２）が存在し、それぞれ論理データベースＶＤＢ１．ＶＴＢＬ１及びＶＤＢ１．ＶＴＢＬ２にリンクされているものとする（図１７、図１８、図１９）。 
また、データベース管理部１２のデータベースシステム情報テーブル１２ｃでは、図２０に示すように、各データベースシステム２０（データベースシステムＡ、データベースシステムＢ）の処理における優先度、リソース容量、リソース利用率が管理されている。この例では、データベースシステムＡ（容量１００ＴＢ）とデータベースシステムＢ（容量５０ＴＢ）は容量に差があるが、優先度は同じ（ＭＥＤＩＵＭ）に設定されている。
【００５５】
データ配置決定部１８において、前述の例と同様、実行結果の条件は全て満たすと仮定すると、図２１の実行履歴管理テーブルより、問合せ文Ｑ１〜Ｑ５が抽出される。問合せ文Ｑ１〜Ｑ５は、２種類のサブ問合せ文Ｑ１Ａ〜Ｑ５ＡとＱ１Ｂ〜Ｑ５Ｂを有し、これらのサブ問合せ文の対象物理テーブルは全て｛Ｐ１，Ｐ２｝であるため、Ｓ１＝｛Ｐ１，Ｐ２｝となる。すなわち、サブ問合せ文Ｑ１Ａ〜Ｑ５Ａに対するデータベースアクセス管理テーブル（Ｐ１）は図２２のようになり、サブ問合せ文Ｑ１Ｂ〜Ｑ５Ｂに対するデータベースアクセス管理テーブル（Ｐ２）は図２３のようになる。
Ｓ１に対して、図２２及び図２３のデータベースアクセス管理テーブルより対象レコードを抽出すると、テーブルＴ１は図２４に示す通りとなる。 
【００５６】
Ｔ１において、利用頻度の高いカラム条件（例えば、５つのサブ問合せ文に対して４つ以上のサブ問合せ文で参照されたカラム）を考えると、ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１のＣＯＬ１，ＣＯＬ２，ＣＯＬ３、ＤＢＭＳ−Ｂ．ＤＢ１．ＴＢＬ２のＣＯＬ１，ＣＯＬ２が該当するため、｛ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ１，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ２，ＤＢＭＳ−Ａ．ＤＢ１．ＴＢＬ１．ＣＯＬ３，ＤＢＭＳ−Ｂ．ＤＢ１．ＴＢＬ２．ＣＯＬ１，ＤＢＭＳ−Ｂ．ＤＢ１．ＴＢＬ２．ＣＯＬ２｝がデータ再配置候補となる。 
カラム条件が複数のデータベースシステム（ＤＢＭＳ−Ａ．ＤＢ１，ＤＢＭＳ−Ｂ．ＤＢ１）に分散していることから、１つのデータベースシステムにデータを集約することにより処理効率の向上が期待できる。 
【００５７】
データベースシステム情報テーブルの情報に基づいて、集約すべきデータベースシステムを選択し、空きリソースを確認した上で、データの再配置先を決定する。 
この例の場合、図２０のデータベースシステム情報テーブルにおいて２つのデータベースシステムの優先度に差がないことから、データ量で判断し、ＤＢＭＳ−Ｂ．ＤＢ１．ＴＢＬ２のカラム条件のデータをＤＢＭＳ−Ａ．ＤＢ１に複製することとし、｛｛ＤＢＭＳ−Ｂ．ＤＢ１．ＴＢＬ２．ＣＯＬ１，ＤＢＭＳ−Ｂ．ＤＢ１．ＴＢＬ２．ＣＯＬ２｝，ＤＢＭＳ−Ａ．ＤＢ１｝を出力する。 
【００５８】
次に、データ配置実行部１９において、データの複製と物理データベース管理テーブル及び論理データベース管理テーブルの更新が行われ、再配置後の仮想データベースシステム管理装置のモデル図は、図２５に示すように、データベースシステムＡにＴＢＬ２が複製された構成となる。
再配置後の物理データベース管理テーブル（図２６）では、エントリ番号Ｐ３として、ＤＢＭＳ−Ａにおいて、ＤＢ１，ＴＢＬ２，範囲条件カラムＣＯＬ１，ＣＯＬ２のデータが作成され、再配置後の論理データベース管理テーブル（図２７）では、ＶＴＢＬ２のリンク先にＰ３が加えられる。
【００５９】
上述した仮想データベースシステム管理装置１０によれば、複数のデータベースシステム２０が存在する環境において、ユーザの問合せ内容に応じてデータベースシステム２０を選択して処理を実行するに際して、実行履歴管理部１７におけるユーザの過去の問合せ内容とその処理結果を基に、データ配置決定部１８において、重複して持つべきデータ（データ再配置候補）とそのデータを配置すべきデータベースシステム２０を選択決定し、データ配置実行部１９でデータ再配置を実行することが可能となる。 
これにより、処理能力の異なる複数のデータベースシステム２０をより効率良く利用することができるとともに、複数のデータベースシステム２０に分散したデータに対する問合せ実行時に、処理のオーバーヘッドを解消して実行時間が大幅に短縮されることが期待できる。 
【００６０】
したがって、複数のデータベースシステム２０が存在する環境において、どのデータがどこのデータベースシステム２０に保持されていたとしても、ユーザの使い方に応じてデータの配置が最適化されるため、利用者やシステム管理者のデータベースシステム管理に関する負荷が軽減され、利便性を向上させることができる。
【符号の説明】
【００６１】
１…ユーザシステム、  １０…仮想データベースシステム管理装置、  １１…データベースインタフェース部、  １２…データベース管理部、  １２ａ…論理データベース管理テーブル、  １２ｂ…物理データベース管理テーブル、  １２ｃ…データベースシステム情報テーブル、  １３…ユーザインタフェース部、  １４…問合せ入力解析部、  １５…実行計画生成部、  １５ａ…データベース選択部、  １６…問合せ実行部、  １７…実行履歴管理部、  １７ａ…実行履歴管理テーブル、  １７ｂ…データベースアクセス管理テーブル、  １８…データ配置決定部、  １９…データ配置実行部、  ２０…データベースシステム、  ２１…データベース、  ２２…データベースマネジメントシステム（ＤＢＭＳ）。
【図１】
2015179449.tif 000003
【図２】
2015179449.tif 000004
【図３】
2015179449.tif 000005
【図４】
2015179449.tif 000006
【図５】
2015179449.tif 000007
【図６】
2015179449.tif 000008
【図７】
2015179449.tif 000009
【図８】
2015179449.tif 000010
【図９】
2015179449.tif 000011
【図１０】
2015179449.tif 000012
【図１１】
2015179449.tif 000013
【図１２】
2015179449.tif 000014
【図１３】
2015179449.tif 000015
【図１４】
2015179449.tif 000016
【図１５】
2015179449.tif 000017
【図１６】
2015179449.tif 000018
【図１７】
2015179449.tif 000019
【図１８】
2015179449.tif 000020
【図１９】
2015179449.tif 000021
【図２０】
2015179449.tif 000022
【図２１】
2015179449.tif 000023
【図２２】
2015179449.tif 000024
【図２３】
2015179449.tif 000025
【図２４】
2015179449.tif 000026
【図２５】
2015179449.tif 000027
【図２６】
2015179449.tif 000028
【図２７】
2015179449.tif 000029