JPWO2016132433A1 - Data management apparatus, data management method, and data management program - Google Patents

Data management apparatus, data management method, and data management program Download PDF

Info

Publication number
JPWO2016132433A1
JPWO2016132433A1 JP2017500153A JP2017500153A JPWO2016132433A1 JP WO2016132433 A1 JPWO2016132433 A1 JP WO2016132433A1 JP 2017500153 A JP2017500153 A JP 2017500153A JP 2017500153 A JP2017500153 A JP 2017500153A JP WO2016132433 A1 JPWO2016132433 A1 JP WO2016132433A1
Authority
JP
Japan
Prior art keywords
query statement
external database
search condition
external
search
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.)
Granted
Application number
JP2017500153A
Other languages
Japanese (ja)
Other versions
JP6309155B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2016132433A1 publication Critical patent/JPWO2016132433A1/en
Application granted granted Critical
Publication of JP6309155B2 publication Critical patent/JP6309155B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Abstract

データ記憶部(111)は、外部データベース(150)で実行可能な演算が定義されている外部表演算ルール(130)を記憶する。検索条件受信部(1031)は、検索条件(301)を受信する。問合せ文生成部(105)は、検索条件(301)で外部データベース(150)に格納されているデータの検索と検索されたデータを用いた演算とが要求されている場合に、外部表演算ルール(130)に基づき、検索条件(301)で要求されている演算が外部データベース(150)で実行可能であるか否かを判断し、当該演算が外部データベース(150)で実行可能である場合に、検索条件(301)で要求されている検索と演算とを外部データベース(150)に実行させる問合せ文である拡張問合せ文を生成する。問合せ実行部(1032)は、拡張問合せ文を外部データベース(150)に送信する。The data storage unit (111) stores an external table operation rule (130) in which operations that can be executed in the external database (150) are defined. The search condition receiving unit (1031) receives the search condition (301). The query statement generation unit (105), when a search of data stored in the external database (150) by the search condition (301) and an operation using the searched data are requested, Based on (130), it is determined whether or not the operation requested in the search condition (301) can be executed in the external database (150), and the operation can be executed in the external database (150). Then, an extended query statement, which is a query statement for causing the external database (150) to execute the search and operation requested by the search condition (301), is generated. The query execution unit (1032) transmits the extended query statement to the external database (150).

Description

本発明は、データベースを検索する技術に関する。   The present invention relates to a technique for searching a database.

特許文献1には、データ管理装置の管理対象外のデータを管理する外部データベースをデータ管理装置から検索する技術が開示されている。
データ管理装置は、例えば、SQL’99に準拠したDBMS(Database Management System)であり、外部データベースは、例えば、SQL’99に準拠しないDBMSである。
特許文献1の技術では、データ管理装置から外部データベースの検索を高速化するため、データ管理装置に外部データベースが保持する情報の一部を記憶させている。
そして、特許文献1の技術では、外部データベースへの検索条件がデータ管理装置に届いた場合に、データ管理装置は、データ管理装置が記憶する情報(外部データベースが保持する情報の一部)を用いて、外部データベースへの検索条件を書き換える。
特許文献1の技術では、この検索条件の書き換えにより、外部データベースをより効率的に検索できるようにしている。
Patent Document 1 discloses a technique for searching an external database that manages data that is not managed by the data management device from the data management device.
The data management device is, for example, a DBMS (Database Management System) that conforms to SQL '99, and the external database is, for example, a DBMS that does not conform to SQL '99.
In the technique of Patent Document 1, a part of information held in the external database is stored in the data management apparatus in order to speed up the search of the external database from the data management apparatus.
In the technique of Patent Document 1, when a search condition for an external database reaches the data management apparatus, the data management apparatus uses information stored in the data management apparatus (part of information held in the external database). Rewrite the search conditions to the external database.
In the technique of Patent Document 1, the external database can be searched more efficiently by rewriting the search condition.

特許文献2には、外部データベースへの検索条件の生成を効率化する技術が開示されている。
特許文献2の技術では、データ管理装置が作成した外部データベースの検索条件をデータ管理装置に保持させておく。
また、特許文献2の技術では、外部データベースへの検索条件が新たにデータ管理装置に届いた場合に、データ管理装置は、データ管理装置が保持している外部データベースへの検索条件から、新たに届いた検索条件に対応する検索条件を探索する。
そして、データ管理装置は、探索した検索条件を利用して外部データベースを検索する。
Patent Document 2 discloses a technique for improving the efficiency of generating search conditions in an external database.
In the technique of Patent Literature 2, the search condition of the external database created by the data management apparatus is held in the data management apparatus.
In the technique disclosed in Patent Document 2, when a search condition for an external database newly arrives at the data management apparatus, the data management apparatus newly starts from the search condition for the external database held by the data management apparatus. Search for search conditions corresponding to the received search conditions.
Then, the data management device searches the external database using the searched search condition.

特許第4483034号公報Japanese Patent No. 4483034 特開2003−316811号公報Japanese Patent Laid-Open No. 2003-316811

従来技術では、データ管理装置から外部データベースへの検索条件の生成を効率に行うことができ、データ管理装置への検索要求から最適な外部データベースへの検索条件を得ることが可能である。
しかしながら、データ管理装置が生成した外部データベースへの検索条件を用いてデータ管理装置が外部データベースへの検索を行うためには、データ管理装置に予め保持された外部データベースの検索結果情報を用いる必要がある。
検索結果情報は、外部データベースからの検索結果の形式が定義される情報である。
検索結果情報には、例えば、検索結果に含まれるデータが抽出された外部データベースの列名及び検索結果に含まれるデータのデータ型が示される。
従来技術では、検索結果情報と同じ形式の検索結果が得られる検索条件しか外部データベースの検索に利用することができない。
従って、外部データベースに格納されているデータの検索と検索されたデータを用いる演算とが検索条件で要求されている場合に、検索結果情報に示されるデータ型が検索条件で要求されている演算の演算結果のデータ型と異なっていれば、データ管理装置は、外部データベースに演算を要求することができず、検索結果情報に基づき、データの検索のみを外部データベースに要求し、外部データベースから検索結果を受信することなる。
そして、データ管理装置は、外部データベースから受信した検索結果を用いて、検索条件で要求されている演算を行うことになる。
しかしながら、外部データベースにデータの検索と演算の両方を実行させる場合に比べて、データ管理装置が外部データベースから検索結果を受信し、受信した検索結果を用いて演算を行うと処理速度が著しく遅くなる。
In the prior art, it is possible to efficiently generate a search condition from the data management device to the external database, and it is possible to obtain an optimal search condition to the external database from a search request to the data management device.
However, in order for the data management device to search the external database using the search condition for the external database generated by the data management device, it is necessary to use the search result information of the external database held in advance in the data management device. is there.
The search result information is information that defines the format of the search result from the external database.
The search result information indicates, for example, the column name of the external database from which the data included in the search result is extracted and the data type of the data included in the search result.
In the prior art, only search conditions that can obtain a search result in the same format as the search result information can be used for searching an external database.
Therefore, when search of data stored in the external database and calculation using the searched data are requested by the search condition, the data type indicated in the search result information is the calculation of the calculation requested by the search condition. If the data type is different from the data type of the operation result, the data management device cannot request the operation from the external database. Based on the search result information, the data management device requests only the data search from the external database. Will be received.
Then, the data management apparatus uses the search result received from the external database to perform the calculation requested by the search condition.
However, when the data management apparatus receives the search result from the external database and performs the calculation using the received search result, the processing speed is remarkably reduced as compared with the case where the external database executes both data search and calculation. .

本発明は、このような事情に鑑みたものであり、外部データベースの検索と演算とが要求されている検索条件を処理する際の処理効率を向上させることを主な目的とする。   The present invention has been made in view of such circumstances, and a main object of the present invention is to improve the processing efficiency when processing a search condition for which a search and calculation of an external database are required.

本発明に係るデータ管理装置は、
外部データベースで実行可能な演算が定義されている外部表演算ルールを記憶するデータ記憶部と、
検索条件を受信する検索条件受信部と、
前記検索条件受信部により受信された前記検索条件で前記外部データベースに格納されているデータの検索と検索されたデータを用いた演算とが要求されている場合に、前記外部表演算ルールに基づき、前記検索条件で要求されている演算が前記外部データベースで実行可能であるか否かを判断し、前記検索条件で要求されている演算が前記外部データベースで実行可能である場合に、前記検索条件で要求されている検索と演算とを前記外部データベースに実行させる問合せ文である拡張問合せ文を生成する問合せ文生成部と、
前記問合せ文生成部により生成された前記拡張問合せ文を前記外部データベースに送信する問合せ実行部とを有する。
The data management apparatus according to the present invention is
A data storage unit for storing external table operation rules in which operations that can be executed in an external database are defined;
A search condition receiver for receiving search conditions;
When a search for data stored in the external database and an operation using the searched data are requested by the search condition received by the search condition receiving unit, based on the external table operation rule, It is determined whether or not the operation requested in the search condition can be executed in the external database, and the operation requested in the search condition can be executed in the external database. A query statement generation unit that generates an extended query statement that is a query statement that causes the external database to execute the requested search and operation;
A query execution unit that transmits the extended query statement generated by the query statement generation unit to the external database.

本発明では、検索条件で要求されている演算が外部データベースで実行可能であるか否かを判断し、検索条件で要求されている演算が外部データベースで実行可能である場合に、検索条件で要求されている検索と演算とを外部データベースに実行させる拡張問合せ文を生成し、拡張問合せ文を外部データベースに送信する。
このため、本発明によれば、検索条件で要求されている検索と演算の両方を外部データベースに実行させることができ、外部データベースの検索と演算とが要求されている検索条件を処理する際の処理効率を向上させることができる。
In the present invention, it is determined whether or not the operation requested in the search condition can be executed in the external database. If the operation requested in the search condition can be executed in the external database, the request is made in the search condition. An extended query statement that causes the external database to execute the retrieved search and operation is generated, and the extended query statement is transmitted to the external database.
For this reason, according to the present invention, it is possible to cause the external database to execute both the search and the calculation requested in the search condition, and to process the search condition for which the search and the calculation of the external database are requested. Processing efficiency can be improved.

実施の形態1に係るデータ管理装置の機能モジュール構成例を示す図。FIG. 3 is a diagram illustrating a functional module configuration example of the data management apparatus according to the first embodiment. 実施の形態1に係るシステム構成例を示す図。FIG. 3 is a diagram illustrating an example of a system configuration according to the first embodiment. 実施の形態1及び2に係るデータ管理装置のハードウェア構成例を示す図。FIG. 3 is a diagram illustrating a hardware configuration example of a data management apparatus according to the first and second embodiments. 実施の形態1に係る外部表定義処理の例を示すフローチャート図。FIG. 4 is a flowchart showing an example of external table definition processing according to the first embodiment. 実施の形態1に係るデータ検索処理の例を示すフローチャート図。FIG. 3 is a flowchart showing an example of data search processing according to the first embodiment. 実施の形態1に係る外部表定義の例を示す図。FIG. 6 is a diagram showing an example of external table definition according to the first embodiment. 実施の形態1に係る外部表の例を示す図。FIG. 5 shows an example of an external table according to the first embodiment. 実施の形態1に係る問合せ文生成ルールの例を示す図。FIG. 4 is a diagram showing an example of a query statement generation rule according to the first embodiment. 実施の形態1に係る外部表演算ルールの例を示す図。FIG. 6 is a diagram showing an example of an external table calculation rule according to the first embodiment. 実施の形態1に係る外部データベース定義の例を示す図。FIG. 6 is a diagram showing an example of an external database definition according to the first embodiment. 実施の形態1に係る更新前の実行プランの例を示す図。FIG. 4 is a diagram illustrating an example of an execution plan before update according to the first embodiment. 実施の形態1に係る更新後の実行プランの例を示す図。The figure which shows the example of the execution plan after the update which concerns on Embodiment 1. FIG. 実施の形態2に係るデータ管理装置の機能モジュール構成例を示す図。FIG. 6 is a diagram illustrating a functional module configuration example of a data management apparatus according to a second embodiment. 実施の形態2に係るデータ検索処理の例を示すフローチャート図。FIG. 9 is a flowchart showing an example of data search processing according to the second embodiment. 実施の形態2に係る拡張問合せ文生成処理の例を示すフローチャート図。FIG. 9 is a flowchart showing an example of extended query statement generation processing according to the second embodiment.

実施の形態1.
本実施の形態及び以降の実施の形態では、検索条件において集約演算が指定された場合に、外部データベースの検索結果のデータ型が予め保持された外部データベースの検索結果情報と異なったとしても、外部データベースの検索条件として集約演算をpush−downし、外部データベースを効率的に検索可能とする構成を説明する。
Embodiment 1 FIG.
In the present embodiment and the subsequent embodiments, when an aggregation operation is specified in the search condition, even if the data type of the search result of the external database is different from the search result information of the external database stored in advance, the external database A configuration will be described in which an aggregation operation is push-downed as a database search condition so that an external database can be efficiently searched.

***構成の説明***
図1は、本実施の形態に係るデータ管理装置101の機能モジュール構成例を示す。
*** Explanation of configuration ***
FIG. 1 shows a functional module configuration example of the data management apparatus 101 according to the present embodiment.

データ管理装置101は、外部表定義アプリケーション200で定義された外部表定義201を受信し、受信した外部表定義201の形式を変換し、後述するデータ記憶部111に外部表定義120として格納する。
また、データ管理装置101は、外部データベース150に接続されており、データ検索アプリケーション300から検索条件301を受信し、受信した検索条件301を外部データベース150に送信する。
また、データ管理装置101は、外部データベース150から検索条件301に対する検索結果を受信し、受信した検索結果をデータ検索アプリケーション300に送信する。
The data management apparatus 101 receives the external table definition 201 defined by the external table definition application 200, converts the format of the received external table definition 201, and stores it as the external table definition 120 in the data storage unit 111 described later.
The data management apparatus 101 is connected to the external database 150, receives the search condition 301 from the data search application 300, and transmits the received search condition 301 to the external database 150.
In addition, the data management apparatus 101 receives a search result for the search condition 301 from the external database 150 and transmits the received search result to the data search application 300.

データ管理装置101は、外部表定義部102、検索制御部103、検索条件最適化部104、問合せ文生成部105及びデータ記憶部111から構成される。   The data management apparatus 101 includes an external table definition unit 102, a search control unit 103, a search condition optimization unit 104, a query statement generation unit 105, and a data storage unit 111.

外部表定義部102は、外部表定義アプリケーション200から外部表定義201を受信し、受信した外部表定義201を外部表定義120としてデータ記憶部111に格納する。
外部表定義120は、外部表定義201の形式を変換した情報である。
外部表定義201と外部表定義120は形式が異なるのみであるため、以下では外部表定義120について説明を行うが、以下の説明は外部表定義201にもあてはまる。
外部表定義120は、外部表の形式が定義されている情報である。
外部データベース150は、検索条件に対して表形式の応答をデータ管理装置101に送信する。
外部データベース150からデータ管理装置101に応答として送信される表を外部表という。
外部表定義120には、この外部表の形式が定義されている。
データ検索アプリケーション300は、外部データベース150に格納されているデータの検索のみを要求する検索条件と、外部データベースに格納されているデータの検索と検索されたデータを用いた演算とを要求する検索条件との2種類の検索条件を送信する。
前者を標準検索条件といい、後者を拡張検索条件という。
標準検索条件に対する応答として送信される外部表を標準外部表という。
拡張検索条件に対する応答として送信される外部表を拡張外部表という。
外部表定義120には、標準外部表の形式が定義されている。
外部表定義120は標準外部表定義ともいう。
外部表定義120に定義されている、標準外部表の形式を標準形式という。
一方、後述する問合せ文生成部105は、拡張外部表の形式が定義される外部表定義を生成する。
問合せ文生成部105により生成される拡張外部表の形式が定義される外部表定義を拡張外部表定義という。
また、拡張外部表定義に定義されている、拡張外部表の形式を拡張形式という。
外部データベース150は、標準検索条件及び拡張検索条件に対して表形式の応答をデータ管理装置101に送信する。
また、標準検索条件に対する外部データベース150からの応答を標準応答といい。拡張検索条件に対する外部データベース150からの応答を拡張応答という。
外部表定義120の詳細及び拡張外部表定義の詳細は後述する。
The external table definition unit 102 receives the external table definition 201 from the external table definition application 200 and stores the received external table definition 201 as the external table definition 120 in the data storage unit 111.
The external table definition 120 is information obtained by converting the format of the external table definition 201.
Since the external table definition 201 and the external table definition 120 differ only in format, the external table definition 120 will be described below. However, the following description also applies to the external table definition 201.
The external table definition 120 is information in which the format of the external table is defined.
The external database 150 transmits a tabular response to the search condition to the data management apparatus 101.
A table transmitted as a response from the external database 150 to the data management apparatus 101 is referred to as an external table.
The external table definition 120 defines the format of this external table.
The data search application 300 requests a search condition for requesting only the search of data stored in the external database 150, and a search condition for requesting a search for data stored in the external database and an operation using the searched data. Two types of search conditions are transmitted.
The former is called a standard search condition, and the latter is called an extended search condition.
An external table transmitted as a response to the standard search condition is called a standard external table.
An external table transmitted as a response to the extended search condition is called an extended external table.
The external table definition 120 defines a standard external table format.
The external table definition 120 is also called a standard external table definition.
A standard external table format defined in the external table definition 120 is referred to as a standard format.
On the other hand, the query statement generation unit 105 to be described later generates an external table definition in which the format of the extended external table is defined.
An external table definition in which the format of the extended external table generated by the query statement generation unit 105 is defined is called an extended external table definition.
The format of the extended external table defined in the extended external table definition is called an extended format.
The external database 150 transmits a tabular response to the standard search condition and the extended search condition to the data management apparatus 101.
A response from the external database 150 to the standard search condition is called a standard response. A response from the external database 150 to the extended search condition is referred to as an extended response.
Details of the external table definition 120 and details of the extended external table definition will be described later.

検索制御部103は、検索条件受信部1031、問合せ実行部1032、応答受信部1033及び応答送信部1034で構成される。   The search control unit 103 includes a search condition reception unit 1031, an inquiry execution unit 1032, a response reception unit 1033, and a response transmission unit 1034.

検索条件受信部1031は、データ検索アプリケーション300から検索条件301を受信する。
検索条件301は、標準検索条件又は拡張検索条件である。
検索条件301がデータ管理装置101内のデータの検索を要求している場合もあるが、本実施の形態の特徴的な部分とは直接関係なので、以下では、検索条件301は標準検索条件又は拡張検索条件であるとする。
検索条件受信部1031は、受信した検索条件301を後述する検索条件最適化部104に出力する。
The search condition receiving unit 1031 receives the search condition 301 from the data search application 300.
The search condition 301 is a standard search condition or an extended search condition.
Although the search condition 301 may request a search for data in the data management apparatus 101, the search condition 301 is directly related to the characteristic part of the present embodiment. Suppose that it is a search condition.
The search condition receiving unit 1031 outputs the received search condition 301 to the search condition optimization unit 104 described later.

問合せ実行部1032は、後述する問合せ文生成部105で生成された外部データベース150への問合せ文を実行する。
すなわち、問合せ実行部1032は、問合せ文を外部データベース150の検索実行部151に送信する。
The query execution unit 1032 executes a query statement to the external database 150 generated by the query statement generation unit 105 described later.
That is, the query execution unit 1032 transmits the query statement to the search execution unit 151 of the external database 150.

応答受信部1033は、外部データベース150の検索実行部151から問合せ文に対する応答(標準外部表又は拡張外部表)を受信する。
応答受信部1033は、検索実行部151からの応答が標準外部表であれば標準外部表定義(外部表定義120)を参照して検索実行部151からの応答を受信する。
また、応答受信部1033は、検索実行部151からの応答が拡張外部表であれば拡張外部表定義を参照して検索実行部151からの応答を受信する。
The response receiving unit 1033 receives a response (standard external table or extended external table) to the query statement from the search execution unit 151 of the external database 150.
If the response from the search execution unit 151 is a standard external table, the response reception unit 1033 receives the response from the search execution unit 151 with reference to the standard external table definition (external table definition 120).
If the response from the search execution unit 151 is an extended external table, the response receiving unit 1033 receives the response from the search execution unit 151 with reference to the extended external table definition.

応答送信部1034は、応答受信部1033により受信された検索実行部151からの応答をデータ検索アプリケーション300に送信する。
応答送信部1034からデータ検索アプリケーション300に返信された応答は、データ検索アプリケーション300において検索結果302として利用される。
The response transmission unit 1034 transmits the response from the search execution unit 151 received by the response reception unit 1033 to the data search application 300.
The response returned from the response transmission unit 1034 to the data search application 300 is used as the search result 302 in the data search application 300.

検索条件最適化部104は、検索条件受信部1031から取得した検索条件301を解釈し、問合せ文生成部105に外部データベース150への問合せ文の生成を指示する。
また、検索条件最適化部104は、問合せ文生成部105により生成された問合せ文を問合せ実行部1032に出力する。
The search condition optimization unit 104 interprets the search condition 301 acquired from the search condition receiving unit 1031 and instructs the query statement generation unit 105 to generate a query statement to the external database 150.
Further, the search condition optimization unit 104 outputs the query statement generated by the query statement generation unit 105 to the query execution unit 1032.

問合せ文生成部105は、検索条件301が拡張検索条件である場合、すなわち、外部データベース150に格納されているデータの検索と検索されたデータを用いた演算とが検索条件301において要求されている場合に、検索条件301で要求されている検索と演算とを外部データベース150に実行させる問合せ文を生成する。
検索条件301で要求されている検索と演算とを外部データベース150に実行させる問合せ文を拡張問合せ文という。
より具体的には、問合せ文生成部105は、標準外部表定義(外部表定義120)で定義されている標準形式に基づき、検索条件301で要求されている検索のみを外部データベース150に実行させる問合せ文である標準問合せ文を生成する。
そして、問合せ文生成部105は、後述の外部表演算ルール130に基づき、検索条件301で要求されている演算が外部データベース150で実行可能であるか否かを判断する。
検索条件301で要求されている演算が外部データベース150で実行可能である場合に、問合せ文生成部105は、標準問合せ文を書き換えて拡張問合せ文を生成する。
検索条件301が標準検索条件である場合は、問合せ文生成部105は、標準問合せ文の書換えは行わない。
問合せ文生成部105は、標準問合せ文生成部1051と拡張問合せ文生成部1052で構成される。
標準問合せ文生成部1051は、標準問合せ文を生成する。
拡張問合せ文生成部1052は、標準問合せ文を書き換えて拡張問合せ文を生成する。
When the search condition 301 is an extended search condition, the query statement generation unit 105 requests the search of the data stored in the external database 150 and the operation using the searched data. In this case, a query statement that causes the external database 150 to execute the search and calculation requested by the search condition 301 is generated.
A query statement that causes the external database 150 to execute the search and calculation requested by the search condition 301 is referred to as an extended query statement.
More specifically, the query statement generator 105 causes the external database 150 to execute only the search requested by the search condition 301 based on the standard format defined in the standard external table definition (external table definition 120). A standard query statement that is a query statement is generated.
Then, the query statement generation unit 105 determines whether or not the operation requested by the search condition 301 can be executed in the external database 150 based on the external table operation rule 130 described later.
When the operation requested by the search condition 301 can be executed in the external database 150, the query statement generation unit 105 rewrites the standard query statement and generates an extended query statement.
When the search condition 301 is a standard search condition, the query statement generation unit 105 does not rewrite the standard query statement.
The query statement generation unit 105 includes a standard query statement generation unit 1051 and an extended query statement generation unit 1052.
The standard query statement generation unit 1051 generates a standard query statement.
The extended query statement generation unit 1052 rewrites the standard query statement and generates an extended query statement.

データ記憶部111は、外部表定義120、外部表演算ルール130、外部データベース定義140、実行プラン145及び問合せ文生成ルール147を記憶する。   The data storage unit 111 stores an external table definition 120, an external table calculation rule 130, an external database definition 140, an execution plan 145, and a query statement generation rule 147.

外部表定義120は、外部表定義201である。
外部表定義120は、図6に示す情報である。
図6は、図7に示す外部表の形式を定義している。
外部表定義120は、外部表ID121、列名122、データ型123で構成される。
外部表ID121には、外部表のID(Identifier)が記述される。
図6の「ft0001」は、図7の外部表のIDである。
列名122には、外部表に含まれる列の名称が記述される。
図6では、図7の外部表の列「fta_1」、「fta_2」、「fta_3」が記述されている。
データ型123には、列名122の欄に示される各列のデータのデータ型が記述される。
図6では、図7の「fta_1」のデータのデータ型がintegerであり、図7の「fta_2」のデータのデータ型がintegerであり、図7の「fta_3」のデータのデータ型がtextであることが記述されている。
The external table definition 120 is the external table definition 201.
The external table definition 120 is information shown in FIG.
FIG. 6 defines the format of the external table shown in FIG.
The external table definition 120 includes an external table ID 121, a column name 122, and a data type 123.
In the external table ID 121, an ID (Identifier) of the external table is described.
“Ft0001” in FIG. 6 is the ID of the external table in FIG.
The column name 122 describes the name of the column included in the external table.
In FIG. 6, columns “fta_1”, “fta_2”, and “fta — 3” of the external table of FIG. 7 are described.
The data type 123 describes the data type of the data in each column shown in the column name column 122.
In FIG. 6, the data type of the data “fta_1” in FIG. 7 is integer, the data type of the data “fta_2” in FIG. 7 is integer, and the data type of the data “fta_3” in FIG. 7 is text. It is described that there is.

外部表演算ルール130には、外部データベース150で実行可能な演算が定義されている。
外部表演算ルール130は、図9に示す情報である。
外部表演算ルール130は、ルールID131、演算内容132、演算結果133、演算対象1(134)、演算対象2(135)で構成される。
ルールID131には、外部表演算ルールのIDが記述される。
演算内容132には、外部データベース150で実行可能な演算(例えば、演算子)が記述される。
演算結果133には、演算結果のデータ型が記述される。
演算対象1(134)及び演算対象2(135)には、被演算子のデータ型が記述される。
被演算子が存在しない場合は、演算対象1(134)及び演算対象2(135)には「−」が記述される。
The external table operation rule 130 defines operations that can be executed by the external database 150.
The external table calculation rule 130 is information shown in FIG.
The external table calculation rule 130 includes a rule ID 131, a calculation content 132, a calculation result 133, a calculation target 1 (134), and a calculation target 2 (135).
In the rule ID 131, the ID of the external table calculation rule is described.
In the operation content 132, an operation (for example, an operator) that can be executed in the external database 150 is described.
The calculation result 133 describes the data type of the calculation result.
In the operation target 1 (134) and the operation target 2 (135), the data type of the operand is described.
When there is no operand, “-” is described in the calculation target 1 (134) and the calculation target 2 (135).

外部データベース定義140には、外部データベースごとに外部表が定義されている。
外部データベース定義140は、図10に示す情報である。
外部データベース定義140は、外部表ID141、外部表名142、外部データベースID143で構成される。
外部データベースID143は、外部データベース150のIDが記述される。
図10は、外部データベース150が複数存在していることを前提としている。
外部表ID141には、外部データベースID143にIDが記述されている外部データベース150の外部表のIDが記述される。
外部表ID141は、図6の外部表定義の外部表ID121と同様である。
外部表名142には、外部データベースID143にIDが記述されている外部データベース150の外部表の名称が記述される。
In the external database definition 140, an external table is defined for each external database.
The external database definition 140 is information shown in FIG.
The external database definition 140 includes an external table ID 141, an external table name 142, and an external database ID 143.
The external database ID 143 describes the ID of the external database 150.
FIG. 10 assumes that there are a plurality of external databases 150.
In the external table ID 141, the ID of the external table of the external database 150 whose ID is described in the external database ID 143 is described.
The external table ID 141 is the same as the external table ID 121 of the external table definition in FIG.
In the external table name 142, the name of the external table of the external database 150 whose ID is described in the external database ID 143 is described.

実行プラン145は、検索条件301の解析結果である。
実行プラン145は、図11に例示するような木構造のデータである。
実行プラン145の詳細は後述する。
The execution plan 145 is an analysis result of the search condition 301.
The execution plan 145 is data having a tree structure as illustrated in FIG.
Details of the execution plan 145 will be described later.

問合せ文生成ルール147には、問合せ文に含ませる演算内容が定義されている。
問合せ文生成ルール147は、図8に示す情報である。
問合せ文生成ルール147は、演算内容148と問合せ149で構成される。
演算内容148には、検索条件301に含まれる演算内容が定義されている。
問合せ149には、問合せ文に含ませる演算内容が定義されている。
In the query statement generation rule 147, calculation contents to be included in the query statement are defined.
The query statement generation rule 147 is information shown in FIG.
The query statement generation rule 147 includes operation contents 148 and a query 149.
In the calculation contents 148, calculation contents included in the search condition 301 are defined.
In the query 149, calculation contents to be included in the query statement are defined.

図1において、外部表定義アプリケーション200は、データ管理装置101へ外部表定義要求を行う上位のアプリケーションプログラムである。   In FIG. 1, an external table definition application 200 is a higher-level application program that makes an external table definition request to the data management apparatus 101.

データ検索アプリケーション300は、データ管理装置101に対してデータ検索を要求する上位のアプリケーションプログラムである。   The data search application 300 is a higher-level application program that requests the data management apparatus 101 to search for data.

図2は、データ管理装置101を含むシステム構成例を示す。   FIG. 2 shows a system configuration example including the data management apparatus 101.

データ収集装置251は、外部表定義アプリケーション200を備え、データ管理装置101に外部表定義要求を行う。
データ収集装置251は、外部表定義201を保持する。
The data collection device 251 includes an external table definition application 200 and makes an external table definition request to the data management device 101.
The data collection device 251 holds the external table definition 201.

データ検索装置252は、データ検索アプリケーション300を備え、データ管理装置101かに対してデータ検索を要求する。
データ検索装置252は、データ検索アプリケーション300を実行して検索条件301を生成し、データ管理装置101から検索結果302を受信する。
The data search device 252 includes a data search application 300 and requests data search from the data management device 101.
The data search device 252 executes the data search application 300 to generate a search condition 301 and receives the search result 302 from the data management device 101.

外部データ管理装置253は、外部データベース150を備える。
外部データベース150には、データ管理装置101から送信された問合せ文を処理する検索実行部151と、データが格納されているデータ格納領域152が含まれる。
The external data management device 253 includes an external database 150.
The external database 150 includes a search execution unit 151 that processes a query sentence transmitted from the data management apparatus 101, and a data storage area 152 in which data is stored.

データ収集装置251、データ検索装置252、外部データ管理装置253は、それぞれ1つでも複数でも構わない。   The data collection device 251, the data search device 252, and the external data management device 253 may each be one or more.

図3は、データ管理装置101のハードウェア構成例を示す。
図3の詳細は後述する。
FIG. 3 shows a hardware configuration example of the data management apparatus 101.
Details of FIG. 3 will be described later.

***動作の説明***
次に、本実施の形態に係るデータ管理装置101の動作を説明する。
先ず、図4のフローチャートに基づいて、データ管理装置101の外部表定義処理を説明する。
*** Explanation of operation ***
Next, the operation of the data management apparatus 101 according to this embodiment will be described.
First, the external table definition process of the data management apparatus 101 will be described based on the flowchart of FIG.

ステップS101において、外部表定義部102が、外部表定義アプリケーション200から外部表定義201を受信する。   In step S <b> 101, the external table definition unit 102 receives the external table definition 201 from the external table definition application 200.

次に、ステップS102において、外部表定義部102は、外部表定義201を解釈し、外部表定義201の形式を変換する。
前述のように、形式が変換された後の外部表定義201が外部表定義120である。
Next, in step S102, the external table definition unit 102 interprets the external table definition 201 and converts the format of the external table definition 201.
As described above, the external table definition 201 after the format conversion is the external table definition 120.

次に、ステップS103において、外部表定義部102は、外部表定義120をデータ記憶部111に格納する。   Next, in step S <b> 103, the external table definition unit 102 stores the external table definition 120 in the data storage unit 111.

次に、図5のフローチャートに基づいて、データ管理装置101のデータ検索処理を説明する。
図5に示す手順は、本願のデータ管理方法及びデータ管理プログラムの例に相当する。
以降の説明では、図5の開始前に、図6の外部表定義120と図9の外部表演算ルール130と図8の問合せ文生成ルール147とがデータ記憶部111に格納されているものとする。
なお、図11の実行プラン145は、後述のステップS202で生成されるため、図5の開始前はデータ記憶部111には格納されていない。
Next, data search processing of the data management apparatus 101 will be described based on the flowchart of FIG.
The procedure shown in FIG. 5 corresponds to an example of the data management method and data management program of the present application.
In the following description, the external table definition 120 of FIG. 6, the external table calculation rule 130 of FIG. 9, and the query statement generation rule 147 of FIG. 8 are stored in the data storage unit 111 before the start of FIG. To do.
Since the execution plan 145 of FIG. 11 is generated in step S202 described later, it is not stored in the data storage unit 111 before the start of FIG.

ステップS201において、検索制御部103の検索条件受信部1031がデータ検索アプリケーション300から検索条件301を受信する(検索条件受信処理)。
ここでは、検索条件受信部1031は、SQL問合せ文である「select sum((fta_1+100) * 0.15) from ft where fta_1 between 1 and 1000000」を検索条件301として受信したものとする。
この検索条件301には、外部データベース150のデータの検索と、検索されたデータを用いた演算である「+」演算、「*」演算及び「sum()」演算が含まれている。
このため、検索条件301は拡張検索条件である。
In step S201, the search condition receiving unit 1031 of the search control unit 103 receives the search condition 301 from the data search application 300 (search condition receiving process).
Here, it is assumed that the search condition receiving unit 1031 has received “select sum ((fta — 1 + 100) * 0.15) from ft where fta — 1 between 1 and 1000000” as the search condition 301, which is an SQL query statement.
The search condition 301 includes a search of data in the external database 150 and a “+” operation, a “*” operation, and a “sum ()” operation that are operations using the searched data.
For this reason, the search condition 301 is an extended search condition.

ステップS202において、検索条件最適化部104が検索条件301を解析し、実行プラン145を生成する。
実行プラン145は、検索条件301で要求される処理を効率的な順序で実行するように最適化された処理計画である。
検索条件最適化部104は、検索条件301を解析した結果、検索条件301が拡張検索条件であると判断し、図11に示す実行プラン145を生成する。
また、検索条件最適化部104は、実行プラン145の生成過程で、問合せ文生成部105に標準問合せ文の生成を指示する。
問合せ文生成部105では、標準問合せ文生成部1051が、外部表定義120(図6)に基づき、外部データベース150に「fta_1」の検索を実行させるための標準問合せ文を生成する。
より具体的には、標準問合せ文生成部1051は、図11の標準問合せ文1121を生成し、生成した標準問合せ文1121を検索条件最適化部104に出力する。
検索条件最適化部104は、標準問合せ文1121が含まれる、図11の実行プラン145を生成する。
In step S202, the search condition optimization unit 104 analyzes the search condition 301 and generates an execution plan 145.
The execution plan 145 is a processing plan that is optimized so that the processing required by the search condition 301 is executed in an efficient order.
As a result of analyzing the search condition 301, the search condition optimization unit 104 determines that the search condition 301 is an extended search condition, and generates an execution plan 145 shown in FIG.
In addition, the search condition optimization unit 104 instructs the query statement generation unit 105 to generate a standard query statement in the process of generating the execution plan 145.
In the query statement generation unit 105, the standard query statement generation unit 1051 generates a standard query statement for causing the external database 150 to perform a search for “fta_1” based on the external table definition 120 (FIG. 6).
More specifically, the standard query statement generation unit 1051 generates the standard query statement 1121 in FIG. 11 and outputs the generated standard query statement 1121 to the search condition optimization unit 104.
The search condition optimization unit 104 generates the execution plan 145 in FIG. 11 including the standard query statement 1121.

ここで、実行プラン145の詳細を説明する。
実行プラン145は、図11に示すように、木構造のデータである。
実行プラン145には、ノードと選択条件が含まれる。
図11において、符号1101と1102の要素がノードであり、符号1103、1104、1131〜1135の要素が選択条件である。
選択条件も木構造をしており、最下位階層の選択条件1104、1133、1134、1135には、検索条件301に含まれる定数、外部表定義120の列名122に含まれる列が記述されている。
最下位階層以外の選択条件1103、1131、1132には、検索条件301に含まれる演算子が記述されている。
実行プラン145は、検索条件301に対応する処理の実行順序を制御するためのデータである。
実行プラン145では、選択条件1103、1131、1132に記述されている演算子を用いた演算を行うという処理手順が定義されている。
実行プラン145では、演算の順序が先の選択条件が下位の階層に配置されている。
このため、後述するように、拡張問合せ文生成部1052は、実行プラン145に対して深さ優先探索による探索を行う。
また、実行プラン145では、下位のノード1102の処理が実行され、下位のノード1102の処理の実行結果が上位のノード1101に用いられて、上位のノード1101の処理が行われるという処理手順が定義されている。
選択条件の木構造は、1つの選択条件で構成されていても複数の選択条件で構成されていてもよい。
また、選択条件の木構造における選択条件の最大数は、外部表定義120の列数に制約されない。
また、実行プラン145では、外部表定義120がノード1102に対応付けられている。
外部表定義120には、標準問合せ文1121に対する外部データベース150からの応答(外部表)に含まれる列名、データ型が示されている。
Here, the details of the execution plan 145 will be described.
The execution plan 145 is tree-structured data as shown in FIG.
The execution plan 145 includes nodes and selection conditions.
In FIG. 11, elements 1101 and 1102 are nodes, and elements 1103, 1104, and 1131-1135 are selection conditions.
The selection conditions also have a tree structure, and the selection conditions 1104, 1133, 1134, and 1135 in the lowest hierarchy describe the constants included in the search conditions 301 and the columns included in the column name 122 of the external table definition 120. Yes.
Operators included in the search condition 301 are described in the selection conditions 1103, 1131, and 1132 other than the lowest hierarchy.
The execution plan 145 is data for controlling the execution order of processes corresponding to the search condition 301.
The execution plan 145 defines a processing procedure for performing an operation using the operators described in the selection conditions 1103, 1131, 1132.
In the execution plan 145, the selection conditions whose operation order is earlier are arranged in the lower hierarchy.
Therefore, as will be described later, the extended query statement generation unit 1052 searches the execution plan 145 by a depth-first search.
Further, the execution plan 145 defines a processing procedure in which the processing of the lower node 1102 is executed, the execution result of the processing of the lower node 1102 is used for the upper node 1101, and the processing of the upper node 1101 is performed. Has been.
The tree structure of selection conditions may be composed of one selection condition or a plurality of selection conditions.
Further, the maximum number of selection conditions in the tree structure of selection conditions is not limited by the number of columns in the external table definition 120.
In the execution plan 145, the external table definition 120 is associated with the node 1102.
The external table definition 120 indicates column names and data types included in the response (external table) from the external database 150 to the standard query statement 1121.

検索条件301が拡張検索条件であるため、検索条件最適化部104は、ステップS203において、実行プラン145を問合せ文生成部105に出力し、問合せ文生成部105に拡張問合せ文の生成を指示する。
なお、検索条件301が標準検索条件である場合は、ステップS203〜S207の処理は不要である。
Since the search condition 301 is an extended search condition, the search condition optimization unit 104 outputs the execution plan 145 to the query statement generation unit 105 in step S203 and instructs the query statement generation unit 105 to generate an extended query statement. .
Note that if the search condition 301 is a standard search condition, the processing of steps S203 to S207 is not necessary.

検索条件最適化部104から拡張問合せ文の生成が指示された問合せ文生成部105では、拡張問合せ文生成部1052がステップS204〜S207の処理を行う。   In the query statement generation unit 105 instructed by the search condition optimization unit 104 to generate an extended query statement, the extended query statement generation unit 1052 performs the processes of steps S204 to S207.

ステップS204では、拡張問合せ文生成部1052が、実行プラン145に含まれる選択条件のうち、データ型が確定していない選択条件が存在するか否かを深さ優先探索にて判断する。
データ型が確定していない選択条件が存在する場合は、拡張問合せ文生成部1052はステップS205を行う。
全ての選択条件のデータ型が確定している場合は、拡張問合せ文生成部1052は、ステップS207を行う。
In step S <b> 204, the extended query statement generation unit 1052 determines whether there is a selection condition for which the data type is not determined among the selection conditions included in the execution plan 145 by the depth-first search.
If there is a selection condition for which the data type is not determined, the extended query statement generation unit 1052 performs step S205.
If the data types of all the selection conditions are confirmed, the extended query statement generation unit 1052 performs step S207.

ステップS205では、拡張問合せ文生成部1052は、実行プラン145から、データ型が未確定の選択条件を1つ取り出す。   In step S <b> 205, the extended query statement generation unit 1052 extracts one selection condition whose data type is undetermined from the execution plan 145.

ステップS206では、拡張問合せ文生成部1052は、外部表演算ルール130(図9)を参照して、ステップS205で取り出した選択条件のデータ型を確定し、確定したデータ型から、外部データベース150が検索条件301で要求されている演算を実行可能かどうかを判断する(問合せ文生成処理)。
つまり、拡張問合せ文生成部1052は、外部データベース150が検索条件301内の「sum((fta_1+100) * 0.15)」の演算を実行可能かどうかを判断する。
In step S206, the extended query statement generation unit 1052 determines the data type of the selection condition extracted in step S205 with reference to the external table operation rule 130 (FIG. 9), and the external database 150 determines the data type from the determined data type. It is determined whether or not the operation requested by the search condition 301 can be executed (query generation process).
That is, the extended query statement generation unit 1052 determines whether or not the external database 150 can execute the operation “sum ((fta — 1 + 100) * 0.15)” in the search condition 301.

ステップS207では、拡張問合せ文生成部1052は、標準問合せ文生成部1051が生成した標準問合せ文を書き換えて拡張問合せ文を生成する(問合せ文生成処理)。
また、拡張問合せ文生成部1052は、拡張外部表定義を生成する。
拡張外部表定義は、拡張問合せ文に対する外部データベース150からの応答の形式が定義される情報である。
拡張問合せ文生成部1052は、外部データベース150が検索条件301内の「sum((fta_1+100) * 0.15)」の演算を実行可能な場合は、図12の拡張問合せ文1221と拡張外部表定義1210を生成する。
拡張問合せ文1221は、列「fta_1」の検索と演算「sum((fta_1+100) * 0.15)」とを外部データベース150に実行させる問合せ文である。
拡張外部表定義1210において、外部表ID1211では、新たな外部表IDである「t_ft001」が定義され、列名1212では、「sum」のみが定義され、データ型1213では、「sum」のデータ型である「decimal」が定義されている。
「sum」のデータ型である「decimal」は、外部表演算ルール130(図9)のルールID:0001から得られる。
図12に示すように、拡張外部表定義1210には、拡張問合せ文1221:「select sum((fta_1+100) * 0.15) from ft where fta_1 between 1 and 1000000」を実行した場合の最終的な結果(sumとデータ型:decimal)のみが定義される。
拡張問合せ文生成部1052は、生成した拡張問合せ文1221と拡張外部表定義1210を用いて図12の実行プラン146を生成する。
つまり、拡張問合せ文生成部1052は、図11の外部データベース検索1102にpush−downされた集約1101を実行プラン145から削除し、また、標準問合せ文1121及び標準外部表定義120に代えて拡張問合せ文1221と拡張外部表定義1210を外部データベース検索1102に対応付けた実行プラン146を生成する。
そして、拡張問合せ文生成部1052は、実行プラン146を検索条件最適化部104に出力する。
検索条件最適化部104は、実行プラン146を検索制御部103に出力する。
検索制御部103では、問合せ実行部1032が、実行プラン146の拡張問合せ文1221を外部データベース150に送信する(問合せ実行処理)。
In step S207, the extended query statement generation unit 1052 rewrites the standard query statement generated by the standard query statement generation unit 1051 to generate an extended query statement (query statement generation process).
The extended query statement generation unit 1052 generates an extended external table definition.
The extended external table definition is information that defines the format of a response from the external database 150 to the extended query statement.
When the external database 150 can execute the operation “sum ((fta — 1 + 100) * 0.15)” in the search condition 301, the extended query statement generation unit 1052 and the extended query statement 1221 in FIG. 1210 is generated.
The extended query statement 1221 is a query statement that causes the external database 150 to execute the search for the column “fta_1” and the operation “sum ((fta_1 + 100) * 0.15)”.
In the extended external table definition 1210, the external table ID 1211 defines a new external table ID “t_ft001”, the column name 1212 defines only “sum”, and the data type 1213 defines the data type “sum”. “Decimal” is defined.
“Decimal”, which is a data type of “sum”, is obtained from the rule ID: 0001 of the external table calculation rule 130 (FIG. 9).
As shown in FIG. 12, the extended external table definition 1210 includes an extended query statement 1221: “select sum ((fta_1 + 100) * 0.15) from ft where where1_1 between 1 and 1000000”. Only (sum and data type: decimal) are defined.
The extended query statement generation unit 1052 generates the execution plan 146 of FIG. 12 using the generated extended query statement 1221 and the extended external table definition 1210.
That is, the extended query statement generation unit 1052 deletes the aggregate 1101 pushed-down by the external database search 1102 of FIG. 11 from the execution plan 145, and replaces the standard query statement 1121 and the standard external table definition 120 with the extended query. An execution plan 146 in which the statement 1221 and the extended external table definition 1210 are associated with the external database search 1102 is generated.
Then, the extended query statement generation unit 1052 outputs the execution plan 146 to the search condition optimization unit 104.
The search condition optimization unit 104 outputs the execution plan 146 to the search control unit 103.
In the search control unit 103, the query execution unit 1032 transmits the extended query statement 1221 of the execution plan 146 to the external database 150 (query execution process).

ステップS208において、検索制御部103の応答受信部1033が、外部データベース150からの応答を拡張外部表定義1210を用いて受信する。   In step S208, the response receiving unit 1033 of the search control unit 103 receives the response from the external database 150 using the extended external table definition 1210.

最後に、ステップS209において、検索制御部103の応答送信部1034が、外部データベース150からの応答をデータ検索アプリケーション300に送信する。   Finally, in step S209, the response transmission unit 1034 of the search control unit 103 transmits a response from the external database 150 to the data search application 300.

図11の実行プラン145を例にして、データ型確定処理(S204〜S206)を説明する。   The data type determination process (S204 to S206) will be described using the execution plan 145 of FIG. 11 as an example.

拡張問合せ文生成部1052は、まず、符号1134の「fta_1」を取り出す(ステップS205)。
「fta_1」は、外部表定義120においてデータ型が「integer」と定義されているので、拡張問合せ文生成部1052は、外部表演算ルール130(図9)のルールID:0004から演算結果「integer」を抽出し、符号1134の「fta_1」のデータ型を「integer」と確定する(ステップS206)。
次に、拡張問合せ文生成部1052は、符号1135の「100::integer」を取り出す(ステップS205)。
拡張問合せ文生成部1052は、外部表演算ルール130(図9)のルールID:0006から演算結果「integer」を抽出し、符号1135の「100::integer」のデータ型を「integer」と確定する(ステップS206)。
次に、拡張問合せ文生成部1052は、符号1133の「0.15::float」を取り出す(ステップS205)。
拡張問合せ文生成部1052は、外部表演算ルール130(図9)のルールID:0007から演算結果「float」を抽出し、符号1133の「0.15::float」のデータ型を「float」と確定する(ステップS206)。
次に、拡張問合せ文生成部1052は、符号1132の「+」を取り出す(ステップS205)。
符号1132の「+」の演算対象である「fta_1」と「100::integer」は、ともにデータ型が「integer」である。
このため、外部表演算ルール130(図9)のルールID:0002に合致し、拡張問合せ文生成部1052は、ルールID:0002から演算結果「integer」を抽出し、符号1132の「+」のデータ型を「integer」と確定する(ステップS206)。
次に、拡張問合せ文生成部1052は、符号1131の「*」を取り出す(ステップS205)。
符号1131の「*」の演算対象である「+」のデータ型は「integer」であり、「0.15::float」のデータ型は「float」である。
このため、外部表演算ルール130(図9)のルールID:0003に合致し、拡張問合せ文生成部1052は、ルールID:0003から演算結果「decimal」を抽出し、符号1131の「*」のデータ型を「decimal」と確定する(ステップS206)。
次に、拡張問合せ文生成部1052は、符号1104の「fta_1’」を取り出す(ステップS205)。
この符号1104の「fta_1’」は、符号1131〜1135の選択条件の演算結果を意味する。
このため、符号1104の「fta_1’」のデータ型は、符号1131の「*」のデータ型「decimal」である。
次に、拡張問合せ文生成部1052は、符号1103の「sum()」を取り出す(ステップS205)。
符号1103の「sum()」の演算対象である「fta_1’」のデータ型は「decimal」である。
このため、拡張問合せ文生成部1052は、外部表演算ルール130(図9)のルールID:0001から演算結果「decimal」を抽出し、符号1103の「sum()」のデータ型を「decimal」と確定する(ステップS206)。
First, the extended query statement generation unit 1052 extracts “fta_1” denoted by reference numeral 1134 (step S205).
Since “fta_1” is defined as data type “integer” in the external table definition 120, the extended query statement generation unit 1052 calculates the operation result “integer” from the rule ID: 0004 of the external table calculation rule 130 (FIG. 9). ”Is extracted, and the data type“ fta_1 ”denoted by reference numeral 1134 is determined as“ integer ”(step S206).
Next, the extended query statement generation unit 1052 extracts “100 :: integer” denoted by reference numeral 1135 (step S205).
The extended query generation unit 1052 extracts the calculation result “integer” from the rule ID: 0006 of the external table calculation rule 130 (FIG. 9), and confirms the data type “100 :: integer” of reference numeral 1135 as “integer”. (Step S206).
Next, the extended query statement generation unit 1052 extracts “0.15 :: float” of reference numeral 1133 (step S205).
The extended query statement generation unit 1052 extracts the operation result “float” from the rule ID: 0007 of the external table operation rule 130 (FIG. 9), and sets the data type of “0.15 :: float” of reference numeral 1133 to “float”. (Step S206).
Next, the extended query statement generation unit 1052 extracts “+” of reference numeral 1132 (step S205).
The data types of “fta_1” and “100 :: integer”, which are the calculation targets of “+” of reference numeral 1132, are “integer”.
For this reason, it matches the rule ID: 0002 of the external table calculation rule 130 (FIG. 9), and the extended query statement generation unit 1052 extracts the calculation result “integer” from the rule ID: 0002, The data type is determined as “integer” (step S206).
Next, the extended query statement generation unit 1052 extracts “*” of reference numeral 1131 (step S205).
The data type of “+” that is the operation target of “*” of reference numeral 1131 is “integer”, and the data type of “0.15 :: float” is “float”.
For this reason, it matches the rule ID: 0003 of the external table calculation rule 130 (FIG. 9), and the extended query statement generation unit 1052 extracts the calculation result “decimal” from the rule ID: 0003, The data type is determined as “decimal” (step S206).
Next, the extended query statement generation unit 1052 extracts “fta_1 ′” denoted by reference numeral 1104 (step S205).
“Fta — 1 ′” of the reference numeral 1104 means the calculation result of the selection conditions of reference numerals 1131 to 1135.
For this reason, the data type “fta_1 ′” of reference numeral 1104 is the data type “decimal” of “*” of reference numeral 1131.
Next, the extended query statement generation unit 1052 extracts “sum ()” denoted by reference numeral 1103 (step S205).
The data type of “fta — 1 ′” that is the operation target of “sum ()” denoted by reference numeral 1103 is “decimal”.
Therefore, the extended query statement generation unit 1052 extracts the operation result “decimal” from the rule ID: 0001 of the external table operation rule 130 (FIG. 9), and sets the data type of “sum ()” denoted by reference numeral 1103 to “decimal”. (Step S206).

このようにして、実行プラン145の全ての選択条件のデータ型が確定した場合は、拡張問合せ文生成部1052は、検索条件301の全ての演算を外部データベース150に実行させることができると判断する。
このため、前述したように、拡張問合せ文生成部1052は、標準問合せ文1121(図11)を書き換えて、検索条件301の全ての演算を外部データベース150に実行させるための拡張問合せ文1221(図12)を生成する。
拡張問合せ文生成部1052は、問合せ文生成ルール147(図8)に従って、標準問合せ文1121から拡張問合せ文1221への書き換えを行う。
また、拡張問合せ文生成部1052は、符号1103の「sum()」のデータ型「decimal」を用いて、拡張外部表定義1210(図12)を生成する。
In this way, when the data types of all the selection conditions of the execution plan 145 have been determined, the extended query statement generation unit 1052 determines that the external database 150 can execute all the operations of the search conditions 301. .
For this reason, as described above, the extended query statement generation unit 1052 rewrites the standard query statement 1121 (FIG. 11) and causes the external database 150 to execute all operations of the search condition 301 (FIG. 11). 12) is generated.
The extended query statement generation unit 1052 rewrites the standard query statement 1121 to the extended query statement 1221 according to the query statement generation rule 147 (FIG. 8).
The extended query statement generation unit 1052 generates an extended external table definition 1210 (FIG. 12) using the data type “decimal” of “sum ()” denoted by reference numeral 1103.

***効果の説明***
このように、本実施の形態では、選択条件から外部データベース問合せの結果のデータ型を推定し、外部表演算ルールに存在するルールのみで構成された選択条件の場合、標準問合せ文を書き換えて拡張問合せ文を生成する。
従来の外部表を用いた外部データベース検索では、検索結果が標準外部表定義に制約されている。
このため、従来のデータ管理装置は、標準外部表定義に沿った検索結果を外部データベースから取得し、取得した検索結果を加工することで検索条件に合致する検索結果を得るようにしている。
つまり、従来のデータ管理装置は、前述した検索条件「select sum((fta_1+100) * 0.15) from ft where fta_1 between 1 and 1000000」を受信した場合には、図11の標準問合せ文1121を外部データベースに送信し、標準外部表定義120に示すように、外部データベースから「fta_1」、「fta_2」、「fta_3」の検索結果を取得する。
そして、従来のデータ管理装置は、外部データベースからの「fta_1」に対して「sum((fta_1+100) * 0.15)」を実行して、「select sum((fta_1+100) * 0.15) from ft where fta_1 between 1 and 1000000」に適合する演算結果を得る。
これに対して、本実施の形態に係るデータ管理装置101は、外部データベース150において検索条件301の演算が実行可能な場合は、図12の拡張問合せ文1221を外部データベース150に送信する。
そして、データ管理装置101は、外部データベース150から「select sum((fta_1+100) * 0.15) from ft where fta_1 between 1 and 1000000」に適合する演算結果を得る。
このように、本実施の形態に係るデータ管理装置101は、「sum((fta_1+100) * 0.15)」の演算が実行された後の応答を外部データベース150から取得することができるので、「sum((fta_1+100) * 0.15)」の演算を実行する必要がなく、検索時の処理効率を向上させることができ、検索速度の高速化が図れる。
*** Explanation of effects ***
As described above, in this embodiment, the data type of the external database query result is estimated from the selection condition, and in the case of the selection condition composed only of the rules existing in the external table operation rule, the standard query statement is rewritten and expanded. Generate a query statement.
In a conventional external database search using an external table, the search result is restricted to the standard external table definition.
For this reason, the conventional data management apparatus acquires a search result that conforms to the standard external table definition from an external database, and processes the acquired search result to obtain a search result that matches the search condition.
That is, when the conventional data management apparatus receives the above-described search condition “select sum ((fta_1 + 100) * 0.15) from ft where fta_1 between 1 and 1000000”, the standard query statement 1121 in FIG. As shown in the standard external table definition 120, the search result of “fta_1”, “fta_2”, “fta — 3” is acquired from the external database.
Then, the conventional data management apparatus executes “sum ((fta_1 + 100) * 0.15)” on “fta_1” from the external database, and “select sum ((fta_1 + 100) * 0.15) from ft The operation result conforming to “where fta — 1 between 1 and 1000000” is obtained.
On the other hand, when the operation of the search condition 301 can be executed in the external database 150, the data management apparatus 101 according to the present embodiment transmits the extended query statement 1221 in FIG.
Then, the data management apparatus 101 obtains an operation result that conforms to “select sum ((fta_1 + 100) * 0.15) from ft where fta_1 between 1 and 1000000” from the external database 150.
As described above, the data management apparatus 101 according to the present embodiment can acquire a response after the calculation of “sum ((fta_1 + 100) * 0.15)” from the external database 150. sum ((fta_1 + 100) * 0.15) "need not be executed, the processing efficiency during the search can be improved, and the search speed can be increased.

なお、以上では、検索条件301に含まれる演算の全てが外部データベース150で実行可能な例を説明した。
検索条件301に含まれる演算の一部が外部データベース150で実行できない場合は、拡張問合せ文生成部1052は、当該一部以外の演算を外部データベース150で実行させる拡張問合せ文を生成する。
例えば、図11の実行プラン145の「sum()」以外は外部データベース150で演算可能であるが、「sum()」は外部データベース150では実行できない場合は、拡張問合せ文生成部1052は、検索条件301に含まれる複数の演算のうち「sum()」以外の演算を外部データベース150で実行させる拡張問合せ文を生成する。
そして、当該拡張問合せ文に対する応答を外部データベース150から受信した場合に、検索条件最適化部104が、外部データベース150からの応答に対して「sum()」演算を行って、検索条件301に対応する演算結果を得るようにする。
In the above, an example in which all the operations included in the search condition 301 can be executed in the external database 150 has been described.
If some of the operations included in the search condition 301 cannot be executed in the external database 150, the extended query statement generation unit 1052 generates an extended query statement that causes the external database 150 to execute operations other than the part of the operation.
For example, if “sum ()” other than “sum ()” in the execution plan 145 of FIG. 11 can be calculated in the external database 150, but “sum ()” cannot be executed in the external database 150, the extended query statement generation unit 1052 performs the search. An extended query statement that causes the external database 150 to execute an operation other than “sum ()” among a plurality of operations included in the condition 301 is generated.
Then, when a response to the extended query statement is received from the external database 150, the search condition optimization unit 104 performs a “sum ()” operation on the response from the external database 150 and corresponds to the search condition 301. To obtain the result of the operation.

実施の形態2.
実施の形態1では、標準問合せ文生成部1051が標準問合せ文を生成した後に、拡張問合せ文生成部1052が選択条件のデータ型を確定処理により確定することで検索条件301の演算を外部データベース150が実行可能などうかを判定し、外部データベース150が演算を実行可能な場合に、標準問合せ文を書き換えて拡張問合せ文を生成している。
本実施の形態では、標準問合せ文を生成せずに、選択条件のデータ型の確定処理と拡張問合せ文の生成処理とを並行して行う例を説明する。
Embodiment 2. FIG.
In the first embodiment, after the standard query statement generation unit 1051 generates a standard query statement, the extended query statement generation unit 1052 determines the data type of the selection condition by a determination process, so that the calculation of the search condition 301 is performed in the external database 150. When the external database 150 can execute the operation, the standard query statement is rewritten to generate an extended query statement.
In the present embodiment, an example will be described in which the determination type data type determination process and the extended query statement generation process are performed in parallel without generating a standard query sentence.

***構成の説明***
図13は、実施の形態2に係るデータ管理装置101の機能モジュール構成例を示す。
図13のデータ管理装置101では、図1のデータ管理装置101と違って、問合せ文生成部105は標準問合せ文生成部1051と拡張問合せ文生成部1052に分けられていない。
また、図13のデータ管理装置101では、データ記憶部111に問合せ文生成ルール147が格納されていない。
図13の他の要素は、図1と同じである。
以下では、主に実施の形態1との違いを説明する。
以下で説明していない事項は、実施の形態1と同じである。
*** Explanation of configuration ***
FIG. 13 shows a functional module configuration example of the data management apparatus 101 according to the second embodiment.
In the data management apparatus 101 of FIG. 13, unlike the data management apparatus 101 of FIG. 1, the query statement generation unit 105 is not divided into a standard query statement generation unit 1051 and an extended query statement generation unit 1052.
Further, in the data management apparatus 101 of FIG. 13, the query statement generation rule 147 is not stored in the data storage unit 111.
Other elements in FIG. 13 are the same as those in FIG.
Hereinafter, differences from the first embodiment will be mainly described.
Matters not described below are the same as those in the first embodiment.

本実施の形態では、問合せ文生成部105は、検索条件301が拡張検索条件である場合に、検索条件301で要求されている複数の演算のうち実行順序が先の演算から順に、演算ごとに、外部表演算ルール130に基づき、外部データベース150で演算が実行可能であるか否かを判断する判断処理と、判断処理により外部データベース150で実行可能であると判定された演算を外部データベース150に実行させるための記述を拡張問合せ記述として生成する記述生成処理とを繰り返し、演算ごとの拡張問合せ記述の組み合わせにより拡張問合せ文を生成する。
実施の形態1で示した図11の実行プラン145が生成された場合に、問合せ文生成部105は、実施の形態1と同様に、深さ優先探索にて選択条件ごとにデータ型を確定する(判断処理)。
そして、データ型が確定した選択条件に示される演算を外部データベース150に実行させるための拡張問合せ記述を生成する。
拡張問合せ記述は、拡張問合せ文の部分的な記述である。
例えば、図11の符号1132「+」のデータ型が確定した場合には、問合せ文生成部105は「+」演算を外部データベース150に実行させるための拡張問合せ記述を生成する。
また、図11の符号1131「*」のデータ型が確定した場合には、問合せ文生成部105は「*」演算を外部データベース150に実行させるための拡張問合せ記述を生成する。
また、図11の符号1103「sum()」のデータ型が確定した場合には、問合せ文生成部105は「sum()」演算を外部データベース150に実行させるための拡張問合せ記述を生成する。
そして、問合せ文生成部105は、「+」演算の拡張問合せ記述と「*」演算の拡張問合せ記述と「sum()」演算の拡張問合せ記述とを組み合わせて、図12の拡張問合せ文1221を生成する。
なお、本実施の形態では、標準問合せ文1121は生成されないので、本実施の形態に係る実行プラン145は、図11から標準問合せ文1121を除外したものに相当する。
データ管理装置101の他の動作は、実施の形態1に示した通りである。
以下、フローチャートを参照して、本実施の形態に係るデータ管理装置101の動作例を詳述する。
In the present embodiment, when the search condition 301 is an extended search condition, the query statement generation unit 105 executes each of the operations in the order of execution from the previous operation among a plurality of operations requested by the search condition 301. Based on the external table calculation rule 130, a determination process for determining whether or not an operation can be executed in the external database 150, and an operation that is determined to be executable in the external database 150 by the determination process are stored in the external database 150. A description generation process for generating a description to be executed as an extended query description is repeated, and an extended query statement is generated by a combination of extended query descriptions for each operation.
When the execution plan 145 of FIG. 11 shown in the first embodiment is generated, the query statement generation unit 105 determines the data type for each selection condition in the depth-first search, as in the first embodiment. (Judgment process).
Then, an extended query description for causing the external database 150 to execute the operation indicated by the selection condition for which the data type has been determined is generated.
The extended query description is a partial description of the extended query statement.
For example, when the data type of the code 1132 “+” in FIG. 11 is determined, the query statement generation unit 105 generates an extended query description for causing the external database 150 to execute the “+” operation.
In addition, when the data type of the code 1131 “*” in FIG. 11 is determined, the query statement generation unit 105 generates an extended query description for causing the external database 150 to execute the “*” operation.
In addition, when the data type of reference numeral 1103 “sum ()” in FIG. 11 is determined, the query statement generation unit 105 generates an extended query description for causing the external database 150 to execute the “sum ()” operation.
Then, the query statement generation unit 105 combines the extended query description of “+” operation, the extended query description of “*” operation, and the extended query description of “sum ()” operation to obtain the extended query statement 1221 of FIG. Generate.
In the present embodiment, since the standard query statement 1121 is not generated, the execution plan 145 according to the present embodiment corresponds to the one obtained by excluding the standard query statement 1121 from FIG.
Other operations of the data management apparatus 101 are as described in the first embodiment.
Hereinafter, an operation example of the data management apparatus 101 according to the present embodiment will be described in detail with reference to a flowchart.

***動作の説明***
以下、図14及び図15のフローチャートに基づいて、本実施の形態に係るデータ管理装置101のデータ検索処理を説明する。
図15は、図14のステップS1403の詳細フローを示す。
図14及び図15に示す手順は、本願のデータ管理方法及びデータ管理プログラムの例に相当する。
以降の説明では、図14の開始前に、図6の外部表定義120と図8の外部表演算ルール130とがデータ記憶部111に格納されているものとする。
*** Explanation of operation ***
Hereinafter, based on the flowcharts of FIG. 14 and FIG. 15, the data search processing of the data management apparatus 101 according to the present embodiment will be described.
FIG. 15 shows a detailed flow of step S1403 of FIG.
The procedure shown in FIGS. 14 and 15 corresponds to an example of the data management method and data management program of the present application.
In the following description, it is assumed that the external table definition 120 of FIG. 6 and the external table calculation rule 130 of FIG. 8 are stored in the data storage unit 111 before the start of FIG.

ステップS1401において、検索制御部103の検索条件受信部1031がデータ検索アプリケーション300から検索条件301を受信する(検索条件受信処理)。
ここでは、検索条件受信部1031は、SQL問合せ文である「select sum((fta_1+100) * 0.15) from ft where fta_1 between 1 and 1000000」を検索条件301として受信したものとする。
In step S1401, the search condition receiving unit 1031 of the search control unit 103 receives the search condition 301 from the data search application 300 (search condition receiving process).
Here, it is assumed that the search condition receiving unit 1031 has received “select sum ((fta — 1 + 100) * 0.15) from ft where fta — 1 between 1 and 1000000” as the search condition 301, which is an SQL query statement.

ステップS1402において、検索条件最適化部104が検索条件301を解析し、実行プラン145を生成する。
実施の形態1では、問合せ文生成部105が標準問合せ文を生成したが、本実施の形態では、問合せ文生成部105は標準問合せ文1121を生成しない。
このため、本実施の形態に係る実行プラン145は、図11から標準問合せ文1121を除外したものに相当する。
In step S1402, the search condition optimization unit 104 analyzes the search condition 301 and generates an execution plan 145.
In the first embodiment, the query statement generation unit 105 generates a standard query statement. However, in this embodiment, the query statement generation unit 105 does not generate a standard query statement 1121.
For this reason, the execution plan 145 according to the present embodiment is equivalent to the execution plan 145 excluding the standard query statement 1121 from FIG.

検索条件301が拡張検索条件であるため、検索条件最適化部104は、実行プラン145を問合せ文生成部105に出力し、問合せ文生成部105に拡張問合せ文の生成を指示する。
問合せ文生成部105は、ステップS1403において、図15に示す手順にて拡張問合せ文を生成する(問合せ文生成処理)。
Since the search condition 301 is an extended search condition, the search condition optimization unit 104 outputs the execution plan 145 to the query statement generation unit 105 and instructs the query statement generation unit 105 to generate an extended query statement.
In step S1403, the query statement generation unit 105 generates an extended query statement according to the procedure shown in FIG. 15 (query statement generation process).

後述するように、図15の手順では、選択条件のデータ型の確定処理と拡張問合せ文の生成処理と拡張外部表定義の生成処理が行われているので、ステップS1404において、問合せ文生成部105は、図15で生成された拡張問合せ文と拡張外部表定義とを用いて、図12の実行プラン146を生成する。
実行プラン146の生成手順は実施の形態1で説明したものと同じである。
問合せ文生成部105は、実行プラン146を検索条件最適化部104に出力する。
検索条件最適化部104は、実行プラン146を検索制御部103に出力する。
検索制御部103では、問合せ実行部1032が、実行プラン146の拡張問合せ文1221を外部データベース150に送信する(問合せ実行処理)。
As will be described later, in the procedure of FIG. 15, the process of determining the data type of the selection condition, the generation process of the extended query statement, and the generation process of the extended external table definition are performed. Generates the execution plan 146 of FIG. 12 using the extended query statement and the extended external table definition generated in FIG.
The procedure for generating the execution plan 146 is the same as that described in the first embodiment.
The query statement generation unit 105 outputs the execution plan 146 to the search condition optimization unit 104.
The search condition optimization unit 104 outputs the execution plan 146 to the search control unit 103.
In the search control unit 103, the query execution unit 1032 transmits the extended query statement 1221 of the execution plan 146 to the external database 150 (query execution process).

ステップS1405において、検索制御部103の応答受信部1033が、外部データベース150からの応答を拡張外部表定義1210を用いて受信する。   In step S1405, the response receiving unit 1033 of the search control unit 103 receives the response from the external database 150 using the extended external table definition 1210.

最後に、ステップS1406において、検索制御部103の応答送信部1034が、外部データベース150からの応答をデータ検索アプリケーション300に送信する。   Finally, in step S1406, the response transmission unit 1034 of the search control unit 103 transmits the response from the external database 150 to the data search application 300.

次に、図15のフローチャートを参照して、問合せ文生成部105の拡張問合せ文生成処理(図14のS1403)を説明する。   Next, the extended query statement generation process (S1403 in FIG. 14) of the query statement generator 105 will be described with reference to the flowchart of FIG.

ステップS1501において、問合せ文生成部105が実行プラン145から外部データベース検索のノードを取得する。
ここでは、問合せ文生成部105は、図11の外部データベース検索1102のノードを取得する。
In step S1501, the query statement generation unit 105 acquires a node for external database search from the execution plan 145.
Here, the query statement generation unit 105 acquires the node of the external database search 1102 in FIG.

ステップS1502において、問合せ文生成部105は、外部データベース検索1102の選択条件のうちデータ型が確定していない選択条件が存在するかどうか判別する。
データ型が存在していない選択条件が存在する場合は、問合せ文生成部105は、ステップS1503の処理を行う。
全ての選択条件のデータ型が確定している場合は、問合せ文生成部105は、ステップS1505の処理を行う。
In step S1502, the query statement generation unit 105 determines whether there is a selection condition for which the data type is not fixed among the selection conditions of the external database search 1102.
If there is a selection condition for which the data type does not exist, the query statement generation unit 105 performs the process of step S1503.
When the data types of all the selection conditions are fixed, the query statement generation unit 105 performs the process of step S1505.

ステップS1503において、問合せ文生成部105は、データ型が確定していない選択条件を1つ取り出す。   In step S1503, the query statement generation unit 105 extracts one selection condition whose data type is not fixed.

ステップS1504において、問合せ文生成部105は、ステップS1503で取り出した選択条件のデータ型を確定する。
データ型の確定手順は、実施の形態1で説明したものと同様である。
In step S1504, the query statement generation unit 105 determines the data type of the selection condition extracted in step S1503.
The data type determination procedure is the same as that described in the first embodiment.

ステップS1505において、問合せ文生成部105は、ステップS1504で確定したデータ型に基づき、拡張外部表定義を生成し、また、拡張問合せ記述を生成する。
ステップS1501において、問合せ文生成部105が図11の外部データベース検索1102を取得した場合は、問合せ文生成部105は、この段階で、外部データベース検索1102に従属する選択条件1131〜1135で導出される演算の演算結果に対応する拡張外部表定義と拡張問合せ記述を生成する。
In step S1505, the query statement generation unit 105 generates an extended external table definition and generates an extended query description based on the data type determined in step S1504.
In step S1501, when the query statement generation unit 105 acquires the external database search 1102 of FIG. 11, the query statement generation unit 105 is derived at this stage with selection conditions 1131 to 1135 subordinate to the external database search 1102. An extended external table definition and an extended query description corresponding to the operation result of the operation are generated.

ステップS1506において、問合せ文生成部105は、外部データベース検索1102のノードの上位のノードが存在するかどうか判別する。
上位のノードが存在する場合、問合せ文生成部105は、ステップS1507の処理を行い、上位のノードが存在しない場合は、問合せ文生成部105は図15の処理を終了する。
In step S <b> 1506, the query statement generation unit 105 determines whether there is a node higher than the node of the external database search 1102.
When there is an upper node, the query statement generation unit 105 performs the process of step S1507, and when there is no upper node, the query statement generation unit 105 ends the process of FIG.

ステップS1507において、問合せ文生成部105は、実行プラン145から上位のノード取り出す。   In step S <b> 1507, the query statement generation unit 105 extracts a higher order node from the execution plan 145.

ステップS1508において、問合せ文生成部105は、ステップS1507で取り出したノードの選択条件のうちデータ型が確定していない選択条件が存在するかどうか判別する。
データ型が確定していない選択条件が存在する場合は、問合せ文生成部105は、ステップS1508の処理を行う。
全ての選択条件のデータ型が確定している場合は、問合せ文生成部105は、ステップS1511の処理を行う。
In step S1508, the query statement generation unit 105 determines whether there is a selection condition whose data type is not fixed among the selection conditions for the node extracted in step S1507.
If there is a selection condition for which the data type is not fixed, the query statement generation unit 105 performs the process of step S1508.
If the data types of all the selection conditions are fixed, the query statement generation unit 105 performs the process of step S1511.

ステップS1509において、問合せ文生成部105は、データ型が確定していない選択条件を1つ取り出す。   In step S1509, the query statement generation unit 105 extracts one selection condition whose data type is not fixed.

ステップS1510において、問合せ文生成部105は、ステップS1509で取り出した選択条件のデータ型を確定する。
データ型の確定手順は、実施の形態1で説明したものと同様である。
In step S1510, the query statement generation unit 105 determines the data type of the selection condition extracted in step S1509.
The data type determination procedure is the same as that described in the first embodiment.

ステップS1511において、問合せ文生成部105は、ステップS1510で確定したデータ型に基づき、拡張外部表定義を更新し、また、拡張問合せ記述を生成する。
ステップS1507において、問合せ文生成部105が、図11の集約1101のノードを取得した場合は、問合せ文生成部105は、この段階で、集約1101に従属する選択条件1103、1104で導出される演算の演算結果に対応する拡張問合せ記述を生成する。
また、問合せ文生成部105は、ステップS1505で生成した拡張問合せ記述とステップS1511で生成した拡張問合せ記述とを組み合わせて、最終的な拡張問合せ文を生成する。
更に、問合せ文生成部105は、集約1101に従属する選択条件1103、1104で導出される演算の演算結果に対応する拡張外部表定義を生成し、ステップS1505で生成した拡張外部表定義を、ステップS1511で生成した拡張外部表定義で更新する。
この段階で、図12の拡張問合せ文1221と拡張外部表定義1210が得られる。
In step S1511, the query statement generation unit 105 updates the extended external table definition and generates an extended query description based on the data type determined in step S1510.
In step S1507, when the query statement generation unit 105 acquires the node of the aggregation 1101 in FIG. 11, the query statement generation unit 105 calculates at this stage the selection conditions 1103 and 1104 that are subordinate to the aggregation 1101. An extended query description corresponding to the operation result of is generated.
Further, the query statement generating unit 105 generates a final extended query statement by combining the extended query description generated in step S1505 and the extended query description generated in step S1511.
Further, the query statement generation unit 105 generates an extended external table definition corresponding to the calculation result of the calculation derived in the selection conditions 1103 and 1104 subordinate to the aggregation 1101, and the extended external table definition generated in step S1505 Update with the extended external table definition generated in S1511.
At this stage, the extended query statement 1221 and the extended external table definition 1210 in FIG. 12 are obtained.

***効果の説明***
このように、本実施の形態では、選択条件のデータ型を確定して、外部データベース150において演算が実行可能かどうかを確認するとともに、拡張問合せ記述の生成を行う。
実施の形態1の方法では、標準問合せ文を生成し、選択条件のデータ型を判定し、選択条件のデータ型の判定結果に基づき、標準問合せ文を書き換えて拡張問合せ文を生成する。
このため、実行プランを複数回探索する必要があったが、本実施の形態によれば、実行プランを一度だけ探索することで拡張問合せ文の生成と拡張問合せ文に応じた拡張外部表定義の生成が可能となり、検索速度を向上させることができる。
*** Explanation of effects ***
As described above, in this embodiment, the data type of the selection condition is determined, whether or not the operation can be executed in the external database 150, and the extended query description is generated.
In the method of the first embodiment, a standard query statement is generated, the data type of the selection condition is determined, and the extended query statement is generated by rewriting the standard query statement based on the determination result of the data type of the selection condition.
For this reason, it is necessary to search the execution plan a plurality of times, but according to the present embodiment, generation of the extended query statement and expansion of the extended external table definition corresponding to the extended query statement can be performed by searching the execution plan only once. Generation is possible, and the search speed can be improved.

なお、本実施の形態でも、検索条件301に含まれる演算の全てが外部データベース150で実行可能な例を説明した。
検索条件301に含まれる演算の一部が外部データベース150で実行できない場合は、問合せ文生成部105は、当該一部以外の演算を外部データベース150で実行させる拡張問合せ文を生成する。
例えば、図11の実行プラン145の「sum()」以外は外部データベース150で演算可能であるが、「sum()」は外部データベース150では実行できない場合は、問合せ文生成部105は、検索条件301に含まれる複数の演算のうち「sum()」以外の演算を外部データベース150で実行させる拡張問合せ文を生成する。
そして、当該拡張問合せ文に対する応答を外部データベース150から受信した場合に、検索条件最適化部104が、外部データベース150からの応答に対して「sum()」演算を行って、検索条件301に対応する演算結果を得るようにする。
In the present embodiment, the example in which all the operations included in the search condition 301 can be executed by the external database 150 has been described.
When some of the operations included in the search condition 301 cannot be executed in the external database 150, the query statement generation unit 105 generates an extended query statement that causes the external database 150 to execute operations other than the part of the operations.
For example, if “sum ()” other than “sum ()” in the execution plan 145 of FIG. 11 can be calculated in the external database 150, but “sum ()” cannot be executed in the external database 150, the query statement generation unit 105 uses the search condition. An extended query statement that causes the external database 150 to execute an operation other than “sum ()” among a plurality of operations included in 301 is generated.
Then, when a response to the extended query statement is received from the external database 150, the search condition optimization unit 104 performs a “sum ()” operation on the response from the external database 150 and corresponds to the search condition 301. To obtain the result of the operation.

***注釈***
以上、本発明の実施の形態について説明したが、これら2つの実施の形態のうちの1つを部分的に実施しても構わない。
あるいは、各実施の形態の特定の部分を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
*** Annotation ***
While the embodiments of the present invention have been described above, one of these two embodiments may be partially implemented.
Or you may implement combining the specific part of each embodiment partially.
In addition, this invention is not limited to these embodiment, A various change is possible as needed.

***ハードウェア構成の説明***
最後に、図3を参照して、データ管理装置101のハードウェア構成例を説明する。
データ管理装置101はコンピュータである。
データ管理装置101は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
*** Explanation of hardware configuration ***
Finally, an example of the hardware configuration of the data management apparatus 101 will be described with reference to FIG.
The data management apparatus 101 is a computer.
The data management apparatus 101 includes hardware such as a processor 901, an auxiliary storage device 902, a memory 903, a communication device 904, an input interface 905, and a display interface 906.
The processor 901 is connected to other hardware via the signal line 910, and controls these other hardware.
The input interface 905 is connected to the input device 907.
The display interface 906 is connected to the display 908.

プロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
The processor 901 is an IC (Integrated Circuit) that performs processing.
The processor 901 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
The auxiliary storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or an HDD (Hard Disk Drive).
The memory 903 is, for example, a RAM (Random Access Memory).
The communication device 904 includes a receiver 9041 that receives data and a transmitter 9042 that transmits data.
The communication device 904 is, for example, a communication chip or a NIC (Network Interface Card).
The input interface 905 is a port to which the cable 911 of the input device 907 is connected.
The input interface 905 is, for example, a USB (Universal Serial Bus) terminal.
The display interface 906 is a port to which the cable 912 of the display 908 is connected.
The display interface 906 is, for example, a USB terminal or an HDMI (registered trademark) (High Definition Multimedia Interface) terminal.
The input device 907 is, for example, a mouse, a keyboard, or a touch panel.
The display 908 is, for example, an LCD (Liquid Crystal Display).

補助記憶装置902には、図1及び図13に示す外部表定義部102、検索制御部103、検索条件最適化部104、問合せ文生成部105(以下、外部表定義部102、検索制御部103、検索条件最適化部104、問合せ文生成部105をまとめて「部」と表記する)の機能を実現するプログラムが記憶されている。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
更に、補助記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図3では、1つのプロセッサ901が図示されているが、データ管理装置101が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
The auxiliary storage device 902 includes the external table definition unit 102, the search control unit 103, the search condition optimization unit 104, and the query statement generation unit 105 (hereinafter, the external table definition unit 102, the search control unit 103) shown in FIGS. , The search condition optimization unit 104 and the query statement generation unit 105 are collectively referred to as “parts”).
This program is loaded into the memory 903, read into the processor 901, and executed by the processor 901.
Further, the auxiliary storage device 902 also stores an OS (Operating System).
Then, at least a part of the OS is loaded into the memory 903, and the processor 901 executes a program that realizes the function of “unit” while executing the OS.
In FIG. 3, one processor 901 is illustrated, but the data management apparatus 101 may include a plurality of processors 901.
A plurality of processors 901 may execute a program for realizing the function of “unit” in cooperation with each other.
In addition, information, data, signal values, and variable values indicating the processing results of “unit” are stored in the memory 903, the auxiliary storage device 902, or a register or cache memory in the processor 901.

「部」を「サーキットリー」で提供してもよい。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
The “part” may be provided as “circuitry”.
Further, “part” may be read as “circuit”, “process”, “procedure”, or “processing”.
“Circuit” and “Circuitry” include not only the processor 901 but also other types of processing circuits such as a logic IC or GA (Gate Array) or ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). It is a concept to include.

101 データ管理装置、102 外部表定義部、103 検索制御部、104 検索条件最適化部、105 問合せ文生成部、111 データ記憶部、120 外部表定義、130 外部表演算ルール、140 外部データベース定義、145 実行プラン、146 実行プラン、147 問合せ文生成ルール、150 外部データベース、151 検索実行部、152 データ格納領域、200 外部表定義アプリケーション、201 外部表定義、300 データ検索アプリケーション、301 検索条件、302 検索結果、1031 検索条件受信部、1032 問合せ実行部、1033 応答受信部、1034 応答送信部、1051 標準問合せ文生成部、1052 拡張問合せ文生成部。   DESCRIPTION OF SYMBOLS 101 Data management apparatus, 102 External table definition part, 103 Search control part, 104 Search condition optimization part, 105 Query sentence generation part, 111 Data storage part, 120 External table definition, 130 External table calculation rule, 140 External database definition, 145 Execution Plan, 146 Execution Plan, 147 Query Statement Generation Rule, 150 External Database, 151 Search Execution Unit, 152 Data Storage Area, 200 External Table Definition Application, 201 External Table Definition, 300 Data Search Application, 301 Search Condition, 302 Search Result: 1031 Search condition reception unit, 1032 Query execution unit, 1033 Response reception unit, 1034 Response transmission unit, 1051 Standard query statement generation unit, 1052 Extended query statement generation unit.

Claims (10)

外部データベースで実行可能な演算が定義されている外部表演算ルールを記憶するデータ記憶部と、
検索条件を受信する検索条件受信部と、
前記検索条件受信部により受信された前記検索条件で前記外部データベースに格納されているデータの検索と検索されたデータを用いた演算とが要求されている場合に、前記外部表演算ルールに基づき、前記検索条件で要求されている演算が前記外部データベースで実行可能であるか否かを判断し、前記検索条件で要求されている演算が前記外部データベースで実行可能である場合に、前記検索条件で要求されている検索と演算とを前記外部データベースに実行させる問合せ文である拡張問合せ文を生成する問合せ文生成部と、
前記問合せ文生成部により生成された前記拡張問合せ文を前記外部データベースに送信する問合せ実行部とを有するデータ管理装置。
A data storage unit for storing external table operation rules in which operations that can be executed in an external database are defined;
A search condition receiver for receiving search conditions;
When a search for data stored in the external database and an operation using the searched data are requested by the search condition received by the search condition receiving unit, based on the external table operation rule, It is determined whether or not the operation requested in the search condition can be executed in the external database, and the operation requested in the search condition can be executed in the external database. A query statement generation unit that generates an extended query statement that is a query statement that causes the external database to execute the requested search and operation;
A data management apparatus comprising: a query execution unit that transmits the extended query statement generated by the query statement generation unit to the external database.
前記データ記憶部は、
前記外部データベースで実行可能な演算の演算子と被演算子のデータ型と演算結果のデータ型とが定義される外部表演算ルールを記憶しており、
前記問合せ文生成部は、
前記検索条件で要求されている演算の演算子と被演算子のデータ型と演算結果のデータ型とを解析し、前記検索条件で要求されている演算の演算子と被演算子のデータ型と演算結果のデータ型とが前記外部表演算ルールに定義されている場合に、前記検索条件で要求されている演算が前記外部データベースで実行可能であると判断する請求項1に記載のデータ管理装置。
The data storage unit
Storing external table operation rules in which operators of operations that can be executed in the external database, data types of operands, and data types of operation results are defined;
The query statement generation unit
Analyzes the operator and operand data types required by the search condition and the data type of the operation result, and calculates the operator and operand data types required by the search condition. The data management device according to claim 1, wherein when the data type of the operation result is defined in the external table operation rule, it is determined that the operation requested by the search condition can be executed in the external database. .
前記データ記憶部は、
前記外部データベースが実行可能な複数の演算が定義される外部表演算ルールを記憶しており、
前記問合せ文生成部は、
前記検索条件受信部により受信された前記検索条件で複数の演算が要求され、前記複数の演算の実行順序が指定されている場合に、
実行順序が先の演算から順に、演算ごとに、前記外部表演算ルールに基づき、前記外部データベースで演算が実行可能であるか否かを判断し、前記検索条件で要求されている検索と、前記検索条件で要求されている前記複数の演算のうち前記外部データベースで実行可能な演算とを前記外部データベースに実行させる拡張問合せ文を生成する請求項1に記載のデータ管理装置。
The data storage unit
Storing external table operation rules in which a plurality of operations that can be executed by the external database are defined;
The query statement generation unit
When a plurality of operations are requested in the search condition received by the search condition receiving unit, and an execution order of the plurality of operations is specified,
In the order of execution from the previous operation, for each operation, based on the external table operation rule, determine whether or not the operation can be executed in the external database, the search requested by the search condition, The data management apparatus according to claim 1, wherein an extended query statement is generated that causes the external database to execute an operation that can be executed in the external database among the plurality of operations requested by a search condition.
前記データ記憶部は、
前記外部データベースからの応答の標準形式が定義される標準外部表定義を記憶しており、
前記問合せ文生成部は、
前記検索条件受信部により受信された前記検索条件で前記外部データベースに格納されているデータの検索と検索されたデータを用いた演算とが要求されている場合に、
前記標準外部表定義で定義されている前記標準形式に基づき、前記検索条件で要求されている検索を前記外部データベースに実行させる問合せ文である標準問合せ文を生成し、
前記外部表演算ルールに基づき、前記検索条件で要求されている演算が前記外部データベースで実行可能であるか否かを判断し、前記検索条件で要求されている演算が前記外部データベースで実行可能である場合に、前記標準問合せ文を書き換えて前記拡張問合せ文を生成する請求項1に記載のデータ管理装置。
The data storage unit
Storing a standard external table definition in which a standard format of a response from the external database is defined;
The query statement generation unit
When a search for data stored in the external database and an operation using the searched data are requested by the search condition received by the search condition receiving unit,
Based on the standard format defined in the standard external table definition, generate a standard query statement that is a query statement that causes the external database to execute a search requested by the search condition,
Based on the external table operation rule, it is determined whether or not the operation requested in the search condition can be executed in the external database, and the operation requested in the search condition can be executed in the external database. The data management apparatus according to claim 1, wherein in some cases, the standard query statement is rewritten to generate the extended query statement.
前記データ記憶部は、
前記外部データベースが実行可能な複数の演算が定義される外部表演算ルールを記憶しており、
前記問合せ文生成部は、
前記検索条件受信部により受信された前記検索条件で複数の演算が要求され、前記複数の演算の実行順序が指定されている場合に、
実行順序が先の演算から順に、演算ごとに、前記外部表演算ルールに基づき、前記外部データベースで演算が実行可能であるか否かを判断し、前記検索条件で要求されている検索と、前記検索条件で要求されている前記複数の演算のうち前記外部データベースで実行可能であると判断された演算とを前記外部データベースに実行させる拡張問合せ文を、前記標準問合せ文を書き換えて生成する請求項4に記載のデータ管理装置。
The data storage unit
Storing external table operation rules in which a plurality of operations that can be executed by the external database are defined;
The query statement generation unit
When a plurality of operations are requested in the search condition received by the search condition receiving unit, and an execution order of the plurality of operations is specified,
In the order of execution from the previous operation, for each operation, based on the external table operation rule, determine whether or not the operation can be executed in the external database, the search requested by the search condition, The extended query statement that causes the external database to execute an operation determined to be executable in the external database among the plurality of operations requested by a search condition is generated by rewriting the standard query statement. 4. The data management device according to 4.
前記データ記憶部は、
前記外部データベースが実行可能な複数の演算が定義される外部表演算ルールを記憶しており、
前記問合せ文生成部は、
前記検索条件受信部により受信された前記検索条件で複数の演算が要求され、前記複数の演算の実行順序が指定されている場合に、
実行順序が先の演算から順に、演算ごとに、前記外部表演算ルールに基づき、前記外部データベースで演算が実行可能であるか否かを判断する判断処理と、前記判断処理により前記外部データベースで実行可能であると判断された演算を前記外部データベースに実行させるための記述を拡張問合せ記述として生成する記述生成処理とを繰り返し、演算ごとの拡張問合せ記述の組み合わせにより前記拡張問合せ文を生成する請求項1に記載のデータ管理装置。
The data storage unit
Storing external table operation rules in which a plurality of operations that can be executed by the external database are defined;
The query statement generation unit
When a plurality of operations are requested in the search condition received by the search condition receiving unit, and an execution order of the plurality of operations is specified,
A determination process for determining whether or not an operation can be executed in the external database based on the external table calculation rule for each calculation in order from the previous calculation, and executing in the external database by the determination process A description generation process for generating, as an extended query description, a description for causing the external database to execute an operation determined to be possible is repeated, and the extended query statement is generated by a combination of extended query descriptions for each operation. The data management apparatus according to 1.
前記問合せ文生成部は、
前記拡張問合せ文に対する前記外部データベースからの応答の形式が定義される拡張外部表定義を生成する請求項1に記載のデータ管理装置。
The query statement generation unit
The data management apparatus according to claim 1, wherein an extended external table definition that defines a format of a response from the external database to the extended query statement is generated.
前記データ管理装置は、更に、
前記問合せ文生成部により生成された前記拡張外部表定義を参照して、前記外部データベースからの応答を受信する応答受信部を有する請求項7に記載のデータ管理装置。
The data management device further includes:
The data management apparatus according to claim 7, further comprising a response reception unit that receives a response from the external database with reference to the extended external table definition generated by the query statement generation unit.
外部データベースで実行可能な演算が定義されている外部表演算ルールを記憶するコンピュータが、
検索条件を受信し、
受信した前記検索条件で前記外部データベースに格納されているデータの検索と検索されたデータを用いた演算とが要求されている場合に、前記外部表演算ルールに基づき、前記検索条件で要求されている演算が前記外部データベースで実行可能であるか否かを判断し、前記検索条件で要求されている演算が前記外部データベースで実行可能である場合に、前記検索条件で要求されている検索と演算とを前記外部データベースに実行させる問合せ文である拡張問合せ文を生成し、
生成した前記拡張問合せ文を前記外部データベースに送信するデータ管理方法。
A computer that stores external table operation rules that define operations that can be executed in an external database.
Receive search criteria,
When the search of the data stored in the external database and the calculation using the searched data are requested by the received search condition, the search condition is requested based on the external table calculation rule. If the operation requested in the external database is executable in the external database, the search and operation requested in the search condition are performed. Generating an extended query statement that is a query statement that causes the external database to execute
A data management method for transmitting the generated extended query statement to the external database.
外部データベースで実行可能な演算が定義されている外部表演算ルールを記憶するコンピュータに、
検索条件を受信する検索条件受信処理と、
前記検索条件受信処理により受信された前記検索条件で前記外部データベースに格納されているデータの検索と検索されたデータを用いた演算とが要求されている場合に、前記外部表演算ルールに基づき、前記検索条件で要求されている演算が前記外部データベースで実行可能であるか否かを判断し、前記検索条件で要求されている演算が前記外部データベースで実行可能である場合に、前記検索条件で要求されている検索と演算とを前記外部データベースに実行させる問合せ文である拡張問合せ文を生成する問合せ文生成処理と、
前記問合せ文生成処理により生成された前記拡張問合せ文を前記外部データベースに送信する問合せ実行処理とを実行させるデータ管理プログラム。
A computer that stores external table operation rules that define operations that can be executed in an external database.
Search condition reception processing for receiving search conditions;
When a search for data stored in the external database with the search condition received by the search condition reception process and an operation using the searched data are requested, based on the external table calculation rule, It is determined whether or not the operation requested in the search condition can be executed in the external database, and the operation requested in the search condition can be executed in the external database. A query statement generation process for generating an extended query statement that is a query statement for causing the external database to execute the requested search and operation;
A data management program that executes query execution processing for transmitting the extended query statement generated by the query statement generation processing to the external database.
JP2017500153A 2015-02-16 2015-02-16 Data management apparatus, data management method, and data management program Active JP6309155B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/054133 WO2016132433A1 (en) 2015-02-16 2015-02-16 Data management device, data management method, and data management program

Publications (2)

Publication Number Publication Date
JPWO2016132433A1 true JPWO2016132433A1 (en) 2017-06-29
JP6309155B2 JP6309155B2 (en) 2018-04-11

Family

ID=56689309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017500153A Active JP6309155B2 (en) 2015-02-16 2015-02-16 Data management apparatus, data management method, and data management program

Country Status (2)

Country Link
JP (1) JP6309155B2 (en)
WO (1) WO2016132433A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588150A (en) * 1994-09-29 1996-12-24 International Business Machines Corporation Push down optimization in a distributed, multi-database system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588150A (en) * 1994-09-29 1996-12-24 International Business Machines Corporation Push down optimization in a distributed, multi-database system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中山陽太郎: "PostgreSQLを活用した仮想データ統合基盤の実現", ユニシス技報, vol. 31, no. 4, JPN6015008683, 31 March 2012 (2012-03-31), pages 25 - 37, ISSN: 0003739320 *

Also Published As

Publication number Publication date
JP6309155B2 (en) 2018-04-11
WO2016132433A1 (en) 2016-08-25

Similar Documents

Publication Publication Date Title
US10635668B2 (en) Intelligently utilizing non-matching weighted indexes
JP5437557B2 (en) Search processing method and search system
US20150128150A1 (en) Data processing method and information processing apparatus
US9734178B2 (en) Searching entity-key associations using in-memory objects
CN104881466A (en) Method and device for processing data fragments and deleting garbage files
US20190188647A1 (en) Multiple element job classification
CN109241100B (en) Query method, device, equipment and storage medium
US20140067853A1 (en) Data search method, information system, and recording medium storing data search program
CN110362404B (en) SQL-based resource allocation method and device and electronic equipment
JP5354981B2 (en) Document management apparatus, document management method, and program
CN111949648B (en) Memory data caching system and data indexing method
US20190266194A1 (en) Information analysis system, information analysis method, and recording medium
JP6309155B2 (en) Data management apparatus, data management method, and data management program
US20140379727A1 (en) Database management method and information processing apparatus
US20200012630A1 (en) Smaller Proximate Search Index
US10534790B2 (en) Dynamic and predictive global temporary tables
JP5162215B2 (en) Data processing apparatus, data processing method, and program
CN111475572B (en) Block generation method, device, equipment and medium
CN105630789A (en) Query plan converting method and device
JP2020135530A (en) Data management device, data search method and program
US10303832B2 (en) Architecture generating device
WO2022044923A1 (en) Information processing device
KR101441000B1 (en) A parallel change detection method for triple data
US20230342352A1 (en) System and Method for Matching into a Complex Data Set
JP2024033967A (en) Database control device, database control method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170223

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180313

R150 Certificate of patent or registration of utility model

Ref document number: 6309155

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250