[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6376947B2 - Virtual database system management apparatus, management method, and management program - Google Patents

Virtual database system management apparatus, management method, and management program 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
Japanese (ja)
Other versions
JP2016091356A (en
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/en
Publication of JP2016091356A publication Critical patent/JP2016091356A/en
Application granted granted Critical
Publication of JP6376947B2 publication Critical patent/JP6376947B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、複数のデータベースシステムが存在する環境において、ユーザからの問合せ文に対して、各データベースシステムで実行される副問合せ文が生成され、各副問合せ文の結果を踏まえて問合せ文の残りの処理を実行する場合に、処理の効率化を図る仮想データベースシステム管理装置、管理方法及び管理プログラムに関する。   The present invention generates a subquery to be executed in each database system in response to a query from a user in an environment where a plurality of database systems exist, and the remaining query is based on the result of each subquery. The present invention relates to a virtual database system management apparatus, a management method, and a management program that improve the efficiency of processing when the above processing is executed.

データ仮想化システム(又はマルチデータベースシステム)は、例えば特許文献1〜4に示されるように、インタフェースやデータ管理方式が異なる複数のデータベースシステムを仮想的に一つのデータベースシステムに見せるために、各データベースシステムが持つデータを論理的に統合して管理し、与えられた問合せ文に対応するデータベースシステムに副問合せ文を出力し、各データベースシステムで実行された副問合せ文の処理結果を中央に収集し、仮想スキーマ(実際の物理テーブルをユーザに提供する論理テーブルに変換する処理を定義したもの)に従って一つに統合して結果を出力するシステムとなっている。   A data virtualization system (or a multi-database system), for example, as shown in Patent Documents 1 to 4, each database is used to virtually show a plurality of database systems with different interfaces and data management methods as one database system. Data that the system has is logically integrated and managed, subquery statements are output to the database system corresponding to the given query statement, and the processing results of the subquery statements executed in each database system are collected centrally. , A system that outputs the result by integrating them into one according to a virtual schema (defining a process for converting an actual physical table into a logical table provided to a user).

これらのデータ仮想化システムにおいては、基本的に複数のデータベースシステムと接続し、複数のデータベースを物理データベースモデルとして管理し、一方、論理データベースモデルを作成して物理データベースモデルと紐付けることによって、複数の物理データベースモデルを1つの論理データベースモデルとして扱い、論理データベースモデルに対する問合せ文の実行を可能としている。   These data virtualization systems basically connect to multiple database systems and manage multiple databases as physical database models, while creating logical database models and associating them with physical database models. The physical database model is handled as one logical database model, and a query statement can be executed on the logical database model.

特開平09−091309号公報JP 09-091309 A 特開平10−307743号公報Japanese Patent Laid-Open No. 10-307743 特表2013−508857号公報Special table 2013-508857 gazette 特願2014−057080Japanese Patent Application No. 2014-057080

上述した仮想データベースシステムにおいては、ユーザから与えられた問合せ文に対して、仮想データベースシステムに接続された各データベースシステムにおいて実行可能な副問合せ文が生成・発行され、副問合せ文の処理結果を仮想データベースシステムが受け取り、さらに問合せ文の残りの処理を実行してユーザへ結果を返す。
しかしながら、問合せ文の残りの処理を実行するに際し、各データベースシステムにて実行する副問合せ文の結果によっては、仮想データベースシステムで処理すべきデータ量が膨大となり処理時間が長くなる、又は、リソース不足により処理を完了できずに異常終了することが起こり得るという問題があった。
In the above-described virtual database system, a subquery sentence that can be executed in each database system connected to the virtual database system is generated and issued for a query sentence given by a user, and the processing result of the subquery sentence is virtualized. The database system receives and executes the remaining processing of the query statement and returns the result to the user.
However, when executing the remaining processing of the query statement, depending on the result of the sub-query statement executed in each database system, the amount of data to be processed in the virtual database system becomes enormous and the processing time becomes long, or the resource is insufficient There is a problem that the process may not be completed and may end abnormally.

本発明は上記実情に鑑みて提案されたものであり、複数のデータベースシステムが存在する仮想データベースシステム管理装置の環境下において、問合せ文から各データベースシステムに対する副問合せ文を生成する場合に、データ再配置とそれに伴う問合せ文変換により処理の効率化を実現する仮想データベースシステム管理装置、仮想データベースシステム管理方法及び仮想データベースシステム管理プログラムを提供することを目的としている。   The present invention has been proposed in view of the above circumstances, and in the environment of a virtual database system management apparatus in which a plurality of database systems exist, when generating a subquery for each database system from a query, It is an object of the present invention to provide a virtual database system management apparatus, a virtual database system management method, and a virtual database system management program that realize processing efficiency by arrangement and query statement conversion associated therewith.

上記目的を達成するため本発明は、複数のデータベースシステムを扱う環境下の仮想データベースシステム管理装置において、副問合せ文の実行結果サイズを考慮した実行計画を生成することにより、仮想データベースシステム管理装置の問合せ処理を効率化する。   To achieve the above object, the present invention provides a virtual database system management apparatus in an environment that handles a plurality of database systems, by generating an execution plan in consideration of the execution result size of a subquery statement. Make query processing more efficient.

すなわち、請求項1は、複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理装置において、次の構成を備えたことを特徴としている。
前記データベースシステム単位に副問合せ文の生成及び副問合せ文によるデータ再配置に伴う前記問合せ文の変換を行う問合せ文生成部。
前記問合せ文生成部が生成した副問合せ文の実行結果サイズを推定する実行結果推定部。
前記問合せ文生成部が生成した副問合せ文及び変換した問合せ文に対して、前記実行結果推定部が推定した実行結果サイズに基づいて副問合せ文及び変換した問合せ文の実行順序並びに副問合せ文の実行結果のデータ配置を決定する問合せ入力解析部。
前記問合せ入力解析部が決定した実行順序に基づいて副問合せ文及び変換した問合せ文を実行する問合せ実行部。
更に、前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とが記憶されたデータベース管理部とを備え、
前記問合せ入力解析部は、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新するとともに、
前記問合せ入力解析部は、
前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備え、
前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、
前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、
実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する機能を備え、
前記問合せ実行部は、
前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う機能を備えたことを特徴としている。
That is, claim 1 is characterized in that a virtual database system management apparatus to which a plurality of database systems are connected and data is output according to an inquiry from a user system has the following configuration.
A query statement generation unit that performs generation of a subquery statement and conversion of the query statement accompanying data rearrangement by the subquery statement in the database system unit.
An execution result estimation unit that estimates an execution result size of the subquery generated by the query statement generation unit.
The execution order of the subquery statement and the converted query statement based on the execution result size estimated by the execution result estimation unit and the subquery statement for the subquery statement generated by the query statement generation unit and the converted query statement Query input analysis unit that determines the data layout of the execution results.
A query execution unit that executes the subquery statement and the converted query statement based on the execution order determined by the query input analysis unit;
Further, physical database management information for managing entry numbers associated with the database system and logical database information to be queried from the user system are defined, and each entry number corresponding to the physical database management information is defined. A database management unit storing logical database management information for managing and linking
The query input analysis unit updates the logical database management information by determining the execution order of the subquery statements and the data arrangement of the execution results,
The query input analysis unit
In response to a query statement from the user system, a plurality of single database subquery statements that are closed in each database of each database system are generated, and an execution result size estimated from each single database subquery statement is determined in advance. A function to align them in an order distinguished by “sufficiently large” and “substantially equal” according to the determined criteria,
A plurality of database subquery statements that are closed by a plurality of databases of each of the database systems in the query statement when one or more “sufficiently large” exist in the alignment result of the execution result size,
When the execution result size estimated from the single database subquery statement is “sufficiently large” with respect to the execution result size estimated from the multiple database subquery statement,
A function for adding a table linked to an execution result of a single database subquery statement for a single database subquery statement whose execution result size is not sufficiently large to a database corresponding to a sufficiently large execution result size of the logical database management information; Prepared,
The inquiry execution unit
It is characterized in that it has a function of performing data rearrangement for adding a table that is an execution result of the single database subquery statement to the physical database management information based on the execution order determined by the query input analysis unit.

請求項2は、請求項1の仮想データベースシステム管理装置において、
前記「十分大きい」は、前記実行結果サイズの相違が二桁以上である場合であり、
前記「ほぼ等しい」は、前記実行結果サイズの相違が一桁以下である場合である
ことを特徴としている。
Claim 2 is the virtual database system management apparatus according to claim 1 ,
The “sufficiently large” is a case where the difference in the execution result size is two or more digits,
The “substantially equal” is characterized in that the difference in the execution result size is one digit or less.

請求項3は、複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理方法において、
前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とを記憶する手順と、
前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備えて、前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する一方、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新する手順と、
前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う手順と、
を含むことを特徴としている。
Claim 3 is a virtual database system management method in which a plurality of database systems are connected and data is output in response to a query statement from a user system.
Physical database management information for managing entry numbers associated with the database system and logical database information to be queried from the user system are defined, and the corresponding entry numbers are linked to the physical database management information. A procedure for storing logical database management information to be attached and managed,
In response to a query statement from the user system, a plurality of single database subquery statements that are closed in each database of each database system are generated, and an execution result size estimated from each single database subquery statement is determined in advance. In the query statement when there is one or more “sufficiently large” in the alignment result of the execution result size, with the function of aligning in the order distinguished by “sufficiently large” and “approximately equal” according to the specified criteria A plurality of database subquery statements that are closed in a plurality of databases of each database system are generated, and an execution result size estimated from the single database subquery statement is equal to an execution result size estimated from the plurality of database subquery statements If the result size is sufficiently large, A table linked to the execution result of the single database subquery statement for the single database subquery statement is added to the database corresponding to the sufficiently large execution result size of the logical database management information, while the execution order of the subquery statements And a procedure for determining the data arrangement of the execution result and updating the logical database management information;
A procedure for performing data relocation to add a table that is an execution result of the single database subquery statement to the physical database management information based on the execution order determined by the query input analysis unit;
It is characterized by including.

請求項4の仮想データベースシステム管理方法は、請求項3に記載の各手順について、前記データベースシステム単位が一つになるまで繰り返して行うことを特徴としている。 A virtual database system management method according to a fourth aspect is characterized in that each procedure according to the third aspect is repeated until the unit of the database system becomes one.

請求項5は、請求項1に記載の各部をコンピュータ上に構築し、問合せ文実行時に中間データサイズを推定してデータベースシステム間での適切なデータ配置を決定し、前記データ配置に合わせて問合せ文を変更して実行計画を生成する処理を行う仮想データベースシステム管理プログラムであることを特徴としている。 Claim 5 builds each part according to claim 1 on a computer, estimates an intermediate data size at the time of executing a query statement, determines an appropriate data arrangement between database systems, and inquires according to the data arrangement It is a virtual database system management program that performs processing for generating an execution plan by changing a sentence.

本発明によれば、複数のデータベースシステムが存在する環境下の仮想データベースシステム管理装置において、問合せ文から各データベースシステムに対する副問合せ文を生成するに際し、各副問合せ文の実行結果サイズ(中間データサイズ)を推定してデータベースシステム間での適切なデータ配置を決定し、そのデータ配置に応じて問合せ文を変更して実行計画を生成するので、仮想データベースシステム管理装置における問合せ文の処理効率を向上させることができる。   According to the present invention, when a subquery statement for each database system is generated from a query statement in a virtual database system management apparatus in an environment where a plurality of database systems exist, the execution result size (intermediate data size) of each subquery statement is generated. ) To determine the appropriate data placement between database systems, and change the query statement according to the data placement to generate an execution plan, improving the query statement processing efficiency in the virtual database system management device Can be made.

本発明の仮想データベースシステム管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the virtual database system management apparatus of this invention. 問合せ入力解析部における処理手順を示すフローチャート図である。It is a flowchart figure which shows the process sequence in an inquiry input analysis part. 仮想データベースシステム(データベースシステムが2個)におけるデータ保持状況を示すモデル図である。It is a model figure which shows the data retention condition in a virtual database system (two database systems). 問合せ文Qのデータ図である。4 is a data diagram of an inquiry sentence Q. FIG. 副問合せ文Qaのデータ図である。It is a data figure of subquery sentence Qa. 副問合せ文Qbのデータ図である。It is a data figure of subquery sentence Qb. 副問合せ文Qabのデータ図である。It is a data figure of subquery sentence Qab. 仮想データベースシステムにおけるデータ保持状況(TBL_Qb追加時)を示すモデル図である。It is a model figure which shows the data retention condition (at the time of TBL_Qb addition) in a virtual database system. 新たな問合せ文Qのデータ図である。It is a data diagram of a new query sentence Q. 仮想データベースシステムにおけるデータ保持状況(TBL_Qb追加及び論理テーブルとの紐付け時)を示すモデル図である。It is a model figure which shows the data holding condition (at the time of TBL_Qb addition and a logical table association) in a virtual database system. 仮想データベースシステム(データベースシステムが3個)におけるデータ保持状況を示すモデル図である。It is a model figure which shows the data retention condition in a virtual database system (three database systems). 副問合せ文Qaのデータ図である。It is a data figure of subquery sentence Qa. 副問合せ文Qbのデータ図である。It is a data figure of subquery sentence Qb. 副問合せ文Qcのデータ図である。It is a data figure of subquery sentence Qc. 副問合せ文Qabのデータ図である。It is a data figure of subquery sentence Qab. 仮想データベースシステムにおけるデータ保持状況(TBL_Qb追加時)を示すモデル図である。It is a model figure which shows the data retention condition (at the time of TBL_Qb addition) in a virtual database system. 新たな問合せ文Qのデータ図である。It is a data diagram of a new query sentence Q. 副問合せ文Qaのデータ図である。It is a data figure of subquery sentence Qa. 副問合せ文Qcのデータ図である。It is a data figure of subquery sentence Qc. 仮想データベースシステムにおけるデータ保持状況(TBL_Qa追加)を示すモデル図である。It is a model figure which shows the data retention condition (TBL_Qa addition) in a virtual database system. 新たな問合せ文Qのデータ図である。It is a data diagram of a new query sentence Q.

本発明の仮想データベースシステム管理装置の実施形態の一例について、図面を参照して説明する。
仮想データベースシステムは、同一データを保有する複数のデータベースシステムが存在する環境において、ユーザの問合せ内容に応じてデータベースシステムを選択して問合せ内容を実行可能とするシステムであり、図1に示すように、ユーザが問合せ文の投稿を行うユーザシステム1と、仮想データシステム管理装置2と、仮想データシステム管理装置2が利用する1つ以上のデータベースシステム3から構成されている。ユーザシステム1、仮想データシステム管理装置2及びデータベースシステム3は、ネットワークを介して接続されている。仮想データシステム管理装置2は、仮想データベースシステム管理プログラムが格納された記録媒体やインターネットを介してソフトウエアのダウンロードによりインストールすることで、コンピュータ上に構築されている。
An example of an embodiment of a virtual database system management apparatus of the present invention will be described with reference to the drawings.
The virtual database system is a system that enables execution of query contents by selecting a database system according to the query contents of the user in an environment where a plurality of database systems having the same data exist, as shown in FIG. The system includes a user system 1 on which a user posts an inquiry, a virtual data system management device 2, and one or more database systems 3 used by the virtual data system management device 2. The user system 1, the virtual data system management device 2, and the database system 3 are connected via a network. The virtual data system management device 2 is constructed on a computer by installing it by downloading software via a recording medium storing a virtual database system management program or the Internet.

仮想データベースシステム管理装置が構築されるコンピュータは、オペレーティングシステム(OS)を含む基本プログラムや各種の基本デバイスが記憶されたROMと、各種のプログラムやデータが記憶されるハードディスクドライブ装置(HDD)と、CD−ROMやDVD等の記憶媒体からプログラムやデータを読み出すメディアドライブ装置と、プログラムを実行するCPUと、このCPUにワークエリアを提供するRAMと、入出力インターフェース(I/F)を介して接続されたディスプレイ、キーボードおよびマウス等のポインティングデバイスと、外部装置と通信するパラレル/シリアルI/Fとを主要部分とする一般的な構成を備えている。
本実施形態の仮想データベースシステム管理装置2では、仮想データベースシステム管理プログラムがシリアル/パラレルI/Fから入力、またはメディアドライブ装置で読み取られてHDDに予め記憶される。仮想データベースシステム管理プログラムは記憶媒体に記憶され、メディアドライブ装置で読み取られてHDDにインストールされる。
The computer in which the virtual database system management apparatus is constructed includes a ROM that stores a basic program including an operating system (OS) and various basic devices, a hard disk drive (HDD) that stores various programs and data, A media drive device that reads programs and data from a storage medium such as a CD-ROM or DVD, a CPU that executes the programs, a RAM that provides a work area for the CPU, and an input / output interface (I / F) A general configuration mainly includes a pointing device such as a display, a keyboard and a mouse, and a parallel / serial I / F communicating with an external device.
In the virtual database system management apparatus 2 of the present embodiment, a virtual database system management program is input from a serial / parallel I / F or read by a media drive device and stored in advance in an HDD. The virtual database system management program is stored in a storage medium, read by the media drive device, and installed in the HDD.

コンピュータ上に構築された仮想データベースシステム管理装置2は、複数のデータベースシステム3が存在する環境において、ユーザからのアクセス対象となる論理データベース情報(データベース、テーブル)を定義し、それらに対し、各データベースシステムにおける1つあるいは複数のデータベースマネジメントシステム、データベース、テーブルの組を割り当てる。   A virtual database system management device 2 constructed on a computer defines logical database information (database, table) to be accessed by a user in an environment where a plurality of database systems 3 exist, and each database Assign one or more database management systems, databases, and table sets in the system.

ユーザシステム1は、仮想データベースシステム管理装置2が提供する統合データモデルを利用した問合せ文を投稿することで、透過的に複数のデータベースシステム3に対する問合せ文の処理結果を取得する。   The user system 1 transparently acquires query statement processing results for a plurality of database systems 3 by posting a query statement using an integrated data model provided by the virtual database system management device 2.

データベースシステム3は、実際にデータを保管するデータベース31と、データに対する処理を提供するデータベースマネジメントシステム32からなり、データベースマネジメントシステム32が持つインタフェース経由でデータベース31上のデータに対する処理を提供する。   The database system 3 includes a database 31 that actually stores data and a database management system 32 that provides processing for the data. The database system 3 provides processing for data on the database 31 via an interface of the database management system 32.

仮想データベースシステム管理装置2は、複数のデータベースシステム3と接続されるデータベースインタフェース部21と、データベースインタフェース部21を介して各データベースシステム3の情報を取得し管理するデータベース管理部22と、問合せ文生成部25と、ユーザシステム1との入出力を行うユーザインタフェース部23と、ユーザシステム1からの問合せ文の解析を行う問合せ入力解析部24と、問合せ文から各データベースシステム3への副問合せ文の生成を行う問合せ文生成部25と、副問合せ文の実行結果サイズを推定する実行結果推定部26と、一連の副問合せ文の実行計画を生成する実行計画生成部27と、副問合せ文を実行する問合せ実行部28と、を備えて構成されている。   The virtual database system management device 2 includes a database interface unit 21 connected to a plurality of database systems 3, a database management unit 22 that acquires and manages information of each database system 3 via the database interface unit 21, and a query statement generation A user interface unit 23 that inputs / outputs from / to the user system 1, a query input analysis unit 24 that analyzes a query statement from the user system 1, and a subquery statement from the query statement to each database system 3. A query statement generation unit 25 that performs generation, an execution result estimation unit 26 that estimates an execution result size of a subquery statement, an execution plan generation unit 27 that generates an execution plan of a series of subquery statements, and a subquery statement And an inquiry execution unit 28.

データベース管理部22は、データベース31に関連付けたエントリ番号を管理する物理データベース管理テーブル221と、ユーザシステム1からのアクセス対象となる論理データベース情報を定義し、物理データベース管理テーブル221のデータに対して、対応する各エントリ番号を紐付けて管理する論理データベース管理テーブル222を備えることで、各データベースシステム3の情報を管理している。   The database management unit 22 defines a physical database management table 221 for managing entry numbers associated with the database 31 and logical database information to be accessed from the user system 1. For the data in the physical database management table 221, Information of each database system 3 is managed by providing a logical database management table 222 that links and manages corresponding entry numbers.

物理データベース管理テーブル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)が設定されている。
An example of linking between data in the physical database management table 221 and the logical database management table 222 is shown in FIG.
Two databases 31 (Da and Db) are connected to the virtual database system management apparatus 2, the database Da has a table lineitem, and the database Db has tables customer and orders.
In the physical database management table 221, entry numbers (P1 to P3) for association, database type (Da or Db), and table type (lineitem, customer, orders) in the database are managed as database information. . In the logical database management table 222, logical database information (database, table) to be accessed from the user system 1 is managed, and information managed by linking each corresponding entry number to the data of the physical database management table 221. Link items (P1 to P3) are set.

問合せ入力解析部24は、ユーザインタフェース部23を介して入力された問合せ文の構文を解析し、解析結果を実行計画生成部27へ出力する。また、問合せ入力解析部24は、問合せ文の構文解析に際して、ユーザシステム1から入力された問合せ文に対して、副問合せ文の実行順序及び副問合せ文の実行結果のデータ配置を決定する。実行順序の決定及びデータ配置の決定に関する問合せ入力解析部24における処理については後述する。   The query input analysis unit 24 analyzes the syntax of the query sentence input via the user interface unit 23 and outputs the analysis result to the execution plan generation unit 27. Further, the query input analysis unit 24 determines the execution order of the sub-query sentence and the data arrangement of the execution result of the sub-query sentence with respect to the query sentence input from the user system 1 during the syntax analysis of the query sentence. Processing in the query input analysis unit 24 regarding determination of execution order and determination of data arrangement will be described later.

問合せ文生成部25は、問合せ入力解析部24から呼び出され、データベース単位の副問合せ文(単独データベース副問合せ文)の生成、及び、副問合せ文によるデータ再配置に伴う問合せ文の変換を行う。
実行結果推定部26は、問合せ入力解析部24から呼び出され、与えられた副問合せ文の実行結果サイズを推定する。
実行計画生成部27は、問合せ入力解析部24により決定された一連の問合せ文(副問合せ文と変換した問合せ文)の実行計画を生成する。
The query statement generation unit 25 is called from the query input analysis unit 24, generates a subquery statement (single database subquery statement) in units of database, and converts a query statement accompanying data rearrangement by the subquery statement.
The execution result estimation unit 26 is called from the query input analysis unit 24 and estimates the execution result size of a given subquery.
The execution plan generation unit 27 generates an execution plan for a series of query statements (query statements converted into sub-query statements) determined by the query input analysis unit 24.

問合せ実行部28は、実行計画生成部27にて生成された実行計画を実行し、データベースインタフェース部21を介して副問合せ文を実行し、実行結果についてユーザインタフェース部23を介してユーザシステム1へ出力する。   The query execution unit 28 executes the execution plan generated by the execution plan generation unit 27, executes the subquery statement via the database interface unit 21, and sends the execution result to the user system 1 via the user interface unit 23. Output.

次に、仮想データベースシステム管理装置2において、ユーザインタフェース部23を介してユーザシステム1から入力された問合せ文に対する問合せ入力解析部24での詳細処理(仮想データベースシステム管理方法)について、図2のフローチャートを参照して説明する。   Next, in the virtual database system management apparatus 2, the detailed processing (virtual database system management method) in the query input analysis unit 24 for the query text input from the user system 1 via the user interface unit 23 is shown in the flowchart of FIG. Will be described with reference to FIG.

先ず、ユーザシステム1から入力された問合せ文をQとし、問合せ文Qを構成するデータベースシステムリストを{Di}とし、問合せ文リストを{ }とする(ステップ101)。データベースシステムリストは、仮想データベースシステム管理装置2に接続されるデータベース31の要素で構成される。問合せ文リストは、当初、空集合となっている。
データベースシステムリスト{Di}の要素数iが1より大きいか否かを判断する(ステップ102)。
要素数iが1より大きい場合、データベースシステムリスト{Di}の各要素Diについて、問合せ文生成部25により問合せ文QにおいてDiに対応する単独データベース副問合せ文Qiを生成する(ステップ103)。「QにおいてDiに対応する」とは、問合せ文QにおいてDiに閉じた選択/射影/結合の演算を意味する。
First, a query sentence input from the user system 1 is set as Q, a database system list constituting the query sentence Q is set as {Di}, and a query sentence list is set as {} (step 101). The database system list includes elements of the database 31 connected to the virtual database system management apparatus 2. The query statement list is initially an empty set.
It is determined whether or not the number i of elements in the database system list {Di} is greater than 1 (step 102).
If the number of elements i is greater than 1, for each element Di in the database system list {Di}, the query statement generator 25 generates a single database subquery statement Qi corresponding to Di in the query statement Q (step 103). “Corresponding to Di in Q” means a selection / projection / join operation that is closed to Di in the query sentence Q.

次に、{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桁以下の違いを意味する場合もある。
Next, the execution result size Si of Qi is estimated from the execution result estimation unit 26 for each element Qi of {Qi} (step 104). The execution result size need only be known and need not be exact.
The elements of the execution result size {Si} are aligned in the order of “>> (sufficiently large)” and “≈ (approximately equal)” (step 105). Therefore, A >> B means “A is sufficiently larger than B”, and A≈B means “A is almost equal to B (A >> B or B >> A is not)”.
Note that “>> (sufficiently large)” and “≈ (approximately equal)” are classified according to a predetermined criterion. For example, “>> (sufficiently large)” means that the execution result size is 1 MB or more and a difference of about two digits. For example, when one execution result size is 1 MB and the other execution result size is 100 MB, it is determined to be “sufficiently large”. If the execution result sizes are smaller than 1 MB or the difference in execution result size is one digit or less, the result is classified as “substantially equal”.
Depending on the execution result size, “>> (sufficiently large)” may mean a difference of about 3 digits, and “approximately equal” may mean a difference of 2 digits or less.

各要素Qiの実行結果サイズSiを整列した結果、Si間に1つ以上「≫」が存在するか否かを判断する(ステップ106)   As a result of arranging the execution result sizes Si of the elements Qi, it is determined whether or not one or more “>>” exists between Si (step 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に項目を追加する。
If there are one or more “>>” in the Si alignment result, one of the top elements is selected as Sa. The following processes (1) to (3) are executed for all Sb satisfying Sa >> Sb (step 107).
(1) A plurality of database subqueries corresponding to the database Da and the database Db in the query sentence Q by the query sentence generation unit 25 (only for selection / projection / join operations closed to Da and Db in the query sentence Q) A sentence Qab is generated.
(2) The execution result estimation unit 26 estimates the execution result size Sab of the multiple database subquery statements Qab.
(3) If Sa >> Sab, “Qb → a” is added to the query statement list {}. “Qb → a” means that the execution result of the single database subquery Qb in the database Db is added to the database Da, and an item is added to the logical database management table 222 of the database management unit 22.

データベースシステムリスト{Di}より問合せ文リストの全ての要素に対するデータベースDbを削除し、問合せ文生成部25により問合せ文Qにおいて{Di}に対応する問合せ文を生成し(副問合せ文によるデータ再配置に伴う問い合わせ文の変換)、新たな問合せ文Qとする(ステップ108)。「問合せ文Qにおいて{Di}に対応する」とは、問合せ文Qを{Di}の要素のみで書き換えることを意味する。   The database Db for all elements in the query statement list is deleted from the database system list {Di}, and the query statement generator 25 generates a query statement corresponding to {Di} in the query statement Q (data relocation by subquery statement) Conversion of the inquiry sentence associated with the new inquiry sentence Q) (step 108). “Corresponding to {Di} in the query sentence Q” means that the query sentence Q is rewritten with only the elements of {Di}.

ステップ106においてSiの整列結果に「≫」が1つも存在しない場合、又は、ステップ102において{Di}の要素数iが1である場合、データベースシステムリスト{Di}の各要素Diについて、問合せ文生成部25により問合せ文QにおいてDiに対応する副問合せ文Qiと、全ての副問合せ文Qiを実行後に仮想データベースシステム上で実行する問合せ文Qvを生成し、問合せ文リストに追加する(ステップ109)。ただし{Di}の要素数が1の場合は、Qi=QとなりQのみを問合せ文リストに追加する。   If there is no “>>” in the Si alignment result in step 106, or if the number i of elements in {Di} is 1 in step 102, the query statement for each element Di in the database system list {Di} The generation unit 25 generates a subquery sentence Qi corresponding to Di in the query sentence Q and a query sentence Qv to be executed on the virtual database system after executing all the subquery sentences Qi and adds them to the query sentence list (step 109). ). However, when the number of elements of {Di} is 1, Qi = Q and only Q is added to the query statement list.

以下、TPC−HベンチマークのQ3(TPC−Hベンチマーク22種のうちの一つ)を例として、図1の問合せ入力解析部24における具体的な処理について、データベースシステム3が2個の場合の実施例(実施例1)、及び、データベースシステム3が3個の場合の実施例(実施例2)を説明する。   In the following, specific processing in the query input analysis unit 24 in FIG. 1 is performed when there are two database systems 3, taking Q3 of the TPC-H benchmark (one of 22 types of TPC-H benchmarks) as an example. An example (embodiment 1) and an embodiment (embodiment 2) when there are three database systems 3 will be described.

(実施例1)
図3に、仮想データベースシステム管理装置2におけるデータベース管理部22の物理データベース管理テーブル221及び論理データベース管理テーブル222の構成を示す。図4に、ユーザシステム1から入力される問合せ文Qを示す。データベースシステムリストは、仮想データベースシステム管理装置2に接続されたデータベースの種類となる{Da、Db}とする。
Example 1
FIG. 3 shows the configuration of the physical database management table 221 and the logical database management table 222 of the database management unit 22 in the virtual database system management apparatus 2. FIG. 4 shows a query sentence Q input from the user system 1. The database system list is {Da, Db}, which is the type of database connected to the virtual database system management apparatus 2.

ステップ102におけるデータベースDa又はデータベースDbに対する単独データベース副問合せ文Qa、Qbは、図4の問合せ文Qに対して各データベース単独で実行できるように分解することで、それぞれ図5、図6となる。
ステップ103において、単独データベース副問合せ文Qa、Qbの実行結果サイズを推定してSa、Sbとした時に、Sa≫Sbの関係が成り立つとする。Sa≫Sbの関係が成り立つ場合、副問合せ文Qaの実行結果が副問合せ文Qbに比べて十分大きく、仮想データベースシステム管理装置2の処理におけるボトルネックになり得ることを示している。
The single database subquery statements Qa and Qb for the database Da or the database Db in step 102 are respectively decomposed so that each database can be executed on the query statement Q of FIG.
Assume that the relationship of Sa >> Sb holds when the execution result sizes of the single database subquery statements Qa and Qb are estimated as Sa and Sb in step 103. When the relationship of Sa >> Sb is established, the execution result of the subquery sentence Qa is sufficiently larger than that of the subquery sentence Qb, which indicates that it can become a bottleneck in the processing of the virtual database system management apparatus 2.

ステップ107で生成されたデータベースDa及びDbに対応する複数データベース副問合せ文Qabは、図7のようになる。副問合せ文Qabの実行結果サイズを推定してSabとした時に、Sa≫Sabの関係が成り立つとする。
Sa≫Sabの関係が成り立つ場合、データベースDa及びDbを対象とする複数データベース問合せ文の実行結果サイズが、データベースDaのみを対象とする単独データベース問合せ文の結果よりも十分小さいことを示しているので、単独データベース副問合せ文Qbの結果をデータベースDaに移して複数データベース副問合せ文Qabを実行することにより、仮想データベースシステム管理装置2への負担を大幅に削減できる。
The multi-database subquery sentence Qab corresponding to the databases Da and Db generated in step 107 is as shown in FIG. Assume that the relationship of Sa >> Sab holds when the execution result size of the subquery Qab is estimated to be Sab.
When the relationship of Sa >> Sab holds, the execution result size of the multiple database query statements that target the databases Da and Db is sufficiently smaller than the result of the single database query statement that targets only the database Da. The burden on the virtual database system management apparatus 2 can be greatly reduced by moving the result of the single database subquery sentence Qb to the database Da and executing the plurality of database subquery sentences Qab.

また、Sa≫Sabの関係が成り立つ場合、問合せ文リストは{Qb→a}となり、単独データベース副問合せ文Qbの実行結果「TBL_Qb」をデータベースDaに追加するため、論理データベース管理テーブル222のデータベースDaに「TBL_Qb」を追加すると図8のようになる。
問合せ文リストよりデータベースシステムリストを更新して{Da}となり、新たな問合せ文Q(Q1)は、図9のようになり、データベースDaからのみデータを取得する。
When the relationship of Sa >> Sab is satisfied, the query statement list is {Qb → a}, and the execution result “TBL_Qb” of the single database subquery statement Qb is added to the database Da. When “TBL_Qb” is added to the table, the result is as shown in FIG.
The database system list is updated from the query statement list to become {Da}, and the new query statement Q (Q1) is as shown in FIG. 9, and data is acquired only from the database Da.

図2の処理フローの最初(ステップ102)に戻り、データベースシステムリストの要素が1より大きくないため、最終的に問合せ文リストはQ1を追加して{Qb→a、Q1}となり(ステップ109)、問合せ入力解析部24の処理を終了する。問合せ文リスト{Qb→a、Q1}は、Qbの実行、この実行結果をDaに追加、Q1を実行、という実行計画による実行順序で行われる。   Returning to the beginning of the processing flow of FIG. 2 (step 102), since the elements of the database system list are not larger than 1, finally the query statement list is added with Q1 to become {Qb → a, Q1} (step 109). Then, the processing of the inquiry input analysis unit 24 is finished. The query statement list {Qb → a, Q1} is executed in the execution order according to the execution plan of executing Qb, adding this execution result to Da, and executing Q1.

生成された問合せ文リストに基づき、実行計画生成部27にて実行計画を策定し、問合せ実行部28にて実行される。問合せ実行部28では、「Qb→a」のようにテーブル追加が必要な場合に、図10に示すように、該当するデータベースシステムDaにテーブルを追加するとともに、データベース管理部22の物理データベース管理テーブル221及び対応する論理データベース管理テーブル222の情報を更新する。追加したテーブルは、問合せ処理実行完了時に削除することができる。   Based on the generated query statement list, the execution plan generation unit 27 formulates an execution plan and the query execution unit 28 executes the execution plan. The query execution unit 28 adds a table to the corresponding database system Da as shown in FIG. 10 and adds a physical database management table of the database management unit 22 when it is necessary to add a table such as “Qb → a”. 221 and the corresponding information in the logical database management table 222 are updated. The added table can be deleted when the execution of the query process is completed.

(実施例2)
次に、図1の問合せ入力解析部24における処理概要について、データベースシステム3が3個の場合について説明する。ユーザシステム1から入力される問合せ文Qについては、実施例1の場合と同じ図4に示されたものが使用される。
(Example 2)
Next, the processing outline in the query input analysis unit 24 in FIG. 1 will be described for a case where there are three database systems 3. As for the query sentence Q inputted from the user system 1, the same one shown in FIG. 4 as in the first embodiment is used.

図11に、仮想データベースシステム管理装置2におけるデータベース管理部22の物理データベース管理テーブル221及び論理データベース管理テーブル222の構成を示す。データベースシステムリストを{Da、Db、Dc}とする。
ステップ102におけるデータベースDa、Db又はDcに対する単独データベース副問合せ文Qa、Qb、Qcは、図4の問合せ文Qに対してデータベース毎に分解することで、それぞれ図12、図13、図14となる。
FIG. 11 shows the configuration of the physical database management table 221 and the logical database management table 222 of the database management unit 22 in the virtual database system management apparatus 2. Let the database system list be {Da, Db, Dc}.
The single database sub-query statements Qa, Qb, and Qc for the database Da, Db, or Dc in step 102 are respectively decomposed for each database with respect to the query statement Q of FIG. 4 to become FIGS. 12, 13, and 14, respectively. .

ステップ103において単独データベース副問合せ文Qa、Qb又はQcの実行結果サイズを推定してSa、Sb、Scとした時に、Sa≒Sc≫Sbの関係が成り立つとする。
ステップ107における複数データベース副問合せ文Qabは、図15のようになり、複数データベース副問合せ文Qabの実行結果サイズをSabとした時に、Sa≫Sabの関係が成り立つとする。
Assume that the relationship Sa≈Sc >> Sb holds when the execution result size of the single database subquery Qa, Qb, or Qc is estimated to be Sa, Sb, Sc in step 103.
The multiple database subquery statement Qab in step 107 is as shown in FIG. 15, and when the execution result size of the multiple database subquery statement Qab is Sab, the relationship of Sa >> Sab is established.

問合せ文リストは{Qb→a}となり、単独データベース副問合せ文Qbの実行結果をデータベースDaに追加するため、論理データベース管理テーブル222のデータベースDaに「TBL_Qb」を追加し、図16のようになる。
問合せ文リストよりデータベースシステムリストを更新し、Dbが削除された{Da、Dc}となり、新たな問合せ文Q(Q1)は図17となる。
The query statement list is {Qb → a}, and “TBL_Qb” is added to the database Da in the logical database management table 222 to add the execution result of the single database subquery Qb to the database Da, as shown in FIG. .
The database system list is updated from the query statement list, Db is deleted as {Da, Dc}, and the new query statement Q (Q1) is as shown in FIG.

図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となる。
Returning to the beginning of the processing flow of FIG. 2 (step 102), similarly, the single database subquery statements Qa and Qc for the databases Da and Dc are respectively shown in FIGS. 18 and 19, and the single database subquery statements Qa and Qc are executed. It is assumed that the relationship Sc >> Sa is satisfied when the result size is Sa and Sc.
The query statement list is {Qb → a, Qa → c}, and “TBL_Qa” is added to the database Dc of the logical database management table in order to add the execution result of the single database subquery Qa to the database Dc. It becomes like this.
The database system list is updated from the query statement list, Da is deleted {Dc}, and the new query statement Q (Q2) is as shown in FIG.

再び図2の処理フローの最初(ステップ102)に戻り、データベースシステムリストの要素が1より大きくないため、最終的に問合せ文リストは、問合せ文Q2を追加して{Qb→a、Qa→c、Q2}となり、問合せ入力解析部24の処理を終了する。   Returning again to the beginning of the processing flow of FIG. 2 (step 102), since the elements of the database system list are not greater than 1, the query statement list finally adds the query statement Q2, {Qb → a, Qa → c , Q2}, and the processing of the query input analysis unit 24 is finished.

上述したように、問合せ文Qに対して、データベースDbでの問合せ結果をデータベースDaに移し、次にデータベースDaでの問合せ結果をデータベースDcに移し、最後にデータベースDcで残りの問合せ処理を実行することにより、仮想データベースシステム管理装置2と各データベースシステム3間のデータ転送量を大幅に減らすことができ、その結果処理時間の大幅な短縮を見込むことができる。   As described above, with respect to the query statement Q, the query result in the database Db is moved to the database Da, the query result in the database Da is then moved to the database Dc, and finally the remaining query processing is executed in the database Dc. As a result, the amount of data transferred between the virtual database system management apparatus 2 and each database system 3 can be greatly reduced, and as a result, the processing time can be expected to be greatly reduced.

上述した仮想データベースシステム管理装置、管理方法及び管理プログラムによれば、複数のデータベースシステム3が存在しそれらを統合的に扱う場合に、従来の仮想データベースシステムではボトルネックとなっていた、仮想データベースシステム管理装置2及び各データベースシステム3間での大量データのやり取りを一部解消することが可能となる。
その結果、仮想データベースシステム管理装置2における問合せ処理が効率化され、処理に長時間を要していた事態、又は、リソース不足により異常終了するような事態を回避して問合せ結果を取得することが可能となる。
According to the above-described virtual database system management device, management method, and management program, when there are a plurality of database systems 3 and they are handled in an integrated manner, the virtual database system has become a bottleneck in the conventional virtual database system Part of the exchange of large amounts of data between the management apparatus 2 and each database system 3 can be eliminated.
As a result, the query processing in the virtual database system management apparatus 2 is made more efficient, and it is possible to avoid the situation where the process takes a long time or the situation where the process ends abnormally due to a lack of resources, and the query result can be obtained. It becomes possible.

1…ユーザシステム、 2…仮想データベースシステム管理装置、 3…データベースシステム、 21…データベースインタフェース部、 22…データベース管理部、 23…ユーザインタフェース部、 24…問合せ入力解析部、 25…問合せ文生成部、 26…実行結果推定部、 27…実行計画生成部、 28…問合せ実行部、 31…データベースマネジメントシステム、 32…データベース、 221…物理データベース管理テーブル、 222…論理データベース管理テーブル。   DESCRIPTION OF SYMBOLS 1 ... User system, 2 ... Virtual database system management apparatus, 3 ... Database system, 21 ... Database interface part, 22 ... Database management part, 23 ... User interface part, 24 ... Query input analysis part, 25 ... Query sentence generation part, 26 ... Execution result estimation unit, 27 ... Execution plan generation unit, 28 ... Query execution unit, 31 ... Database management system, 32 ... Database, 221 ... Physical database management table, 222 ... Logical database management table

Claims (5)

複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理装置において、
前記データベースシステム単位に副問合せ文の生成及び副問合せ文によるデータ再配置に伴う前記問合せ文の変換を行う問合せ文生成部と、
前記問合せ文生成部が生成した副問合せ文の実行結果サイズを推定する実行結果推定部と、
前記問合せ文生成部が生成した副問合せ文及び変換した問合せ文に対して、前記実行結果推定部が推定した実行結果サイズに基づいて副問合せ文及び変換した問合せ文の実行順序並びに副問合せ文の実行結果のデータ配置を決定する問合せ入力解析部と、
前記問合せ入力解析部が決定した実行順序に基づいて副問合せ文及び変換した問合せ文を実行する問合せ実行部と、
前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とが記憶されたデータベース管理部とを備え、
前記問合せ入力解析部は、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新するとともに、
前記問合せ入力解析部は、
前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備え、
前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、
前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、
実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する機能を備え、
前記問合せ実行部は、
前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う機能を備えた
ことを特徴とする仮想データベースシステム管理装置。
In a virtual database system management apparatus in which a plurality of database systems are connected and data is output according to an inquiry from a user system,
A query statement generation unit for generating a subquery statement in the database system unit and converting the query statement accompanying data relocation by the subquery statement;
An execution result estimation unit for estimating the execution result size of the subquery generated by the query statement generation unit;
The execution order of the subquery statement and the converted query statement based on the execution result size estimated by the execution result estimation unit and the subquery statement for the subquery statement generated by the query statement generation unit and the converted query statement A query input analyzer that determines the data placement of the execution results;
A query execution unit that executes the subquery and the converted query statement based on the execution order determined by the query input analysis unit;
Physical database management information for managing entry numbers associated with the database system and logical database information to be queried from the user system are defined, and the corresponding entry numbers are linked to the physical database management information. And a database management unit storing logical database management information to be managed,
The query input analysis unit updates the logical database management information by determining the execution order of the subquery statements and the data arrangement of the execution results,
The query input analysis unit
In response to a query statement from the user system, a plurality of single database subquery statements that are closed in each database of each database system are generated, and an execution result size estimated from each single database subquery statement is determined in advance. A function to align them in an order distinguished by “sufficiently large” and “substantially equal” according to the determined criteria,
A plurality of database subquery statements that are closed by a plurality of databases of each of the database systems in the query statement when one or more “sufficiently large” exist in the alignment result of the execution result size,
When the execution result size estimated from the single database subquery statement is “sufficiently large” with respect to the execution result size estimated from the multiple database subquery statement,
A function for adding a table linked to an execution result of a single database subquery statement for a single database subquery statement whose execution result size is not sufficiently large to a database corresponding to a sufficiently large execution result size of the logical database management information; Prepared,
The inquiry execution unit
A function of performing data relocation for adding a table, which is an execution result of the single database subquery statement, to the physical database management information based on an execution order determined by the query input analysis unit. A virtual database system management device.
前記「十分大きい」は、前記実行結果サイズの相違が二桁以上である場合であり、
前記「ほぼ等しい」は、前記実行結果サイズの相違が一桁以下である場合である
請求項1に記載の仮想データベースシステム管理装置。
The “sufficiently large” is a case where the difference in the execution result size is two or more digits,
The “substantially equal” is a case where the difference in the execution result size is one digit or less.
The virtual database system management apparatus according to claim 1 .
複数のデータベースシステムが接続され、ユーザシステムからの問合せ文に応じてデータが出力される仮想データベースシステム管理方法において、
前記データベースシステムに関連付けたエントリ番号を管理する物理データベース管理情報と、前記ユーザシステムからの問合せ対象となる論理データベース情報を定義し、前記物理データベース管理情報に対して、対応する前記各エントリ番号を紐付けて管理する論理データベース管理情報とを記憶する手順と、
前記ユーザシステムからの問合せ文に対して、前記各データベースシステムの各データベースで閉じられる複数の単独データベース副問合せ文を生成し、前記各単独データベース副問合せ文から推定される実行結果サイズについて、予め決められた基準により「十分大きい」及び「ほぼ等しい」で区別される順序で整列させる機能を備えて、前記実行結果サイズの整列結果に「十分大きい」が1つ以上存在する場合で前記問合せ文において前記各データベースシステムの複数のデータベースで閉じられる複数データベース副問合せ文を生成し、前記単独データベース副問合せ文から推定される実行結果サイズが前記複数データベース副問合せ文から推定される実行結果サイズに対して「十分大きい」場合に、実行結果サイズが十分大きい方でない単独データベース副問合せ文に対する単独データベース副問合せ文の実行結果にリンクするテーブルを、前記論理データベース管理情報の実行結果サイズが十分大きい方に対応するデータベースに追加する一方、前記副問合せ文の実行順序及び実行結果のデータ配置を決定して前記論理データベース管理情報を更新する手順と、
前記問合せ入力解析部が決定した実行順序に基づいて前記単独データベース副問合せ文の実行結果となるテーブルを前記物理データベース管理情報に追加するデータ再配置を行う手順と、
を含むことを特徴とする仮想データベースシステム管理方法。
In a virtual database system management method in which a plurality of database systems are connected and data is output according to a query statement from a user system,
Physical database management information for managing entry numbers associated with the database system and logical database information to be queried from the user system are defined, and the corresponding entry numbers are linked to the physical database management information. A procedure for storing logical database management information to be attached and managed,
In response to a query statement from the user system, a plurality of single database subquery statements that are closed in each database of each database system are generated, and an execution result size estimated from each single database subquery statement is determined in advance. In the query statement when there is one or more “sufficiently large” in the alignment result of the execution result size, with the function of aligning in the order distinguished by “sufficiently large” and “approximately equal” according to the specified criteria A plurality of database subquery statements that are closed in a plurality of databases of each database system are generated, and an execution result size estimated from the single database subquery statement is equal to an execution result size estimated from the plurality of database subquery statements If the result size is sufficiently large, A table linked to the execution result of the single database subquery statement for the single database subquery statement is added to the database corresponding to the sufficiently large execution result size of the logical database management information, while the execution order of the subquery statements And a procedure for determining the data arrangement of the execution result and updating the logical database management information;
A procedure for performing data relocation to add a table that is an execution result of the single database subquery statement to the physical database management information based on the execution order determined by the query input analysis unit;
A virtual database system management method comprising:
請求項3に記載の各手順は、前記データベースシステム単位が一つになるまで繰り返して行う仮想データベースシステム管理方法。 4. A virtual database system management method in which each procedure according to claim 3 is repeatedly performed until the number of database system units becomes one. 請求項1に記載の各部をコンピュータ上に構築し、問合せ文実行時に中間データサイズを推定してデータベースシステム間での適切なデータ配置を決定し、前記データ配置に合わせて問合せ文を変更して実行計画を生成する処理を行う仮想データベースシステム管理プログラム。   Each part according to claim 1 is constructed on a computer, an intermediate data size is estimated at the time of executing a query statement, an appropriate data arrangement between database systems is determined, and the query sentence is changed according to the data arrangement A virtual database system management program that performs processing to generate an execution plan.
JP2014226050A 2014-11-06 2014-11-06 Virtual database system management apparatus, management method, and management program Active JP6376947B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014226050A JP6376947B2 (en) 2014-11-06 2014-11-06 Virtual database system management apparatus, management method, and management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014226050A JP6376947B2 (en) 2014-11-06 2014-11-06 Virtual database system management apparatus, management method, and management program

Publications (2)

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

Family

ID=56018721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014226050A Active JP6376947B2 (en) 2014-11-06 2014-11-06 Virtual database system management apparatus, management method, and management program

Country Status (1)

Country Link
JP (1) JP6376947B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005822A (en) * 2016-07-08 2018-01-11 Kddi株式会社 Virtual database system management device, management method and management program
JP6898215B2 (en) * 2017-12-13 2021-07-07 Kddi株式会社 Database management device, database management method and database management program
JP6971929B2 (en) * 2018-07-20 2021-11-24 Kddi株式会社 Inquiry statement output device and inquiry statement output method
CN109240901B (en) * 2018-08-28 2023-01-17 北京星选科技有限公司 Performance analysis method, performance analysis device, storage medium, and electronic apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03208143A (en) * 1990-01-11 1991-09-11 Oki Electric Ind Co Ltd Distributed data base processor
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 (en) * 1997-09-19 1999-04-09 Hitachi Ltd Method and device for optimizing connection processing of data base
JP4552242B2 (en) * 1999-10-06 2010-09-29 株式会社日立製作所 Virtual table interface and query processing system and method using the interface
JP2001331485A (en) * 2000-05-22 2001-11-30 Mitsubishi Electric Corp Distributed data base arithmetic processor

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6578333B2 (en) Managing data queries
US10521427B2 (en) Managing data queries
JP6376947B2 (en) Virtual database system management apparatus, management method, and management program
JP6262505B2 (en) Distributed data virtualization system, query processing method, and query processing program
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 (en) Virtual database system management apparatus, management method and management program
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