JP6157004B2 - 仮想データベースシステム管理装置、管理方法及び管理プログラム - Google Patents

仮想データベースシステム管理装置、管理方法及び管理プログラム Download PDF

Info

Publication number
JP6157004B2
JP6157004B2 JP2014057080A JP2014057080A JP6157004B2 JP 6157004 B2 JP6157004 B2 JP 6157004B2 JP 2014057080 A JP2014057080 A JP 2014057080A JP 2014057080 A JP2014057080 A JP 2014057080A JP 6157004 B2 JP6157004 B2 JP 6157004B2
Authority
JP
Japan
Prior art keywords
database
data
management table
management
database system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014057080A
Other languages
English (en)
Other versions
JP2015179449A (ja
Inventor
泰之 渡邊
泰之 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2014057080A priority Critical patent/JP6157004B2/ja
Publication of JP2015179449A publication Critical patent/JP2015179449A/ja
Application granted granted Critical
Publication of JP6157004B2 publication Critical patent/JP6157004B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、少なくとも部分的に 同一データを保有可能とする複数のデータベースシステムが存在する環境において、データベースシステムを選択する場合に、ユーザの過去の問合せ内容に応じてデータの配置を最適化することで効率的な処理を実行する仮想データベースシステム管理装置、管理方法及び管理プログラムに関する。
従来、データベースアクセスの負荷を分散させて処理能力向上を図るため、データベースシステム管理装置において、同一データを含むデータベースを複数用意することが行われていた。
例えば、負荷分散装置を導入し、ユーザからのデータベースコネクション確立時において、順番に或いはデータベースの負荷の少ない順に、データベースが選択され接続されることが行われている。この場合、データベースコネクション確立時に、接続するデータベースが決定されてしまうため、ユーザからの問合せ内容に応じてデータベースを選択することはできない。
一方、複数のデータベースが存在する環境で、それらを統一的に扱う手法がいくつか提案されている。
例えば、特許文献1では、複数のデータベースが存在する環境において、ユーザの求める情報を含む複数データベースを検索できるようにする検索方法が提案されている。しかし、特許文献1に記載の手法では、同じ内容のデータベースが存在することを仮定していないため、データベースを選択可能な状況においてデータベース選択をすることができない。
また、特許文献2には、複数のデータベース内に同じ名称のテーブルが存在する場合が記述されているが、同じ名称のテーブルであっても内容が同じとは限らず、予め優先順位を設定して選択する方式であるため、ユーザの問合せ内容に応じたデータベースを選択することができない。
また、データベースシステムの構成について、データベースそのものとデータベースを管理するデータベースマネジメントシステム(DBMS)の集合体と考えると、1つのデータベースを複数のデータベースマネジメントシステム(DBMS)で共有し、結果として同一データを保有する複数のデータベースシステムが存在することになる場合も想定される。
同一データを有するデータベースシステムが複数存在し、かつ各データベースシステムにおいて問合せ処理を実行する各DBMSのクエリ処理エンジンに特徴があり、ユーザの問合せ内容に応じてデータベースシステム(クエリ処理エンジン)を選択したい場合に、上述した従来技術では対応することができなかった。
そこで本発明者は、複数のデータベースシステムが存在する環境において、論理的にデータベース、テーブルを定義し、それらに対し、各データベースシステムにおける複数のDBMS、データベース、テーブル、範囲条件の組を割り当てる手段と、利用者の問合せ内容に応じて複数の組の中から1つを選択して処理を進める手段を備えた仮想データベースシステム管理装置を提案するに至った(特許文献3)。
この装置によれば、同一データを含む複数のデータベースシステムが存在する環境において、データベースシステムを選択し問合せ処理を実行することが可能となる。
特開平10−307743号公報 特開2000−82080号公報 特願2013−176709
しかしながら上述した装置によれば、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とするが、ユーザからの問合せ内容を効率よく処理するために、どのデータを重複して複数のデータベースシステムに配置すべきかに関して言及されていない。
本発明は上記実情に鑑みて提案されたもので、複数のデータベースシステムが存在する環境において、問合せ処理の効率化を図るために、重複して持つべきデータ、及びそのデータを配置するデータベースシステムを選定可能とした仮想データベースシステム管理装置、管理方法及び管理プログラムを提供することを目的としている。
上記目的を達成するため本発明(請求項1)は、少なくとも部分的に同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力されるデータベースシステム管理装置において、次の構成を含むことを特徴としている。
前記データベースに関連付けたエントリ番号を管理する物理データベース管理テーブル。
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義し、前記物理データベース管理テーブルのデータに対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理テーブル。
各データベースシステムにおける処理の優先度、リソース容量、リソース利用率を管理するデータベースシステム情報テーブル。
前記ユーザシステムからの問合せに対して、アクセス対象の論理データベース情報を抽出し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルより対応する物理データベース情報の組を取得し、取得した物理データベース情報の組が複数存在する場合に、問合せ内容に応じて1つの組を選択するデータベース選択部。
前記問合せ内容の実行計画及び実行結果を取得し実行履歴管理テーブルを作成して管理する実行履歴管理部。
前記実行履歴管理部及び前記データベースシステム情報テーブルが管理する情報を用いて重複して持つべきデータ(データ再配置候補)及び該データを配置するべきデータベースシステムを決定するデータ配置決定部。
前記データ配置決定部の決定に従って前記データベースシステムに対してデータの作成又は移動を指示し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルの情報を更新するデータ配置実行部。
請求項2は、請求項1の仮想データベースシステム管理装置において、
前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
前記実行履歴管理部は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
前記データ配置決定部は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ(データ再配置候補)を決定することを特徴としている。
本発明の仮想データベースシステム管理方法(請求項3)は、同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力される環境において、
前記ユーザシステムからのアクセス対象となる論理データベース情報を定義する論理データベース管理テーブルと、前記論理データベース情報に対し前記複数のデータベースシステムにおける1つあるいは複数のデータベースマネジメントシステム(DBMS)、データベース・テーブルの組を割り当てる物理データベース管理テーブルとを作成する管理テーブル作成手順と、
前記ユーザシステムからの問合せ内容の実行計画と実行結果を取得して実行履歴管理テーブルとして管理する実行履歴管理手順と、
各データベースシステムのリソース利用情報を取得して管理するデータベースシステム管理手順と、
前記実行履歴管理テーブルが管理する情報及び前記リソース利用情報を用いて重複して持つべきデータ(データ再配置候補)及び該データを配置するべきデータベースシステムを決定するデータ配置決定手順と、
前記決定に従って前記データベースシステムに対してデータの作成又は移動の指示を出し、前記論理データベース管理テーブル及び物理データベース管理テーブルの情報を更新する更新手順と、
により実行することを特徴としている。
請求項4は、請求項3の仮想データベースシステム管理方法において、
前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
前記実行履歴管理手順は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
前記データ配置決定手順は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ(データ再配置候補)を決定する
ことを特徴としている。
請求項5は、仮想データベースシステム管理プログラムであって、請求項3又は請求項4に記載の仮想データベースシステム管理方法の各手順をコンピュータにより実行可能としたことを特徴としている。
本発明によれば、データベースシステムが複数存在し、ユーザの問合せ内容に応じてデータベースシステムを選択して処理を実行する場合において、問合せ文の実行計画と実行結果については実行履歴管理テーブルで、データベースシステムにおける処理の優先度、リソース容量、リソース利用率(データベースシステムのリソース利用情報)についてはデータベースシステム情報テーブルでそれぞれ管理する。
そして、これらの情報から重複して持つべきデータ(データ再配置候補)及びデータを配置するべきデータベースシステムを判断して、各データベースシステムに対してデータ作成の指示を出すとともに、仮想データベースシステム管理装置のデータベース管理部に対して、論理データベース管理テーブル及び物理データベース管理テーブルの情報を更新する。
その結果、新たな問合せ文の入力に対して、データベース選択部においてより適切な物理データベースの選択を可能とすることができる。
本発明の仮想データベースシステム管理装置の全体構成を示すブロック図である。 仮想データベースシステム管理装置において、複数のデータベースシステムが存在する場合の例を示すモデル図である。 物理データベース管理テーブルの例を示すテーブル図である。 論理データベース管理テーブルの例を示すテーブル図である。 データベース選択部における処理手順を示すフローチャート図である。 仮想データベースシステム管理装置において、複数のデータベースシステムが存在する場合の例を示すモデル図である。 物理データベース管理テーブルの例を示すテーブル図である。 論理データベース管理テーブルの例を示すテーブル図である。 データベースシステム情報テーブルの例を示すテーブル図である。 実行履歴管理テーブルの例を示すテーブル図である。 データベースアクセス管理テーブルの例を示すテーブル図である。 データ配置決定部における処理手順を示すフローチャート図である。 データ配置実行部における処理手順を示すフローチャート図である。 再配置後の仮想データベースシステム管理装置のモデル図である。 再配置後の物理データベース管理テーブルの例を示すテーブル図である。 再配置後の論理データベース管理テーブルの例を示すテーブル図である。 仮想データベースシステム管理装置において、複数のデータベースシステムが存在する場合の例を示すモデル図である。 物理データベース管理テーブルの例を示すテーブル図である。 論理データベース管理テーブルの例を示すテーブル図である。 データベースシステム情報テーブルの例を示すテーブル図である。 実行履歴管理テーブルの例を示すテーブル図である。 データベースアクセス管理テーブルの例を示すテーブル図である。 データベースアクセス管理テーブルの例を示すテーブル図である。 S1={P1,P2}に対するテーブルT1の例を示すテーブル図である。 再配置後の仮想データベースシステム管理装置のモデル図である。 再配置後の物理データベース管理テーブルの例を示すテーブル図である。 再配置後の論理データベース管理テーブルの例を示すテーブル図である。
本発明の仮想データベースシステム管理装置の実施形態の一例について、図面を参照して説明する。
仮想データベースシステム管理装置は、同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とするシステムであり、仮想データベースシステム管理プログラムが格納された記録媒体やインターネットを介してソフトウエアのダウンロードによりインストールすることで、コンピュータ上に構築されている。
仮想データベースシステム管理装置が構築されるコンピュータは、オペレーティングシステム(OS)を含む基本プログラムや各種の基本デバイスが記憶されたROMと、各種のプログラムやデータが記憶されるハードディスクドライブ装置(HDD)と、CD−ROMやDVD等の記憶媒体からプログラムやデータを読み出すメディアドライブ装置と、プログラムを実行するCPUと、このCPUにワークエリアを提供するRAMと、入出力インターフェース(I/F)を介して接続されたディスプレイ、キーボードおよびマウス等のポインティングデバイスと、外部装置と通信するパラレル/シリアルI/Fとを主要部分とする一般的な構成を備えている。
本実施形態の仮想データベースシステム管理装置では、仮想データベースシステム管理プログラムがシリアル/パラレルI/Fから入力、またはメディアドライブ装置で読み取られてHDDに予め記憶される。仮想データベースシステム管理プログラムは記憶媒体に記憶され、メディアドライブ装置で読み取られてHDDにインストールされる。
コンピュータ上に構築された仮想データベースシステム管理装置は、複数のデータベースシステムが存在する環境において、ユーザからのアクセス対象となる論理データベース情報(データベース、テーブル)を定義し、それらに対し、各データベースシステムにおける1つあるいは複数のDBMS、データベース、テーブル、範囲条件の組を割り当てる。
そして、論理データベース情報に対して複数の組を割り当てた場合に、ユーザから問合せ内容に応じて、複数の組の中から1つを選択して処理を実行するよう管理することで、同一データを含む複数のデータベースシステムが存在する環境において、データベースシステムを選択し、ユーザからの問合せ処理に適したデータの選択を可能とするものである。
以下、仮想データベースシステム管理装置10の構成について、図1のブロック図を参照して説明する。
仮想データベースシステム管理装置10は、複数のデータベースシステム20と接続されるデータベースインタフェース部11と、データベースインタフェース部11を介して各データベースシステム20の情報を取得し管理するデータベース管理部12と、ユーザシステム1との入出力を行うユーザインタフェース部13と、ユーザシステム1から入力された問合せ文を解析する問合せ入力解析部14と、問合せ文の実行計画を生成する実行計画生成部15と、データベースインタフェース部11を介して問合せ文を実行し結果をユーザシステム1へ出力する問合せ実行部16とを備えて構成されている。
データベース管理部12は、論理的に定義された論理データベース情報(データベース、テーブル等)を管理する論理データベース管理テーブル12aと、データベース・テーブル等の組を管理する物理データベース管理テーブル12bを備えることで、各データベースシステム20の情報を管理している。論理データベース管理テーブル12a及び物理データベース管理テーブル12bにおけるデータ間の紐付けについては、後述する。
また、データベース管理部12は、各データベースシステムにおける処理の優先度、リソース容量、リソース利用率(データベースシステムのリソース利用情報)を管理するデータベースシステム情報テーブル12cを備えている。データベースシステム情報テーブル12cは、データベースインタフェース部11を介して各データベースシステム20のリソース利用情報を取得する。
問合せ入力解析部14は、ユーザインタフェース部13を介して入力された問合せ文の講文を解析し、解析結果を実行計画生成部15へ入力する。
実行計画生成部15は、データベース管理部12より問合せ文の問合せ入力解析部14での解析結果に対応するデータベース情報を取得し、問合せ文を実行するデータベースシステム20を選択するデータベース選択部15aを備え、選択したデータベースシステム20に対して問合せ文の実行計画を生成する。
すなわち、データベース選択部15aは、問合せ文に応じて1つのデータベースシステム20を選択するに際して、予め定義したルールとの適合評価を行うルール評価部を備えている。そして、ルール評価部での適合結果に基づいて、データベースシステム20が選択される。
問合せ実行部16は、実行計画生成部15にて生成された実行計画を実行し、実行結果についてユーザインタフェース部13を介してユーザシステム1へ出力する。
また、本発明の仮想データベースシステム管理装置10では、データベースシステム20が複数存在する場合に、どのデータを重複して複数のデータベースシステム20に配置すべきかを判断し、配置の変更を実行するために、実行履歴管理部17と、データ配置決定部18と、データ配置実行部19とを備えている。
実行履歴管理部17は、実行計画生成部15からの問合せ文の実行計画、問合せ実行部16からの問合せ文の実行結果を取得する実行履歴管理テーブル17aと、各問合せ文に対する物理データを管理するデータベースアクセス管理テーブル17bを備えている。実行履歴管理テーブル17a及びデータベースアクセス管理テーブル17bについての詳細説明は後述する。
データ配置決定部18は、データベース管理部12及び実行履歴管理部17が管理する情報を用いて重複して持つべきデータ及びそのデータを配置するべきデータベースシステム20を決定する。
データ配置実行部19は、データ配置決定部18の決定に従ってデータベースインタフェース部11を通じて各データベースシステム20に対してデータ作成又は移動の指示を出し、かつデータベース管理部12が管理する論理データベース管理テーブル12a及び物理データベース管理テーブル12bの情報を更新する。
先ず、仮想データベースシステム管理装置10により、少なくとも部分的に同一データを有するデータベースシステム20が複数存在する場合に、ユーザの問合せ内容に応じてデータベースシステム20を選択し処理を実行するように複数のデータベースシステム20を管理する手順について、図1〜図5を参照して説明する。
仮想データベースシステム管理装置10には、複数のデータベースシステム20a,20bが接続され、ユーザシステム1からのアクセスに応じてデータが出力される。各データベースシステム20a,20bは、各種のデータが格納されたデータベース21と、データベース21を管理するデータベースマネジメントシステム(以下、DBMSと称する)22を備え、同一のデータがデータベース21に保有される環境となっている。
各データベースシステム20は、例えば、大容量に適したもの、アクセス時間が速いもの等、異なる性質を有するものを使用しても良い。
より具体的には、データベースシステム20aは、データベースマネジメントシステム(DBMS1)22とデータベース(DB1)21から構成され、DB1には2つテーブルTBL1とTBL2が定義されている。
同様にデータベースシステム20bは、データベースマネジメントシステム(DBMS2)22とデータベース(DB1)21から構成され、DB1には2つテーブルTBL1とTBL2が定義されている。データベースシステム20aとデータベースシステム20bのデータベース(DB1)21は、内容が同一と仮定する。この例では、2つのデータベース(DB1)21が同一と仮定しているが、必ずしも完全同一である必要はなく、部分的に同一データを持つ場合でも適用可能とすることができる。
仮想データベースシステム管理装置10に、この2つのデータベースシステム20a,20bが接続されると、データベース管理部12が各データベースシステム20a,20bからデータベース情報を取得し、図3に示すように、エントリ番号(P1〜P4)、DBMS(DBMS1かDBMS2)、データベース(DB1)、テーブル(TBL1かTBL2)、範囲条件の組を物理データベース管理テーブル12bとして管理する(管理テーブル作成手順)。
なお、必ずしも各データベースシステム20からデータを取得する必要はなく、例えば人手で物理データベース管理テーブルを作成してもよい。
範囲条件とは、データベースシステム20において、エントリ番号に対応するテーブルのデータの有効範囲を定める条件を指定するものである。
図3の例では、データベースシステム20bのTBL1に対して、「日時」の属性があるとして、「日時」の値が「2013年1月」以降であるデータが有効であることを示している。
また、図4に示すように、ユーザシステム1からアクセス対象となる論理データベース情報(データベース、テーブル)を論理データベース管理テーブル12aと定義して管理する(管理テーブル作成手順)。
論理データベース管理テーブル12aには、物理データベース管理テーブルのデータに対して、対応する各エントリ番号を紐付けて管理する情報としてリンク項目が設定されている。
図2〜図4に示した例の場合、物理データベース管理テーブルのエントリ番号P1とエントリ番号P3、エントリ番号P2とエントリ番号P4は、それぞれ部分あるいは全体として同じ内容を持つことから、論理データベースとしてVDB1/VTBL1、VDB2/VTBL2を定義して、物理データベースと対応付けている。
ユーザシステム1から、ユーザインタフェース部13を通じて問合せ文が入力されると、問合せ入力解析部14による構文確認が行われ、解析結果は実行計画生成部15に入力される。
次に、実行計画生成部15による実行計画生成処理により、問合せ対象のデータベース/テーブルを抽出し、データベース選択部15aにより、図5に示す手順によって問合せ文を実行するデータベースシステムを特定する(データベース選択手順)。
すなわち、データベース選択部15aは、実行計画生成部15より問合せ内容を取得し、問合せ内容に含まれるデータベースおよびテーブルの組を抽出する(ステップ61)。
データベース選択部15aは、抽出したデータベースおよびテーブルの組を入力としてデータベース管理部12を呼び出す(ステップ62)。
データベース管理部12は、論理データベース管理テーブル12aより、取得したデータベースおよびテーブルの組に該当するエントリ番号を検索し、リンク項目に記載のエントリ番号を物理データベース管理テーブル12bより検索して、DBMS、データベース、テーブル、範囲条件の組を1つあるいは複数取得し、データベース選択部15aへ出力する(ステップ63)。
データベース選択部15aでは、入力の組あたりの結果の組の個数が1つであるか複数であるかを判断する(ステップ64)。
データベース選択部15aにて、問合せ内容に含まれる検索条件も考慮し、問合せ内容の実行対象となる1組を選択する(ステップ65)。
データベース選択部15aでは、実行計画生成部15より取得したデータベースおよびテーブルの組(論理データベース)に対し、検索/選択したDBMS、データベース、テーブルの組(物理データベース)を対応させ、実行計画生成部15へ出力する(ステップ66)。
実行計画生成部15では、取得した情報を元に問合せ文に対する実行計画を生成して問合せ実行部16へ入力する。
問合せ実行部16では、実行計画に基づきデータベースインタフェース部11を介して問合せ文が実行され(処理手順)、最終的に実行結果がユーザシステム1に対して出力される。
以上の手順が実行されることで、データベース選択部15aでは、問合せ文の内容を参照し、問合せ文に対応したデータベースシステムを選択することができる。
例えば、更新系の問合せはデータベースシステム20a(データベースシステム1)、参照系の問合せはデータベースシステム20b(データベースシステム2)とするよう予め設定することができる。また、各データベースシステム20の容量やアクセス速度等が異なる場合に、問合せ内容に適した容量やアクセス速度等を考慮することで、例えば、TBL1への問合せはデータベースシステム20a(データベースシステム1)、それ以外の問合せはデータベースシステム20b(データベースシステム2)と予め設定することもできる。
例えば、図2〜図4の例において、問合せ文の対象テーブルがVTBL1であった場合、論理データベース管理テーブル12aより、P1とP3にリンクされることがわかるため、物理データベース管理テーブル12bより検索して、P1とP3に該当する情報の組がデータベース選択部15aへ返される。データベース選択部15aでは、問合せ内容に応じてP1あるいはP3を選択するが、例えば、問合せ文の条件が、「日時≧2013年1月」に適合し、かつDBMS2の方が処理能力が高いような場合にはP3を選択する、というように動作する。
また、データベース選択部15aに、問合せ文の内容についてのコスト評価を行うコスト評価部を設け、このコスト評価部で算出した値に基づいてデータベースシステム20を選択するようにしても良い。コスト評価部では、例えば、問合せ入力解析部14の解析結果に基づいて評価値を算出する。
データベース選択部15aによって特定されたデータベース情報に従って、実行計画生成部15にて実行計画及び各データベースシステム20に合わせた問合せ文を生成し、問合せ実行部16にてデータベースインタフェース部11を介して問合せ文が実行され、最終的に実行結果がユーザシステム1に対して出力される。
次に、本発明の特徴的な構成である、ユーザからの問合せ内容を効率よく処理するために、データベースシステム20が複数存在する場合に、どのデータを重複して複数のデータベースシステム20に配置すべきかの管理に関して、図6に示す仮想データベースシステム管理装置10のデータベースシステムA,データベースシステムBを例に、図1における実行履歴管理部17、データ配置決定部18、データ配置実行部19の機能について説明する。
図6の仮想データベースシステム管理装置(例1)においては、図7及び図8に示すように、物理データベースとしてDBMS−A.DB1.TBL1が存在し、論理データベースVDB1.VTBL1にリンク(リンク先P1)されている。 図7の物理データベース管理テーブルは、前記した図3に相当するものであり、エントリ番号(この例の場合、P1のみ)、DBMS(この例の場合、DBMS−A)、データベース(DB1)、テーブル(TBL1)、範囲条件の組が管理されている。図8の論理データベース管理テーブルは、前記した図4に相当するものであり、リンク先P1が示されている。
また、データベース管理部12のデータベースシステム情報テーブル12cでは、図9に示すように、各データベースシステム20(データベースシステムA、データベースシステムB)の処理における優先度、リソース容量、リソース利用率が管理されている。優先度は、どちらのデータベースシステム20を優先するのかを設定するものである。容量は、データベースシステム20に記録される容量値である。利用率は、各データベースシステム20における利用状況の指標であり、%で示される。
この例の場合、データベースシステムBについては、容量が小さく(1TB)処理速度が速いデータベースとし、データベースシステムAについては、容量が大きい(100TB)データベースを使用し、例えば利用率が90%になるまでは、データベースシステムBに優先的にデータが登録されるようになっている。
以下、データベースシステムAに物理データとして存在するTBL1について、処理速度が速いデータベースシステムBに再配置(コピー)する管理手順について説明する。
実行履歴管理部17では、問合せ実行部16より実行した問合せ文(クエリ)の実行計画(どのクエリをどのデータベースで処理するかなど)と実行結果(処理時間、処理件数、データ量など)の情報を取得し、実行履歴管理テーブル17aに記録する。
ユーザからの問合せ文は、各データベースシステム20にて実行されるサブ問合せ文に変換され、各データシステム20に対するサブ問合せ文実行をステージ1、それらの結果に基づいてユーザに対して問合せ文の処理を実行するステージ2に分けて、図10に示すような実行履歴管理テーブルに記録される。すなわち、各問合せ文をステージ1とステージ2に分け、使用したデータベース、使用したテーブル、リンク先に関する情報、ステージ1とステージ2のそれぞれの実行結果が記録される。
ステージ1の実行結果は各データベースシステム20における各サブ問合せ文の実行結果(α1,β1,γ1,δ1,ε1)となり、ステージ2の実行結果は問合せ文全体の実行結果(α2,β2,γ2,δ2,ε2)となる。
また、実行履歴管理部17では、実行履歴管理テーブルのリンクに記された物理データベース管理テーブルの各テーブルに対して、データベースアクセス管理テーブル17bを作成する。すなわち、データベースアクセス管理テーブルは、物理テーブルの種類の数だけ作成される。
データベースアクセス管理テーブルは、図11に示すように、対象テーブルにて実行された各サブ問合せ文に対して、複数カラム(COL1〜5)から参照されたカラムを記録する。図11では、各カラムに対して参照部分がカラム全体を示すチェックを付しているが、参照部分がカラム全体ではなく一部に限られる場合はチェックでなくその範囲(例えば、2014年1月)を記録するようにしてもよい。
次に、データ配置決定部18における処理について、図12を参照して説明する。
実行履歴管理部17の実行履歴管理テーブル17aより、問合せ文におけるステージ2の実行結果(処理時間等)が一定以上の問合せ文Qiを抽出する(ステップ81)。
各問合せ文Qiにおいて、サブ問合せ文の対象物理テーブルの組を抽出し、重複排除したものをSjとする。各Sjに対して、データベースアクセス管理テーブルより、対応するQiのレコードを抽出したテーブルTjを生成する(ステップ82)。
各テーブルTjに対して、利用頻度の高いカラム条件Cjを抽出しデータ再配置候補とする(ステップ83)。
各Cjに対して、データベースシステム情報テーブルを参照し、優先度及びリソース情報から再配置先のデータベースDBMSj.DBjを決定し、{Cj,DBMSj.DBj}を出力する。
再配置先のデータベースが決定できない場合は、処理をスキップする(ステップ84)。
データ配置決定部18における処理の具体例について、図10の例で説明する。
図10の例において、問合せ文について、実行結果(処理時間など)の条件は全て満たすと仮定すると、問合せ文としてQ1〜Q5が抽出される。
これらの問合せ文Q1〜Q5のサブ問合せ文の対象物理テーブルは全てP1であるため、重複排除するとS1={P1}となる。P1に対して、図11のデータベースアクセス管理テーブルより対象レコードを抽出すると、T1は図11のテーブルと同様となる。
T1において、利用頻度の高いカラム条件(例えば、5つのサブ問合せ文に対して4つ以上のサブ問合せ文で参照されたカラム)を考えると、この例の場合、COL1,COL2,COL3が該当するため、{DBMS−A.DB1.TBL1.COL1,DBMS−A.DB1.TBL1.COL2,DBMS−A.DB1.TBL1.COL3 }をデータ再配置候補とする。
図9のデータベースシステム情報テーブルを参照すると、データベースシステムAよりデータベースシステムBの方が優先度が高く、データをデータベースシステムBに配置した方が処理効率が向上することが期待できるため、データベースシステムBの空きリソースを確認した上で問題なければ、データベースシステムB(DBMS−B.DB1)を配置先と決定し、{{DBMS−A.DB1.TBL1.COL1,DBMS−A.DB1.TBL1.COL2,DBMS−A.DB1.TBL1.COL3 },DBMS−B.DB1}を出力する。
データ配置実行部19における処理について、図13を参照して説明する。
データ配置決定部18からの入力の各{Cj,DBMSj.DBj}について、データベースインタフェース部11を通じて、Cjの範囲のデータをDBMSj.DBjに複製あるいは移動する(ステップ91)。
データベース管理部12を通じて、物理データベース管理テーブル12b及び論理データベース管理テーブル12aを更新する(ステップ92)。
図6〜図11の例の場合、データ配置決定部18からの入力は{ {DBMS−A.DB1.TBL1.COL1,DBMS−A.DB1.TBL1.COL2,DBMS−A.DB1.TBL1.COL3 },DBMS−B.DB1 }となるので、DBMS−A.DB1.TBL1よりカラムCOL1,COL2,COL3を抽出して、DBMS−B.DB1にTBL1としてデータを複製する。
その結果として、図14に示すように、TBL1のデータはデータベースシステムA及びデータベースシステムBに存在することとなり、物理データベース管理テーブル及び論理データベース管理テーブルは、それぞれ図15及び図16のように更新される。すなわち、物理データベース管理テーブル(図15)では、エントリ番号P2としてDBMS−Bにおいて、DB1,TBL1,範囲条件カラムCOL1,COL2,COL3のデータが作成され、論理データベース管理テーブル(図16)では、リンク先にP2が加えられる。
これにより、VTBL1に対する問合せ文は、P1あるいはP2を選択して処理することが可能となり、利用頻度の高いカラムCOL1,COL2,COL3へのアクセスは、P2で紐づけられたより処理能力の高いデータベースシステムBでの処理が可能となるので、処理効率が改善される。
なお、VTBL1に対する問合せ文におけるカラムCOL4へのアクセスは、P2の選択で処理できないので、P1を選択してデータベースシステムAで処理される。
複製対象がテーブル全体の場合は、必ずしも元データを保持する必要はないので、データベースの容量確保のため複製後に元データを削除することもできる。この場合、それに応じて物理データベース管理テーブル及び論理データベース管理テーブルも更新される。
続いて、仮想データベースシステム管理装置10に対する物理データの配置に関して、より複雑な例(例2)について、図17〜図27を参照して説明する。
この例では、物理データベースとしてDBMS−A.DB1.TBL1(エントリ番号P1)及びDBMS−B.DB1.TBL2(エントリ番号P2)が存在し、それぞれ論理データベースVDB1.VTBL1及びVDB1.VTBL2にリンクされているものとする(図17、図18、図19)。
また、データベース管理部12のデータベースシステム情報テーブル12cでは、図20に示すように、各データベースシステム20(データベースシステムA、データベースシステムB)の処理における優先度、リソース容量、リソース利用率が管理されている。この例では、データベースシステムA(容量100TB)とデータベースシステムB(容量50TB)は容量に差があるが、優先度は同じ(MEDIUM)に設定されている。
データ配置決定部18において、前述の例と同様、実行結果の条件は全て満たすと仮定すると、図21の実行履歴管理テーブルより、問合せ文Q1〜Q5が抽出される。問合せ文Q1〜Q5は、2種類のサブ問合せ文Q1A〜Q5AとQ1B〜Q5Bを有し、これらのサブ問合せ文の対象物理テーブルは全て{P1,P2}であるため、S1={P1,P2}となる。すなわち、サブ問合せ文Q1A〜Q5Aに対するデータベースアクセス管理テーブル(P1)は図22のようになり、サブ問合せ文Q1B〜Q5Bに対するデータベースアクセス管理テーブル(P2)は図23のようになる。
S1に対して、図22及び図23のデータベースアクセス管理テーブルより対象レコードを抽出すると、テーブルT1は図24に示す通りとなる。
T1において、利用頻度の高いカラム条件(例えば、5つのサブ問合せ文に対して4つ以上のサブ問合せ文で参照されたカラム)を考えると、DBMS−A.DB1.TBL1のCOL1,COL2,COL3、DBMS−B.DB1.TBL2のCOL1,COL2が該当するため、{DBMS−A.DB1.TBL1.COL1,DBMS−A.DB1.TBL1.COL2,DBMS−A.DB1.TBL1.COL3,DBMS−B.DB1.TBL2.COL1,DBMS−B.DB1.TBL2.COL2}がデータ再配置候補となる。
カラム条件が複数のデータベースシステム(DBMS−A.DB1,DBMS−B.DB1)に分散していることから、1つのデータベースシステムにデータを集約することにより処理効率の向上が期待できる。
データベースシステム情報テーブルの情報に基づいて、集約すべきデータベースシステムを選択し、空きリソースを確認した上で、データの再配置先を決定する。
この例の場合、図20のデータベースシステム情報テーブルにおいて2つのデータベースシステムの優先度に差がないことから、データ量で判断し、DBMS−B.DB1.TBL2のカラム条件のデータをDBMS−A.DB1に複製することとし、{{DBMS−B.DB1.TBL2.COL1,DBMS−B.DB1.TBL2.COL2},DBMS−A.DB1}を出力する。
次に、データ配置実行部19において、データの複製と物理データベース管理テーブル及び論理データベース管理テーブルの更新が行われ、再配置後の仮想データベースシステム管理装置のモデル図は、図25に示すように、データベースシステムAにTBL2が複製された構成となる。
再配置後の物理データベース管理テーブル(図26)では、エントリ番号P3として、DBMS−Aにおいて、DB1,TBL2,範囲条件カラムCOL1,COL2のデータが作成され、再配置後の論理データベース管理テーブル(図27)では、VTBL2のリンク先にP3が加えられる。
上述した仮想データベースシステム管理装置10によれば、複数のデータベースシステム20が存在する環境において、ユーザの問合せ内容に応じてデータベースシステム20を選択して処理を実行するに際して、実行履歴管理部17におけるユーザの過去の問合せ内容とその処理結果を基に、データ配置決定部18において、重複して持つべきデータ(データ再配置候補)とそのデータを配置すべきデータベースシステム20を選択決定し、データ配置実行部19でデータ再配置を実行することが可能となる。
これにより、処理能力の異なる複数のデータベースシステム20をより効率良く利用することができるとともに、複数のデータベースシステム20に分散したデータに対する問合せ実行時に、処理のオーバーヘッドを解消して実行時間が大幅に短縮されることが期待できる。
したがって、複数のデータベースシステム20が存在する環境において、どのデータがどこのデータベースシステム20に保持されていたとしても、ユーザの使い方に応じてデータの配置が最適化されるため、利用者やシステム管理者のデータベースシステム管理に関する負荷が軽減され、利便性を向上させることができる。
1…ユーザシステム、 10…仮想データベースシステム管理装置、 11…データベースインタフェース部、 12…データベース管理部、 12a…論理データベース管理テーブル、 12b…物理データベース管理テーブル、 12c…データベースシステム情報テーブル、 13…ユーザインタフェース部、 14…問合せ入力解析部、 15…実行計画生成部、 15a…データベース選択部、 16…問合せ実行部、 17…実行履歴管理部、 17a…実行履歴管理テーブル、 17b…データベースアクセス管理テーブル、 18…データ配置決定部、 19…データ配置実行部、 20…データベースシステム、 21…データベース、 22…データベースマネジメントシステム(DBMS)。

Claims (5)

  1. 少なくとも部分的に同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力されるデータベースシステム管理装置において、
    前記データベースに関連付けたエントリ番号を管理する物理データベース管理テーブルと、
    前記ユーザシステムからのアクセス対象となる論理データベース情報を定義し、前記物理データベース管理テーブルのデータに対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理テーブルと、
    各データベースシステムにおける処理の優先度、リソース容量、リソース利用率を管理するデータベースシステム情報テーブルと、
    前記ユーザシステムからの問合せに対して、アクセス対象の論理データベース情報を抽出し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルより対応する物理データベース情報の組を取得し、取得した物理データベース情報の組が複数存在する場合に、問合せ内容に応じて1つの組を選択するデータベース選択部と、
    前記問合せ内容の実行計画及び実行結果を取得し実行履歴管理テーブルを作成して管理する実行履歴管理部と、
    前記実行履歴管理部及び前記データベースシステム情報テーブルが管理する情報を用いて重複して持つべきデータ(データ再配置候補)及び該データを配置するべきデータベースシステムを決定するデータ配置決定部と、
    前記データ配置決定部の決定に従って前記データベースシステムに対してデータの作成又は移動を指示し、前記論理データベース管理テーブル及び前記物理データベース管理テーブルの情報を更新するデータ配置実行部と、
    を備えたことを特徴とする仮想データベースシステム管理装置。
  2. 前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
    前記実行履歴管理部は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
    前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
    前記データ配置決定部は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ(データ再配置候補)を決定する
    請求項1に記載の仮想データベースシステム管理装置。
  3. 同一のデータをデータベースに保有可能とする複数のデータベースシステムが接続され、ユーザシステムからのアクセスに応じてデータが出力される環境において、
    前記ユーザシステムからのアクセス対象となる論理データベース情報を定義する論理データベース管理テーブルと、前記論理データベース情報に対し前記複数のデータベースシステムにおける1つあるいは複数のデータベースマネジメントシステム(DBMS)、データベース・テーブルの組を割り当てる物理データベース管理テーブルとを作成する管理テーブル作成手順と、
    前記ユーザシステムからの問合せ内容の実行計画と実行結果を取得して実行履歴管理テーブルとして管理する実行履歴管理手順と、
    各データベースシステムのリソース利用情報を取得して管理するデータベースシステム管理手順と、
    前記実行履歴管理テーブルが管理する情報及び前記リソース利用情報を用いて重複して持つべきデータ(データ再配置候補)及び該データを配置するべきデータベースシステムを決定するデータ配置決定手順と、
    前記決定に従って前記データベースシステムに対してデータの作成又は移動の指示を出し、前記論理データベース管理テーブル及び物理データベース管理テーブルの情報を更新する更新手順と、
    により実行することを特徴とする仮想データベースシステム管理方法。
  4. 前記実行履歴管理テーブルは、前記各問合せ内容が実行されるテーブルのリンク先の情報を有し、
    前記実行履歴管理手順は、前記実行履歴管理テーブルの前記リンク先に記された物理データベースの各テーブルに対するデータベースアクセス管理テーブルを作成し、
    前記データベースアクセス管理テーブルは、対象テーブルにて実行された各問合せ内容に対して参照された複数カラムが記録され、
    前記データ配置決定手順は、各テーブルに対して利用頻度の高いカラム条件を抽出して前記重複して持つべきデータ(データ再配置候補)を決定する
    請求項3に記載の仮想データベースシステム管理方法。
  5. 請求項3又は請求項4に記載の仮想データベースシステム管理方法の各手順をコンピュータにより実行可能とした仮想データベースシステム管理プログラム。
JP2014057080A 2014-03-19 2014-03-19 仮想データベースシステム管理装置、管理方法及び管理プログラム Expired - Fee Related JP6157004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014057080A JP6157004B2 (ja) 2014-03-19 2014-03-19 仮想データベースシステム管理装置、管理方法及び管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014057080A JP6157004B2 (ja) 2014-03-19 2014-03-19 仮想データベースシステム管理装置、管理方法及び管理プログラム

Publications (2)

Publication Number Publication Date
JP2015179449A JP2015179449A (ja) 2015-10-08
JP6157004B2 true JP6157004B2 (ja) 2017-07-05

Family

ID=54263430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014057080A Expired - Fee Related JP6157004B2 (ja) 2014-03-19 2014-03-19 仮想データベースシステム管理装置、管理方法及び管理プログラム

Country Status (1)

Country Link
JP (1) JP6157004B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005822A (ja) * 2016-07-08 2018-01-11 Kddi株式会社 仮想データベースシステム管理装置、管理方法及び管理プログラム
JP6674871B2 (ja) * 2016-09-08 2020-04-01 日本電信電話株式会社 異種データベース管理装置、方法及びプログラム
US10162721B2 (en) 2016-11-28 2018-12-25 Sap Se Workload shifting in a database system using hint-based routing
JP6744272B2 (ja) * 2017-09-28 2020-08-19 Kddi株式会社 移行管理装置及び移行管理方法
JP2020024483A (ja) * 2018-08-06 2020-02-13 京セラドキュメントソリューションズ株式会社 データ管理システムおよびデータ管理プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02231676A (ja) * 1989-03-06 1990-09-13 Toshiba Corp 分散型データベースシステム
JPH10312331A (ja) * 1997-05-14 1998-11-24 Hitachi Ltd データベースの動的アクセス方法
JP4445783B2 (ja) * 2003-12-09 2010-04-07 株式会社日立製作所 ファイル管理装置、ファイル管理装置を用いた計算機システム
US20050125456A1 (en) * 2003-12-09 2005-06-09 Junichi Hara File migration method based on access history
CN103577407B (zh) * 2012-07-19 2016-10-12 国际商业机器公司 用于分布式数据库的查询方法及查询装置
JP2015045995A (ja) * 2013-08-28 2015-03-12 Kddi株式会社 仮想データベースシステム管理装置、管理方法及び管理プログラム

Also Published As

Publication number Publication date
JP2015179449A (ja) 2015-10-08

Similar Documents

Publication Publication Date Title
JP7130600B2 (ja) ファーストクラスデータベース要素としての半構造データの実装
JP6964384B2 (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
JP6157004B2 (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
US11797483B2 (en) Data pruning based on metadata
US11030196B2 (en) Method and apparatus for processing join query
US9984082B2 (en) Index suspension prior to database update
EP2981908A1 (en) Query integration across databases and file systems
US20170270149A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
JP6204753B2 (ja) 分散クエリ処理装置、処理方法及び処理プログラム
JP6376947B2 (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
JP2015045995A (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
JP6523823B2 (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
WO2015191033A1 (en) Top-k projection
JP7211255B2 (ja) 検索処理プログラム、検索処理方法及び情報処理装置
JP6393193B2 (ja) データ仮想化装置及び大規模データ処理プログラム
JP7274293B2 (ja) 情報処理装置、情報処理方法及びプログラム
US10572483B2 (en) Aggregate projection
JP2013127750A (ja) パーティション分割装置及び方法及びプログラム
CN111797116A (zh) 利用优化提示的查询调整

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160729

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6157004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees