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

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

Info

Publication number
JP6376947B2
JP6376947B2 JP2014226050A JP2014226050A JP6376947B2 JP 6376947 B2 JP6376947 B2 JP 6376947B2 JP 2014226050 A JP2014226050 A JP 2014226050A JP 2014226050 A JP2014226050 A JP 2014226050A JP 6376947 B2 JP6376947 B2 JP 6376947B2
Authority
JP
Japan
Prior art keywords
database
subquery
statement
query
execution result
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.)
Active
Application number
JP2014226050A
Other languages
English (en)
Other versions
JP2016091356A (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 JP2014226050A priority Critical patent/JP6376947B2/ja
Publication of JP2016091356A publication Critical patent/JP2016091356A/ja
Application granted granted Critical
Publication of JP6376947B2 publication Critical patent/JP6376947B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、複数のデータベースシステムが存在する環境において、ユーザからの問合せ文に対して、各データベースシステムで実行される副問合せ文が生成され、各副問合せ文の結果を踏まえて問合せ文の残りの処理を実行する場合に、処理の効率化を図る仮想データベースシステム管理装置、管理方法及び管理プログラムに関する。
データ仮想化システム(又はマルチデータベースシステム)は、例えば特許文献1〜4に示されるように、インタフェースやデータ管理方式が異なる複数のデータベースシステムを仮想的に一つのデータベースシステムに見せるために、各データベースシステムが持つデータを論理的に統合して管理し、与えられた問合せ文に対応するデータベースシステムに副問合せ文を出力し、各データベースシステムで実行された副問合せ文の処理結果を中央に収集し、仮想スキーマ(実際の物理テーブルをユーザに提供する論理テーブルに変換する処理を定義したもの)に従って一つに統合して結果を出力するシステムとなっている。
これらのデータ仮想化システムにおいては、基本的に複数のデータベースシステムと接続し、複数のデータベースを物理データベースモデルとして管理し、一方、論理データベースモデルを作成して物理データベースモデルと紐付けることによって、複数の物理データベースモデルを1つの論理データベースモデルとして扱い、論理データベースモデルに対する問合せ文の実行を可能としている。
特開平09−091309号公報 特開平10−307743号公報 特表2013−508857号公報 特願2014−057080
上述した仮想データベースシステムにおいては、ユーザから与えられた問合せ文に対して、仮想データベースシステムに接続された各データベースシステムにおいて実行可能な副問合せ文が生成・発行され、副問合せ文の処理結果を仮想データベースシステムが受け取り、さらに問合せ文の残りの処理を実行してユーザへ結果を返す。
しかしながら、問合せ文の残りの処理を実行するに際し、各データベースシステムにて実行する副問合せ文の結果によっては、仮想データベースシステムで処理すべきデータ量が膨大となり処理時間が長くなる、又は、リソース不足により処理を完了できずに異常終了することが起こり得るという問題があった。
本発明は上記実情に鑑みて提案されたものであり、複数のデータベースシステムが存在する仮想データベースシステム管理装置の環境下において、問合せ文から各データベースシステムに対する副問合せ文を生成する場合に、データ再配置とそれに伴う問合せ文変換により処理の効率化を実現する仮想データベースシステム管理装置、仮想データベースシステム管理方法及び仮想データベースシステム管理プログラムを提供することを目的としている。
上記目的を達成するため本発明は、複数のデータベースシステムを扱う環境下の仮想データベースシステム管理装置において、副問合せ文の実行結果サイズを考慮した実行計画を生成することにより、仮想データベースシステム管理装置の問合せ処理を効率化する。
すなわち、請求項1は、複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理装置において、次の構成を備えたことを特徴としている。
前記データベースシステム単位に副問合せ文の生成及び副問合せ文によるデータ再配置に伴う前記問合せ文の変換を行う問合せ文生成部。
前記問合せ文生成部が生成した副問合せ文の実行結果サイズを推定する実行結果推定部。
前記問合せ文生成部が生成した副問合せ文及び変換した問合せ文に対して、前記実行結果推定部が推定した実行結果サイズに基づいて副問合せ文及び変換した問合せ文の実行順序並びに副問合せ文の実行結果のデータ配置を決定する問合せ入力解析部。
前記問合せ入力解析部が決定した実行順序に基づいて副問合せ文及び変換した問合せ文を実行する問合せ実行部。
更に、前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とが記憶されたデータベース管理部とを備え、
前記問合せ入力解析部は、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新するとともに、
前記問合せ入力解析部は、
前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備え、
前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、
前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、
実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する機能を備え、
前記問合せ実行部は、
前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う機能を備えたことを特徴としている。
請求項2は、請求項1の仮想データベースシステム管理装置において、
前記「十分大きい」は、前記実行結果サイズの相違が二桁以上である場合であり、
前記「ほぼ等しい」は、前記実行結果サイズの相違が一桁以下である場合である
ことを特徴としている。
請求項3は、複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理方法において、
前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とを記憶する手順と、
前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備えて、前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する一方、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新する手順と、
前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う手順と、
を含むことを特徴としている。
請求項4の仮想データベースシステム管理方法は、請求項3に記載の各手順について、前記データベースシステム単位が一つになるまで繰り返して行うことを特徴としている。
請求項5は、請求項1に記載の各部をコンピュータ上に構築し、問合せ文実行時に中間データサイズを推定してデータベースシステム間での適切なデータ配置を決定し、前記データ配置に合わせて問合せ文を変更して実行計画を生成する処理を行う仮想データベースシステム管理プログラムであることを特徴としている。
本発明によれば、複数のデータベースシステムが存在する環境下の仮想データベースシステム管理装置において、問合せ文から各データベースシステムに対する副問合せ文を生成するに際し、各副問合せ文の実行結果サイズ(中間データサイズ)を推定してデータベースシステム間での適切なデータ配置を決定し、そのデータ配置に応じて問合せ文を変更して実行計画を生成するので、仮想データベースシステム管理装置における問合せ文の処理効率を向上させることができる。
本発明の仮想データベースシステム管理装置の構成を示すブロック図である。 問合せ入力解析部における処理手順を示すフローチャート図である。 仮想データベースシステム(データベースシステムが2個)におけるデータ保持状況を示すモデル図である。 問合せ文Qのデータ図である。 副問合せ文Qaのデータ図である。 副問合せ文Qbのデータ図である。 副問合せ文Qabのデータ図である。 仮想データベースシステムにおけるデータ保持状況(TBL_Qb追加時)を示すモデル図である。 新たな問合せ文Qのデータ図である。 仮想データベースシステムにおけるデータ保持状況(TBL_Qb追加及び論理テーブルとの紐付け時)を示すモデル図である。 仮想データベースシステム(データベースシステムが3個)におけるデータ保持状況を示すモデル図である。 副問合せ文Qaのデータ図である。 副問合せ文Qbのデータ図である。 副問合せ文Qcのデータ図である。 副問合せ文Qabのデータ図である。 仮想データベースシステムにおけるデータ保持状況(TBL_Qb追加時)を示すモデル図である。 新たな問合せ文Qのデータ図である。 副問合せ文Qaのデータ図である。 副問合せ文Qcのデータ図である。 仮想データベースシステムにおけるデータ保持状況(TBL_Qa追加)を示すモデル図である。 新たな問合せ文Qのデータ図である。
本発明の仮想データベースシステム管理装置の実施形態の一例について、図面を参照して説明する。
仮想データベースシステムは、同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とするシステムであり、図1に示すように、ユーザが問合せ文の投稿を行うユーザシステム1と、仮想データシステム管理装置2と、仮想データシステム管理装置2が利用する1つ以上のデータベースシステム3から構成されている。ユーザシステム1、仮想データシステム管理装置2及びデータベースシステム3は、ネットワークを介して接続されている。仮想データシステム管理装置2は、仮想データベースシステム管理プログラムが格納された記録媒体やインターネットを介してソフトウエアのダウンロードによりインストールすることで、コンピュータ上に構築されている。
仮想データベースシステム管理装置が構築されるコンピュータは、オペレーティングシステム(OS)を含む基本プログラムや各種の基本デバイスが記憶されたROMと、各種のプログラムやデータが記憶されるハードディスクドライブ装置(HDD)と、CD−ROMやDVD等の記憶媒体からプログラムやデータを読み出すメディアドライブ装置と、プログラムを実行するCPUと、このCPUにワークエリアを提供するRAMと、入出力インターフェース(I/F)を介して接続されたディスプレイ、キーボードおよびマウス等のポインティングデバイスと、外部装置と通信するパラレル/シリアルI/Fとを主要部分とする一般的な構成を備えている。
本実施形態の仮想データベースシステム管理装置2では、仮想データベースシステム管理プログラムがシリアル/パラレルI/Fから入力、またはメディアドライブ装置で読み取られてHDDに予め記憶される。仮想データベースシステム管理プログラムは記憶媒体に記憶され、メディアドライブ装置で読み取られてHDDにインストールされる。
コンピュータ上に構築された仮想データベースシステム管理装置2は、複数のデータベースシステム3が存在する環境において、ユーザからのアクセス対象となる論理データベース情報(データベース、テーブル)を定義し、それらに対し、各データベースシステムにおける1つあるいは複数のデータベースマネジメントシステム、データベース、テーブルの組を割り当てる。
ユーザシステム1は、仮想データベースシステム管理装置2が提供する統合データモデルを利用した問合せ文を投稿することで、透過的に複数のデータベースシステム3に対する問合せ文の処理結果を取得する。
データベースシステム3は、実際にデータを保管するデータベース31と、データに対する処理を提供するデータベースマネジメントシステム32からなり、データベースマネジメントシステム32が持つインタフェース経由でデータベース31上のデータに対する処理を提供する。
仮想データベースシステム管理装置2は、複数のデータベースシステム3と接続されるデータベースインタフェース部21と、データベースインタフェース部21を介して各データベースシステム3の情報を取得し管理するデータベース管理部22と、問合せ文生成部25と、ユーザシステム1との入出力を行うユーザインタフェース部23と、ユーザシステム1からの問合せ文の解析を行う問合せ入力解析部24と、問合せ文から各データベースシステム3への副問合せ文の生成を行う問合せ文生成部25と、副問合せ文の実行結果サイズを推定する実行結果推定部26と、一連の副問合せ文の実行計画を生成する実行計画生成部27と、副問合せ文を実行する問合せ実行部28と、を備えて構成されている。
データベース管理部22は、データベース31に関連付けたエントリ番号を管理する物理データベース管理テーブル221と、ユーザシステム1からのアクセス対象となる論理データベース情報を定義し、物理データベース管理テーブル221のデータに対して、対応する各エントリ番号を紐付けて管理する論理データベース管理テーブル222を備えることで、各データベースシステム3の情報を管理している。
物理データベース管理テーブル221及び論理データベース管理テーブル222におけるデータ間の紐付け例を図3に示す。
仮想データベースシステム管理装置2に対して2つのデータベース31(Da及びDb)が接続され、データベースDaはテーブルlineitemを、データベースDbはテーブルcustomer及びordersを有している。
物理データベース管理テーブル221では、紐付けを行うためのエントリ番号(P1〜P3)、データベースの種別(Da又はDb)、データベースにおけるテーブルの種別(lineitem、customer、orders)がデータベース情報として管理されている。論理データベース管理テーブル222では、ユーザシステム1からアクセス対象となる論理データベース情報(データベース、テーブル)が管理され、物理データベース管理テーブル221のデータに対して、対応する各エントリ番号を紐付けて管理する情報としてリンク項目(P1〜P3)が設定されている。
問合せ入力解析部24は、ユーザインタフェース部23を介して入力された問合せ文の構文を解析し、解析結果を実行計画生成部27へ出力する。また、問合せ入力解析部24は、問合せ文の構文解析に際して、ユーザシステム1から入力された問合せ文に対して、副問合せ文の実行順序及び副問合せ文の実行結果のデータ配置を決定する。実行順序の決定及びデータ配置の決定に関する問合せ入力解析部24における処理については後述する。
問合せ文生成部25は、問合せ入力解析部24から呼び出され、データベース単位の副問合せ文(単独データベース副問合せ文)の生成、及び、副問合せ文によるデータ再配置に伴う問合せ文の変換を行う。
実行結果推定部26は、問合せ入力解析部24から呼び出され、与えられた副問合せ文の実行結果サイズを推定する。
実行計画生成部27は、問合せ入力解析部24により決定された一連の問合せ文(副問合せ文と変換した問合せ文)の実行計画を生成する。
問合せ実行部28は、実行計画生成部27にて生成された実行計画を実行し、データベースインタフェース部21を介して副問合せ文を実行し、実行結果についてユーザインタフェース部23を介してユーザシステム1へ出力する。
次に、仮想データベースシステム管理装置2において、ユーザインタフェース部23を介してユーザシステム1から入力された問合せ文に対する問合せ入力解析部24での詳細処理(仮想データベースシステム管理方法)について、図2のフローチャートを参照して説明する。
先ず、ユーザシステム1から入力された問合せ文をQとし、問合せ文Qを構成するデータベースシステムリストを{Di}とし、問合せ文リストを{ }とする(ステップ101)。データベースシステムリストは、仮想データベースシステム管理装置2に接続されるデータベース31の要素で構成される。問合せ文リストは、当初、空集合となっている。
データベースシステムリスト{Di}の要素数iが1より大きいか否かを判断する(ステップ102)。
要素数iが1より大きい場合、データベースシステムリスト{Di}の各要素Diについて、問合せ文生成部25により問合せ文QにおいてDiに対応する単独データベース副問合せ文Qiを生成する(ステップ103)。「QにおいてDiに対応する」とは、問合せ文QにおいてDiに閉じた選択/射影/結合の演算を意味する。
次に、{Qi}の各要素Qiについて、実行結果推定部26よりQiの実行結果サイズSiを推定する(ステップ104)。実行結果サイズはオーダーが分かればよく、厳密である必要はない。
実行結果サイズ{Si}の要素について、「≫(十分大きい)」、「≒(ほぼ等しい)」による順序を付けて整列する(ステップ105)。したがって、A≫Bは、「AはBより十分大きい」を意味し、A≒Bは、「AはBとほぼ等しい(A≫BでもB≫Aでもない)」を意味する。
なお、「≫(十分大きい)」及び「≒(ほぼ等しい)」は、予め決められた基準により分類される。例えば、「≫(十分大きい)」は、実行結果サイズがそれぞれ1MB以上で、2桁程度の違いを意味する。例えば、一方の実行結果サイズが1MBの時、他方の実行結果サイズが100MBである場合は、「十分大きい」と判断する。また、実行結果サイズがそれぞれ1MBより小さい、あるいは実行結果サイズの相違が1桁以下である場合は、「ほぼ等しい」に分類する。
また、実行結果サイズによっては、「≫(十分大きい)」が3桁程度の違いを意味し、「ほぼ等しい」が2桁以下の違いを意味する場合もある。
各要素Qiの実行結果サイズSiを整列した結果、Si間に1つ以上「≫」が存在するか否かを判断する(ステップ106)
Siの整列結果に「≫」が1つ以上存在する場合、最上位の要素を1つ選択しSaとする。Sa≫Sbとなる全てのSbについて、以下(1)〜(3)の処理を実行する(ステップ107)。
(1)問合せ文生成部25により、問合せ文QにおいてデータベースDa及びデータベースDbに対応(問合せ文QにおいてDa及びDbに閉じた選択/射影/結合の演算のみを対象とする)する複数データベース副問合せ文Qabを生成する。
(2)実行結果推定部26により、複数データベース副問合せ文Qabの実行結果サイズSabを推定する。
(3)Sa≫Sabであれば、「Qb→a」を問合せ文リスト{ }に追加する。「Qb→a」は、データベースDbにおける単独データベース副問合せ文Qbの実行結果をデータベースDaに追加することを意味し、データベース管理部22の論理データベース管理テーブル222に項目を追加する。
データベースシステムリスト{Di}より問合せ文リストの全ての要素に対するデータベースDbを削除し、問合せ文生成部25により問合せ文Qにおいて{Di}に対応する問合せ文を生成し(副問合せ文によるデータ再配置に伴う問い合わせ文の変換)、新たな問合せ文Qとする(ステップ108)。「問合せ文Qにおいて{Di}に対応する」とは、問合せ文Qを{Di}の要素のみで書き換えることを意味する。
ステップ106においてSiの整列結果に「≫」が1つも存在しない場合、又は、ステップ102において{Di}の要素数iが1である場合、データベースシステムリスト{Di}の各要素Diについて、問合せ文生成部25により問合せ文QにおいてDiに対応する副問合せ文Qiと、全ての副問合せ文Qiを実行後に仮想データベースシステム上で実行する問合せ文Qvを生成し、問合せ文リストに追加する(ステップ109)。ただし{Di}の要素数が1の場合は、Qi=QとなりQのみを問合せ文リストに追加する。
以下、TPC−HベンチマークのQ3(TPC−Hベンチマーク22種のうちの一つ)を例として、図1の問合せ入力解析部24における具体的な処理について、データベースシステム3が2個の場合の実施例(実施例1)、及び、データベースシステム3が3個の場合の実施例(実施例2)を説明する。
(実施例1)
図3に、仮想データベースシステム管理装置2におけるデータベース管理部22の物理データベース管理テーブル221及び論理データベース管理テーブル222の構成を示す。図4に、ユーザシステム1から入力される問合せ文Qを示す。データベースシステムリストは、仮想データベースシステム管理装置2に接続されたデータベースの種類となる{Da、Db}とする。
ステップ102におけるデータベースDa又はデータベースDbに対する単独データベース副問合せ文Qa、Qbは、図4の問合せ文Qに対して各データベース単独で実行できるように分解することで、それぞれ図5、図6となる。
ステップ103において、単独データベース副問合せ文Qa、Qbの実行結果サイズを推定してSa、Sbとした時に、Sa≫Sbの関係が成り立つとする。Sa≫Sbの関係が成り立つ場合、副問合せ文Qaの実行結果が副問合せ文Qbに比べて十分大きく、仮想データベースシステム管理装置2の処理におけるボトルネックになり得ることを示している。
ステップ107で生成されたデータベースDa及びDbに対応する複数データベース副問合せ文Qabは、図7のようになる。副問合せ文Qabの実行結果サイズを推定してSabとした時に、Sa≫Sabの関係が成り立つとする。
Sa≫Sabの関係が成り立つ場合、データベースDa及びDbを対象とする複数データベース問合せ文の実行結果サイズが、データベースDaのみを対象とする単独データベース問合せ文の結果よりも十分小さいことを示しているので、単独データベース副問合せ文Qbの結果をデータベースDaに移して複数データベース副問合せ文Qabを実行することにより、仮想データベースシステム管理装置2への負担を大幅に削減できる。
また、Sa≫Sabの関係が成り立つ場合、問合せ文リストは{Qb→a}となり、単独データベース副問合せ文Qbの実行結果「TBL_Qb」をデータベースDaに追加するため、論理データベース管理テーブル222のデータベースDaに「TBL_Qb」を追加すると図8のようになる。
問合せ文リストよりデータベースシステムリストを更新して{Da}となり、新たな問合せ文Q(Q1)は、図9のようになり、データベースDaからのみデータを取得する。
図2の処理フローの最初(ステップ102)に戻り、データベースシステムリストの要素が1より大きくないため、最終的に問合せ文リストはQ1を追加して{Qb→a、Q1}となり(ステップ109)、問合せ入力解析部24の処理を終了する。問合せ文リスト{Qb→a、Q1}は、Qbの実行、この実行結果をDaに追加、Q1を実行、という実行計画による実行順序で行われる。
生成された問合せ文リストに基づき、実行計画生成部27にて実行計画を策定し、問合せ実行部28にて実行される。問合せ実行部28では、「Qb→a」のようにテーブル追加が必要な場合に、図10に示すように、該当するデータベースシステムDaにテーブルを追加するとともに、データベース管理部22の物理データベース管理テーブル221及び対応する論理データベース管理テーブル222の情報を更新する。追加したテーブルは、問合せ処理実行完了時に削除することができる。
(実施例2)
次に、図1の問合せ入力解析部24における処理概要について、データベースシステム3が3個の場合について説明する。ユーザシステム1から入力される問合せ文Qについては、実施例1の場合と同じ図4に示されたものが使用される。
図11に、仮想データベースシステム管理装置2におけるデータベース管理部22の物理データベース管理テーブル221及び論理データベース管理テーブル222の構成を示す。データベースシステムリストを{Da、Db、Dc}とする。
ステップ102におけるデータベースDa、Db又はDcに対する単独データベース副問合せ文Qa、Qb、Qcは、図4の問合せ文Qに対してデータベース毎に分解することで、それぞれ図12、図13、図14となる。
ステップ103において単独データベース副問合せ文Qa、Qb又はQcの実行結果サイズを推定してSa、Sb、Scとした時に、Sa≒Sc≫Sbの関係が成り立つとする。
ステップ107における複数データベース副問合せ文Qabは、図15のようになり、複数データベース副問合せ文Qabの実行結果サイズをSabとした時に、Sa≫Sabの関係が成り立つとする。
問合せ文リストは{Qb→a}となり、単独データベース副問合せ文Qbの実行結果をデータベースDaに追加するため、論理データベース管理テーブル222のデータベースDaに「TBL_Qb」を追加し、図16のようになる。
問合せ文リストよりデータベースシステムリストを更新し、Dbが削除された{Da、Dc}となり、新たな問合せ文Q(Q1)は図17となる。
図2の処理フローの最初(ステップ102)に戻り、以下同様に、データベースDa、Dcに対する単独データベース副問合せ文Qa、Qcはそれぞれ図18、図19となり、単独データベース副問合せ文Qa、Qcの実行結果サイズをSa、Scとした時にSc≫Saの関係が成り立つとする。
問合せ文リストは{Qb→a、Qa→c}となり、単独データベース副問合せ文Qaの実行結果をデータベースDcに追加するため、論理データベース管理テーブルのデータベースDcに「TBL_Qa」を追加し、図20のようになる。
問合せ文リストよりデータベースシステムリストを更新し、Daが削除された{Dc}となり、新たな問合せ文Q(Q2)は図21となる。
再び図2の処理フローの最初(ステップ102)に戻り、データベースシステムリストの要素が1より大きくないため、最終的に問合せ文リストは、問合せ文Q2を追加して{Qb→a、Qa→c、Q2}となり、問合せ入力解析部24の処理を終了する。
上述したように、問合せ文Qに対して、データベースDbでの問合せ結果をデータベースDaに移し、次にデータベースDaでの問合せ結果をデータベースDcに移し、最後にデータベースDcで残りの問合せ処理を実行することにより、仮想データベースシステム管理装置2と各データベースシステム3間のデータ転送量を大幅に減らすことができ、その結果処理時間の大幅な短縮を見込むことができる。
上述した仮想データベースシステム管理装置、管理方法及び管理プログラムによれば、複数のデータベースシステム3が存在しそれらを統合的に扱う場合に、従来の仮想データベースシステムではボトルネックとなっていた、仮想データベースシステム管理装置2及び各データベースシステム3間での大量データのやり取りを一部解消することが可能となる。
その結果、仮想データベースシステム管理装置2における問合せ処理が効率化され、処理に長時間を要していた事態、又は、リソース不足により異常終了するような事態を回避して問合せ結果を取得することが可能となる。
1…ユーザシステム、 2…仮想データベースシステム管理装置、 3…データベースシステム、 21…データベースインタフェース部、 22…データベース管理部、 23…ユーザインタフェース部、 24…問合せ入力解析部、 25…問合せ文生成部、 26…実行結果推定部、 27…実行計画生成部、 28…問合せ実行部、 31…データベースマネジメントシステム、 32…データベース、 221…物理データベース管理テーブル、 222…論理データベース管理テーブル。

Claims (5)

  1. 複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理装置において、
    前記データベースシステム単位に副問合せ文の生成及び副問合せ文によるデータ再配置に伴う前記問合せ文の変換を行う問合せ文生成部と、
    前記問合せ文生成部が生成した副問合せ文の実行結果サイズを推定する実行結果推定部と、
    前記問合せ文生成部が生成した副問合せ文及び変換した問合せ文に対して、前記実行結果推定部が推定した実行結果サイズに基づいて副問合せ文及び変換した問合せ文の実行順序並びに副問合せ文の実行結果のデータ配置を決定する問合せ入力解析部と、
    前記問合せ入力解析部が決定した実行順序に基づいて副問合せ文及び変換した問合せ文を実行する問合せ実行部と、
    前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とが記憶されたデータベース管理部とを備え、
    前記問合せ入力解析部は、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新するとともに、
    前記問合せ入力解析部は、
    前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備え、
    前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、
    前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、
    実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する機能を備え、
    前記問合せ実行部は、
    前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う機能を備えた
    ことを特徴とする仮想データベースシステム管理装置。
  2. 前記「十分大きい」は、前記実行結果サイズの相違が二桁以上である場合であり、
    前記「ほぼ等しい」は、前記実行結果サイズの相違が一桁以下である場合である
    請求項1に記載の仮想データベースシステム管理装置。
  3. 複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理方法において、
    前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とを記憶する手順と、
    前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備えて、前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する一方、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新する手順と、
    前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う手順と、
    を含むことを特徴とする仮想データベースシステム管理方法。
  4. 請求項3に記載の各手順は、前記データベースシステム単位が一つになるまで繰り返して行う仮想データベースシステム管理方法。
  5. 請求項1に記載の各部をコンピュータ上に構築し、問合せ文実行時に中間データサイズを推定してデータベースシステム間での適切なデータ配置を決定し、前記データ配置に合わせて問合せ文を変更して実行計画を生成する処理を行う仮想データベースシステム管理プログラム。
JP2014226050A 2014-11-06 2014-11-06 仮想データベースシステム管理装置、管理方法及び管理プログラム Active JP6376947B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2016091356A JP2016091356A (ja) 2016-05-23
JP6376947B2 true JP6376947B2 (ja) 2018-08-22

Family

ID=56018721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014226050A Active JP6376947B2 (ja) 2014-11-06 2014-11-06 仮想データベースシステム管理装置、管理方法及び管理プログラム

Country Status (1)

Country Link
JP (1) JP6376947B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005822A (ja) * 2016-07-08 2018-01-11 Kddi株式会社 仮想データベースシステム管理装置、管理方法及び管理プログラム
JP6898215B2 (ja) * 2017-12-13 2021-07-07 Kddi株式会社 データベース管理装置、データベース管理方法及びデータベース管理プログラム
JP6971929B2 (ja) * 2018-07-20 2021-11-24 Kddi株式会社 問合せ文出力装置及び問合せ文出力方法
CN109240901B (zh) * 2018-08-28 2023-01-17 北京星选科技有限公司 性能分析方法、性能分析装置、存储介质和电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03208143A (ja) * 1990-01-11 1991-09-11 Oki Electric Ind Co Ltd 分散データベース処理装置
US5596744A (en) * 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
JPH1196055A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd データベースの結合処理最適化方法及び装置
JP4552242B2 (ja) * 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
JP2001331485A (ja) * 2000-05-22 2001-11-30 Mitsubishi Electric Corp 分散データベース演算処理装置

Also Published As

Publication number Publication date
JP2016091356A (ja) 2016-05-23

Similar Documents

Publication Publication Date Title
JP6578333B2 (ja) データクエリの管理
US10521427B2 (en) Managing data queries
JP6376947B2 (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
JP6157004B2 (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
Sharma et al. Stochastic Analysis of DSS Queries for a Distributed Database Design
Azez et al. JOUM: an indexing methodology for improving join in hive star schema
JP6523823B2 (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
Hüske Specification and optimization of analytical data flows
AU2017202899B2 (en) Managing data queries

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180709

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: 20180718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R150 Certificate of patent or registration of utility model

Ref document number: 6376947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150