(57)【要約】【課題】同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択可能な装置を得る。【解決手段】同一のデータをデータベースに保有する複数のデータベースシステムを備えた仮想データベースシステム管理装置において、各データベースシステムからデータを取得しデータベースに関連付けてエントリ番号で管理する物理データベース管理テーブル１２ｂと、アクセス対象となる論理データベース情報を定義し物理データベース管理テーブルのデータに対して対応する前記各エントリ番号を紐付けて管理する論理データベース管理テーブル１２ａと、アクセス対象の論理データベース情報を抽出し論理データベース管理テーブル及び前記物理データベース管理テーブルより対応する物理データベース情報の組を取得し問合せ内容に応じて１つの組を選択するデータベース選択部１５ａと、を備える。【選択図】図１
2015045995.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも部分的に同一のデータをデータベースに保有する複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力されるデータベースシステム管理装置において、
前記データベースに関連付けたエントリ番号を管理する物理データベース管理テーブルと、
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義し、前記物理データベース管理テーブルのデータに対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理テーブルと、
前記ユーザシステムからの問合せに対して、アクセス対象の論理データベース情報を抽出し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルより対応する物理データベース情報の組を取得し、取得した物理データベース情報の組が複数存在する場合に、問合せ内容に応じて１つの組を選択するデータベース選択部と、
を備えたことを特徴とする仮想データベースシステム管理装置。
【請求項２】
前記データベース選択部は、問合せ内容に応じて１つの組を選択するに際して、予め定義したルールとの適合評価を行うルール評価部を備え、前記ルール評価部での適合結果に基づいてデータベースシステムを選択する請求項１に記載の仮想データベースシステム管理装置。
【請求項３】
前記データベース選択部は、問合せ内容に応じて１つの組を選択するに際して、前記問合せ内容についてのコスト評価を行うコスト評価部を備え、前記コスト評価部で算出した値に基づいてデータベースシステムを選択する請求項１に記載の仮想データベースシステム管理装置。
【請求項４】
同一のデータをデータベースに保有する複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力される環境において、
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義する論理データベース管理テーブルと、前記論理データベース情報に対し前記複数のデータベースシステムにおける１つあるいは複数のデータベースマネジメントシステム（ＤＢＭＳ）、データベース・テーブルの組を割り当てる物理データベース管理テーブルとを作成する管理テーブル作成手順と、
前記論理データベース情報に対して複数の組を割り当てた場合に、前記ユーザシステムからの問合せ内容に応じて１つの組を選択するデータベース選択手順と、
前記選択された組のテーブルのデータにより前記問合せ内容が処理される処理手順と、
により実行することを特徴とする仮想データベースシステム管理方法。
【請求項５】
前記物理データベース管理テーブル作成手順は、範囲条件のデータを含んで組を割り当てる請求項４に記載の仮想データベースシステム管理方法。
【請求項６】
請求項４又は請求項５に記載の仮想データベースシステム管理方法の各手順をコンピュータにより実行可能とした仮想データベースシステム管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも部分的に同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択可能とした仮想データベースシステム管理装置、管理方法及び管理プログラムに関する。
【背景技術】
【０００２】
従来、データベースアクセスの負荷を分散させて処理能力向上を図るため、データベースシステム管理装置において、同一データを含むデータベースを複数用意することが行われていた。
例えば、負荷分散装置を導入し、ユーザからのデータベースコネクション確立時において、順番に或いはデータベースの負荷の少ない順に、データベースが選択され接続されることが行われている。この場合、データベースコネクション確立時に、接続するデータベースが決定されてしまうため、ユーザからの問合せ内容に応じてデータベースを選択することはできない。
【０００３】
一方、複数のデータベースが存在する環境で、それらを統一的に扱う手法がいくつか提案されている。
例えば、特許文献１では、複数のデータベースが存在する環境において、ユーザの求める情報を含む複数データベースを検索できるようにする検索方法が提案されている。しかし、特許文献１に記載の手法では、同じ内容のデータベースが存在することを仮定していないため、データベースを選択可能な状況においてデータベース選択をすることができない。
【０００４】
また、特許文献２には、複数のデータベース内に同じ名称のテーブルが存在する場合が記述されているが、同じ名称のテーブルであっても内容が同じとは限らず、予め優先順位を設定して選択する方式であるため、ユーザの問合せ内容に応じたデータベースを選択することができない。
【０００５】
また、データベースシステムの構成について、データベースそのものとデータベースを管理するデータベースマネジメントシステム（ＤＢＭＳ）の集合体と考えると、１つのデータベースを複数のデータベースマネジメントシステム（ＤＢＭＳ）で共有し、結果として同一データを保有する複数のデータベースシステムが存在することになる場合も想定される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−３０７７４３号公報
【特許文献２】特開２０００−８２０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
同一データを有するデータベースシステムが複数存在し、かつ各データベースシステムにおいて問合せ処理を実行する各ＤＢＭＳのクエリ処理エンジンに特徴があり、ユーザの問合せ内容に応じてデータベースシステム（クエリ処理エンジン）を選択したい場合に、上述した従来技術では対応することができなかった。
【０００８】
本発明は上記実情に鑑みて提案されたもので、同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とする仮想データベースシステム管理装置、管理方法及び管理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するため本発明（請求項１）は、少なくとも部分的に同一のデータをデータベースに保有する複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力されるデータベースシステム管理装置において、次の構成を含むことを特徴としている。
前記データベースに関連付けたエントリ番号を管理する物理データベース管理テーブル。
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義し、前記物理データベース管理テーブルのデータに対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理テーブル。
前記ユーザシステムからの問合せに対して、アクセス対象の論理データベース情報を抽出し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルより対応する物理データベース情報の組を取得し、取得した物理データベース情報の組が複数存在する場合に、問合せ内容に応じて１つの組を選択するデータベース選択部。
【００１０】
請求項２は、請求項１の仮想データベースシステム管理装置において、前記データベース選択部は、問合せ内容に応じて１つの組を選択するに際して、予め定義したルールとの適合評価を行うルール評価部を備え、前記ルール評価部での適合結果に基づいてデータベースシステムを選択することを特徴としている。
【００１１】
請求項３は、請求項１の仮想データベースシステム管理装置において、前記データベース選択部は、問合せ内容に応じて１つの組を選択するに際して、前記問合せ内容についてのコスト評価を行うコスト評価部を備え、前記コスト評価部で算出した値に基づいてデータベースシステムを選択することを特徴としている。
【００１２】
本発明の仮想データベースシステム管理方法（請求項４）は、同一のデータをデータベースに保有する複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力される環境において、
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義する論理データベース管理テーブルと、前記論理データベース情報に対し前記複数のデータベースシステムにおける１つあるいは複数のデータベースマネジメントシステム（ＤＢＭＳ）、データベース・テーブルの組を割り当てる物理データベース管理テーブルとを作成する管理テーブル作成手順と、
前記論理データベース情報に対して複数の組を割り当てた場合に、前記ユーザシステムからの問合せ内容に応じて１つの組を選択するデータベース選択手順と、
前記選択された組のテーブルのデータにより前記問合せ内容が処理される処理手順と、
により実行することを特徴としている。
【００１３】
請求項５は、請求項４の仮想データベースシステム管理方法において、前記物理データベース管理テーブル作成手順は、範囲条件のデータを含んで組を割り当てることを特徴としている。
【００１４】
請求項６は、仮想データベースシステム管理プログラムであって、請求項４又は請求項５に記載の仮想データベースシステム管理方法の各手順をコンピュータにより実行可能としたことを特徴としている。
【発明の効果】
【００１５】
本発明によれば、同一データを保有するデータベースシステムが複数存在する場合に、ユーザの問合せ内容に応じてデータベースシステムを選択し、処理を実行することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の仮想データベースシステム管理装置の全体構成を示すブロック図である。
【図２】仮想データベースシステム管理装置の他の例の全体構成を示すブロック図である。
【図３】複数のデータベースシステムが存在する場合の例を示すモデル図である。
【図４】物理データベース管理テーブルの例を示すテーブル図である。
【図５】論理データベース管理テーブルの例を示すテーブル図である。
【図６】データベース選択部における処理手順を示すフローチャート図である。
【発明を実施するための形態】
【００１７】
本発明の仮想データベースシステム管理装置の実施形態の一例について、図面を参照して説明する。
仮想データベースシステム管理装置は、同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とするシステムであり、仮想データベースシステム管理プログラムが格納された記録媒体やインターネットを介してソフトウエアのダウンロードによりインストールすることで、コンピュータ上に構築されている。
【００１８】
仮想データベースシステム管理装置が構築されるコンピュータは、オペレーティングシステム（ＯＳ）を含む基本プログラムや各種の基本デバイスが記憶されたＲＯＭと、各種のプログラムやデータが記憶されるハードディスクドライブ装置（ＨＤＤ）と、ＣＤ−ＲＯＭやＤＶＤ等の記憶媒体からプログラムやデータを読み出すメディアドライブ装置と、プログラムを実行するＣＰＵと、このＣＰＵにワークエリアを提供するＲＡＭと、入出力インターフェース（Ｉ／Ｆ）を介して接続されたディスプレイ、キーボードおよびマウス等のポインティングデバイスと、外部装置と通信するパラレル／シリアルＩ／Ｆとを主要部分とする一般的な構成を備えている。
本実施形態の仮想データベースシステム管理装置では、仮想データベースシステム管理プログラムがシリアル／パラレルＩ／Ｆから入力、またはメディアドライブ装置で読み取られてＨＤＤに予め記憶される。仮想データベースシステム管理プログラムは記憶媒体に記憶され、メディアドライブ装置で読み取られてＨＤＤにインストールされる。
【００１９】
コンピュータ上に構築された仮想データベースシステム管理装置は、複数のデータベースシステムが存在する環境において、ユーザからのアクセス対象となる論理データベース情報（データベース、テーブル）を定義し、それらに対し、各データベースシステムにおける１つあるいは複数のＤＢＭＳ、データベース、テーブル、範囲条件の組を割り当てる。
そして、論理データベース情報に対して複数の組を割り当てた場合に、ユーザから問合せ内容に応じて、複数の組の中から１つを選択して処理を実行するよう管理することで、同一データを含む複数のデータベースシステムが存在する環境において、データベースシステムを選択し、ユーザからの問合せ処理に適したデータの選択を可能とするものである。
【００２０】
以下、仮想データベースシステム管理装置１０の構成について、図１のブロック図を参照して説明する。
仮想データベースシステム管理装置１０は、複数のデータベースシステム２０と接続されるデータベースインタフェース部１１と、データベースインタフェース部１１を介して各データベースシステム２０の情報を取得し管理するデータベース管理部１２と、ユーザシステム１との入出力を行うユーザインタフェース部１３と、ユーザシステム１から入力された問合せ文を解析する問合せ入力解析部１４と、問合せ文の実行計画を生成する実行計画生成部１５と、データベースインタフェース部１１を介して問合せ文を実行し結果をユーザシステム１へ出力する問合せ実行部１６とを備えて構成されている。
【００２１】
データベース管理部１２は、論理的に定義された論理データベース情報（データベース、テーブル等）を管理する論理データベース管理テーブル１２ａと、データベース・テーブル等の組を管理する物理データベース管理テーブル１２ｂを備えることで、各データベースシステム２０の情報を管理している。論理データベース管理テーブル１２ａ及び物理データベース管理テーブル１２ｂにおけるデータ間の紐付けについては、後述する。
【００２２】
問合せ入力解析部１４は、ユーザインタフェース部１３を介して入力された問合せ文の講文を解析し、解析結果を実行計画生成部１５へ入力する。
【００２３】
実行計画生成部１５は、データベース管理部１２より問合せ文の問合せ入力解析部１４での解析結果に対応するデータベース情報を取得し、問合せ文を実行するデータベースシステム２０を選択するデータベース選択部１５ａを備え、選択したデータベースシステム２０に対して問合せ文の実行計画を生成する。
すなわち、データベース選択部１５ａは、問合せ文に応じて１つのデータベースシステム２０を選択するに際して、予め定義したルールとの適合評価を行うルール評価部を備えている。そして、ルール評価部での適合結果に基づいて、データベースシステム２０が選択される。
問合せ実行部１６は、実行計画生成部１５にて生成された実行計画を実行し、実行結果についてユーザインタフェース部１３を介してユーザシステム１へ出力する。
【００２４】
仮想データベースシステム管理装置１０に接続されるデータベースシステム２０としては、図１の構成に代えて図２に示すように、１つのデータベース２１を複数のＤＢＭＳ２２で共有することによって複数のデータベースシステム２０と認識される構成であってもよい。
【００２５】
次に、仮想データベースシステム管理装置１０により、複数のデータベースシステム２０を管理する手順について、図１〜図６を参照して説明する。
仮想データベースシステム管理装置１０には、複数のデータベースシステム２０ａ，２０ｂが接続され、ユーザシステム１からのアクセスに応じてデータが出力される。各データベースシステム２０ａ，２０ｂは、各種のデータが格納されたデータベース２１と、データベース２１を管理するデータベースマネジメントシステム（以下、ＤＢＭＳと称する）２２を備え、同一のデータがデータベース２１に保有される環境となっている。
各データベースシステム２０は、例えば、大容量に適したもの、アクセス時間が速いもの等、異なる性質を有するものを使用しても良い。
【００２６】
より具体的には、データベースシステム２０ａは、データベースマネジメントシステム（ＤＢＭＳ１）２２とデータベース（ＤＢ１）２１から構成され、ＤＢ１には２つテーブルＴＢＬ１とＴＢＬ２が定義されている。
同様にデータベースシステム２０ｂは、データベースマネジメントシステム（ＤＢＭＳ２）２２とデータベース（ＤＢ１）２１から構成され、ＤＢ１には２つテーブルＴＢＬ１とＴＢＬ２が定義されている。データベースシステム２０ａとデータベースシステム２０ｂのデータベース（ＤＢ１）２１は、内容が同一と仮定する。この例では、２つのデータベース（ＤＢ１）２１が同一と仮定しているが、必ずしも完全同一である必要はなく、部分的に同一データを持つ場合でも適用可能とすることができる。
【００２７】
仮想データベースシステム管理装置１０に、この２つのデータベースシステム２０ａ，２０ｂが接続されると、データベース管理部１２が各データベースシステム２０ａ，２０ｂからデータベース情報を取得し、図４に示すように、エントリ番号（Ｐ１〜Ｐ４）、ＤＢＭＳ（ＤＢＭＳ１かＤＢＭＳ２）、データベース（ＤＢ１）、テーブル（ＴＢＬ１かＴＢＬ２）、範囲条件の組を物理データベース管理テーブル１２ｂとして管理する（管理テーブル作成手順）。
なお、必ずしも各データベースシステム２０からデータを取得する必要はなく、例えば人手で物理データベース管理テーブルを作成してもよい。
【００２８】
範囲条件とは、データベースシステム２０において、エントリ番号に対応するテーブルのデータの有効範囲を定める条件を指定するものである。
図４の例では、データベースシステム２０ｂのＴＢＬ１に対して、「日時」の属性があるとして、「日時」の値が「２０１３年１月」以降であるデータが有効であることを示している。
【００２９】
また、図５に示すように、ユーザシステム１からアクセス対象となる論理データベース情報（データベース、テーブル）を論理データベース管理テーブル１２ａと定義して管理する（管理テーブル作成手順）。
論理データベース管理テーブル１２ａには、物理データベース管理テーブルのデータに対して、対応する各エントリ番号を紐付けて管理する情報としてリンク項目が設定されている。
図３〜図５に示した例の場合、物理データベース管理テーブルのエントリ番号Ｐ１とエントリ番号Ｐ３、エントリ番号Ｐ２とエントリ番号Ｐ４は、それぞれ部分あるいは全体として同じ内容を持つことから、論理データベースとしてＶＤＢ１／ＶＴＢＬ１、ＶＤＢ２／ＶＴＢＬ２を定義して、物理データベースと対応付けている。
【００３０】
ユーザシステム１から、ユーザインタフェース部１３を通じて問合せ文が入力されると、問合せ入力解析部１４による構文確認が行われ、解析結果は実行計画生成部１５に入力される。
【００３１】
次に、実行計画生成部１５による実行計画生成処理により、問合せ対象のデータベース／テーブルを抽出し、データベース選択部１５ａにより、図６に示す手順によって問合せ文を実行するデータベースシステムを特定する（データベース選択手順）。
すなわち、データベース選択部１５ａは、実行計画生成部１５より問合せ内容を取得し、問合せ内容に含まれるデータベースおよびテーブルの組を抽出する（ステップ６１）。 
【００３２】
データベース選択部１５ａは、抽出したデータベースおよびテーブルの組を入力としてデータベース管理部１２を呼び出す（ステップ６２）。 
データベース管理部１２は、論理データベース管理テーブル１２ａより、取得したデータベースおよびテーブルの組に該当するエントリ番号を検索し、リンク項目に記載のエントリ番号を物理データベース管理テーブル１２ｂより検索して、ＤＢＭＳ、データベース、テーブル、範囲条件の組を１つあるいは複数取得し、データベース選択部１５ａへ出力する（ステップ６３）。
【００３３】
データベース選択部１５ａでは、入力の組あたりの結果の組の個数が１つであるか複数であるかを判断する（ステップ６４）。
データベース選択部１５ａにて、問合せ内容に含まれる検索条件も考慮し、問合せ内容の実行対象となる１組を選択する（ステップ６５）。
【００３４】
データベース選択部１５ａでは、実行計画生成部１５より取得したデータベースおよびテーブルの組（論理データベース）に対し、検索／選択したＤＢＭＳ、データベース、テーブルの組（物理データベース）を対応させ、実行計画生成部１５へ出力する（ステップ６６）。
実行計画生成部１５では、取得した情報を元に問合せ文に対する実行計画を生成して問合せ実行部１６へ入力する。
問合せ実行部１６では、実行計画に基づきデータベースインタフェース部１１を介して問合せ文が実行され（処理手順）、最終的に実行結果がユーザシステム１に対して出力される。
【００３５】
以上の手順が実行されることで、データベース選択部１５ａでは、問合せ文の内容を参照し、問合せ文に対応したデータベースシステムを選択することができる。
例えば、更新系の問合せはデータベースシステム２０ａ（データベースシステム１）、参照系の問合せはデータベースシステム２０ｂ（データベースシステム２）とするよう予め設定することができる。また、各データベースシステム２０の容量やアクセス速度等が異なる場合に、問合せ内容に適した容量やアクセス速度等を考慮することで、例えば、ＴＢＬ１への問合せはデータベースシステム２０ａ（データベースシステム１）、それ以外の問合せはデータベースシステム２０ｂ（データベースシステム２）と予め設定することもできる。
【００３６】
例えば、図３〜図５の例において、問合せ文の対象テーブルがＶＴＢＬ１であった場合、論理データベース管理テーブル１２ａより、Ｐ１とＰ３にリンクされることがわかるため、物理データベース管理テーブル１２ｂより検索して、Ｐ１とＰ３に該当する情報の組がデータベース選択部１５ａへ返される。データベース選択部１５ａでは、問合せ内容に応じてＰ１あるいはＰ３を選択するが、例えば、問合せ文の条件が、「日時≧２０１３年１月」に適合し、かつＤＢＭＳ２の方が処理能力が高いような場合にはＰ３を選択する、というように動作する。
【００３７】
また、データベース選択部１５ａに、問合せ文の内容についてのコスト評価を行うコスト評価部を設け、このコスト評価部で算出した値に基づいてデータベースシステム２０を選択するようにしても良い。コスト評価部では、例えば、問合せ入力解析部１４の解析結果に基づいて評価値を算出する。
【００３８】
データベース選択部１５ａによって特定されたデータベース情報に従って、実行計画生成部１５にて実行計画及び各データベースシステム２０に合わせた問合せ文を生成し、問合せ実行部１６にてデータベースインタフェース部１１を介して問合せ文が実行され、最終的に実行結果がユーザシステム１に対して出力される。
【００３９】
上述した仮想データベースシステム管理装置１０によれば、同一データを有するデータベースシステム２０が複数存在する場合に、ユーザの問合せ内容に応じてデータベースシステム２０を選択し処理を実行することが可能となる。
これにより、データの全体あるいは一部を複数の異なるデータベースシステム２０に複製（リプリケーション）して使い分けが可能となる。
また、同一のデータベース２１に対して複数のＤＢＭＳが対応するようなデータベースシステム２０が存在する場合に、データベースシステム２０（あるいはＤＢＭＳ２２）の特徴に合わせた使い分けをすることが可能となる。
その結果、単体のデータベースシステムと比較してシステム全体の処理能力を向上させることができる。
【００４０】
また、通常データベースシステムとしてセットで構築されることが多いデータベース２１とＤＢＭＳ２２に対して、それぞれが分離したシステムアーキテクチャを実現することが可能となり、データベースシステム構築の柔軟性を向上させることができる。
【符号の説明】
【００４１】
１…ユーザシステム、  １０…仮想データベースシステム管理装置、  １１…データベースインタフェース部、  １２…データベース管理部、  １２ａ…論理データベース管理テーブル、  １２ｂ…物理データベース管理テーブル、  １３…ユーザインタフェース部、  １４…問合せ入力解析部、  １５…実行計画生成部、  １５ａ…データベース選択部、  １６…問合せ実行部、  ２０…データベースシステム、  ２１…データベース、  ２２…データベースマネジメントシステム（ＤＢＭＳ）。
【図１】
2015045995.tif 000003
【図２】
2015045995.tif 000004
【図３】
2015045995.tif 000005
【図４】
2015045995.tif 000006
【図５】
2015045995.tif 000007
【図６】
2015045995.tif 000008