+

JP2011238072A - Database management device, database system, and method and program for database management - Google Patents

Database management device, database system, and method and program for database management Download PDF

Info

Publication number
JP2011238072A
JP2011238072A JP2010109641A JP2010109641A JP2011238072A JP 2011238072 A JP2011238072 A JP 2011238072A JP 2010109641 A JP2010109641 A JP 2010109641A JP 2010109641 A JP2010109641 A JP 2010109641A JP 2011238072 A JP2011238072 A JP 2011238072A
Authority
JP
Japan
Prior art keywords
database
data block
identifier
processing
correspondence
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
JP2010109641A
Other languages
Japanese (ja)
Other versions
JP5367636B2 (en
Inventor
Takeshi Yamamuro
健 山室
Yoshiharu Suga
啓敏 須賀
Naoya Kotani
尚也 小谷
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010109641A priority Critical patent/JP5367636B2/en
Publication of JP2011238072A publication Critical patent/JP2011238072A/en
Application granted granted Critical
Publication of JP5367636B2 publication Critical patent/JP5367636B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】 データ内容が複数のデータベースの内容の重複がないように振り分ける。
【解決手段】 本発明は、DB管理装置において、処理内容入力装置から受信した処理内容を複数のDB装置のいずれかに送信し、DB装置は、該処理内容が参照するデータブロック識別子とDB識別子とを関連付けた対応関係情報を、メモリ管理手段から取得して、DB管理装置に送信し、DB管理装置ではその対応関係情報を参照先データブロック記憶手段に格納しておき、処理要求が入力されると、参照先データブロック記憶手段から該処理に合致するデータブロック識別子及びDB識別子を取得し、そのデータブロック識別子がいずれかのDB識別子と対応付けられているかを判定し、対応付けられていない場合は、該データブロック識別子を、該対応関係記憶手段の対応付け済みデータブロック総数が最も少ないDB識別子に対応付けて格納し、データブロック識別子が最も多く対応付けられているDBに処理入力装置から入力された処理を振り分ける。
【選択図】 図9
PROBLEM TO BE SOLVED: To distribute data contents so that there is no duplication of contents of a plurality of databases.
In the DB management device, the processing content received from the processing content input device is transmitted to any of a plurality of DB devices, and the DB device refers to the data block identifier and the DB identifier referred to by the processing content. Is acquired from the memory management means and transmitted to the DB management device. The DB management device stores the correspondence information in the reference destination data block storage means, and a processing request is input. Then, a data block identifier and a DB identifier that match the processing are acquired from the reference destination data block storage means, and it is determined whether the data block identifier is associated with any DB identifier. In this case, the data block identifier is associated with the DB identifier having the smallest number of associated data blocks in the correspondence storage means. The processing input from the processing input device is distributed to the DB that is stored and stored with the largest number of data block identifiers.
[Selection] Figure 9

Description

本発明は、データベース管理装置及びデータベースシステム及びデータベース管理方法及びプログラに係り、特に、ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベースの負荷を分散させるためのデータベース管理装置及びデータベースシステム及びデータベース管理方法及びプログラに関する。   The present invention relates to a database management apparatus, a database system, a database management method, and a program, and more particularly, to a database management apparatus for distributing loads of a plurality of databases that are distributed and arranged on a network and data contents in a database are synchronized. And a database system, a database management method, and a program.

ネットワーク上に分散配置されたノードの負荷が均等になるように処理を振り分ける技術として、図11に示すように、処理入力装置から入力があるまで待機し(ステップ10)、CPUやI/Oの負荷などの統計情報を利用して、入力された処理要求を振り分けるデータベースを決定し(ステップ20)、振り分け先のデータベースに「処理送信部」を介して処理を送信する(ステップ30)、技術がある(例えば、特許文献1参照)。   As a technique for distributing the processing so that the load of the nodes distributed on the network is equalized, as shown in FIG. 11, it waits until there is an input from the processing input device (step 10), and the CPU and I / O Using a statistical information such as a load, a database to which an input processing request is distributed is determined (step 20), and the process is transmitted to a distribution destination database via a “process transmission unit” (step 30). Yes (see, for example, Patent Document 1).

また、処理を振り分ける際に、メモリ使用量の均等化を行う技術がある(例えば、非特許文献1参照)。   In addition, there is a technique for equalizing memory usage when distributing processes (see, for example, Non-Patent Document 1).

特開2004-118622号公報、「負荷分散装置及び方法及びプログラム」JP 2004-118622 A, “Load Balancing Device, Method, and Program”

Sameh Elnikety, et al., "Tashkent+: Memory-Aware Load Balancing and Update Filtering in Replicated Database", SIGOPS Oper. Syst. Rev., Vol. 41, No. 3, pp. 399-412, 2007.Sameh Elnikety, et al., "Tashkent +: Memory-Aware Load Balancing and Update Filtering in Replicated Database", SIGOPS Oper. Syst. Rev., Vol. 41, No. 3, pp. 399-412, 2007.

しかしながら、従来は、上記の特許文献1の技術のように、入力された処理を振り分ける際に、振り分けの判断材料としてCPUやI/O(入出力)等の負荷率を利用するものが多いが、各々の処理が参照するマシン上のデータ領域(データブロック)を考慮せずに処理を振り分けるため、図12に示すように複数マシン上のメモリ内容(メモリ上のデータブロック)が重複してしまい、メモリヒット率が低下する問題がある。   However, conventionally, as in the technique of the above-mentioned Patent Document 1, when an input process is distributed, a load factor such as a CPU or I / O (input / output) is often used as a material for determining the distribution. Since the processing is distributed without considering the data area (data block) on the machine to which each processing refers, the memory contents (data blocks on the memory) on a plurality of machines overlap as shown in FIG. There is a problem that the memory hit rate decreases.

また、非特許文献1の手法は、処理の振り分けの際に、メモリ使用量の均等化を行っているが、上記と同様に、メモリ内容の重複が発生し、メモリヒット率が低下する。   In the method of Non-Patent Document 1, memory usage is equalized at the time of processing distribution, but as described above, duplication of memory contents occurs and the memory hit rate decreases.

このように、従来は、各データベース上のメモリ内容の重複を取り除く機構そのものがないという問題がある。   As described above, conventionally, there is a problem that there is no mechanism for removing duplication of memory contents in each database.

本発明は上記の点に鑑みなされたもので、データ内容が同期された複数のデータベースにSQLで記述された処理を負荷分散のために振り分ける環境下において、データベース上の内容の重複がないように振り分けることが可能な分散配置データベースの負荷分散方法及び装置及びプログラムを提供することを目的とする。   The present invention has been made in view of the above points. In an environment where processing described in SQL is distributed to a plurality of databases whose data contents are synchronized for load distribution, there is no duplication of contents on the databases. An object of the present invention is to provide a load distribution method, apparatus, and program for a distributed arrangement database that can be distributed.

上記の課題を解決するために、本発明(請求項1)は、ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベースに処理を振り分けるデータベース管理装置であって、
N個の処理内容を入力する処理内容入力装置から受信した処理内容を複数のデータベース装置のいずれかに送信し、該データベース装置から、処理内容と該処理内容が参照するデータブロックのデータブロック識別子とデータベース識別子の対応関係情報を取得して、参照先データブロック記憶手段に格納するデータベース情報収集手段と、
処理要求を入力する処理入力装置から処理を受け付け、要求された処理の内容に基づいて、該処理に合致するデータブロック識別子及びデータベース識別子を取得する参照データブロック決定手段と、
データベース識別子とデータベース識別子との対応関係を保持する対応関係記憶手段と、
対応関係記憶手段を参照して、参照データブロック決定手段で取得したデータブロック識別子がいずれかのデータベース識別子と対応付けられているかを判定し、対応付けられていない場合は、該データブロック識別子を、該対応関係記憶手段の対応付け済みデータブロック総数が最も少ないデータベース識別子と対応付けて該対応関係記憶手段に格納する対応関係決定手段と、
対応関係記憶手段を参照し、データブロック識別子が最も多く対応付けられているデータベースに処理入力装置から入力された処理を振り分ける処理振り分け手段と、を有する。
In order to solve the above problem, the present invention (Claim 1) is a database management device that distributes processing to a plurality of databases that are distributed on a network and in which data contents in the database are synchronized.
The processing content received from the processing content input device that inputs N processing content is transmitted to any of the plurality of database devices, and the processing content and the data block identifier of the data block referred to by the processing content are transmitted from the database device, Database information collecting means for acquiring correspondence information of database identifiers and storing the information in reference destination data block storage means;
A reference data block determination unit that receives a process from a process input device that inputs a process request, and acquires a data block identifier and a database identifier that match the process based on the content of the requested process;
Correspondence storage means for holding a correspondence between a database identifier and a database identifier;
Referring to the correspondence relationship storage means, it is determined whether the data block identifier acquired by the reference data block determination means is associated with any database identifier, and if not, the data block identifier is A correspondence determining means for storing in the correspondence storage means in association with the database identifier having the smallest number of associated data blocks in the correspondence storage means;
A process distribution unit that refers to the correspondence relationship storage unit and distributes the process input from the process input device to the database associated with the largest number of data block identifiers.

本発明(請求項2)は、ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベース装置であって、
メモリを有し、データベースを管理するメモリ管理手段と、
当該データベース装置に対して処理を振り分けるデータベース管理装置から、N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、メモリ管理手段から取得して該データベース管理装置に送信するデータベース情報取得手段と、を有し、
メモリ管理手段は、
メモリに処理内容に対応するデータブロック識別子がない場合は、データベースからデータブロック識別子を取得して、該メモリに書き込むと共に、データベース情報取得手段に渡す手段を含む。
The present invention (Claim 2) is a plurality of database devices distributed on a network and synchronized with data contents in a database,
A memory management means having a memory and managing a database;
Acquire N processing contents from the database management apparatus that distributes the processing to the database apparatus, and acquire from the memory management means correspondence information that associates the data block identifier referred to by the processing contents with the database identifier. Database information acquisition means for transmitting to the database management device,
Memory management means
When there is no data block identifier corresponding to the processing content in the memory, the data block identifier is acquired from the database, written to the memory, and passed to the database information acquisition unit.

本発明(請求項3)は、ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベース装置と、該データベースに処理を振り分けるデータベース管理装置からなるデータベースシステムであって、
データベース装置は、
メモリを有し、データベースを管理するメモリ管理手段と、
当該データベース装置に対して処理を振り分けるデータベース管理装置から、N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、メモリ管理手段から取得して該データベース管理装置に送信するデータベース情報取得手段と、を有し、
メモリ管理手段は、
メモリに処理内容に対応するデータブロック識別子がない場合は、データベースからデータブロック識別子を取得して、該メモリに書き込むと共に、データベース情報取得手段に渡す手段を含み、
データベース管理装置は、
N個の処理内容を入力する処理内容入力装置から受信した処理内容を複数のデータベース装置のいずれかに送信し、該データベース装置から、処理内容と該処理内容が参照するデータブロックのデータブロック識別子とデータベース識別子の対応関係情報を取得して、参照先データブロック記憶手段に格納するデータベース情報収集手段と、
処理要求を入力する処理入力装置から処理を受け付け、要求された処理の内容に基づいて、該処理に合致するデータブロック識別子及びデータベース識別子を取得する参照データブロック決定手段と、
データベース識別子とデータベース識別子との対応関係を保持する対応関係記憶手段と、
対応関係記憶手段を参照して、参照データブロック決定手段で取得したデータブロック識別子がいずれかのデータベース識別子と対応付けられているかを判定し、対応付けられていない場合は、該データブロック識別子を、該対応関係記憶手段の対応付け済みデータブロック総数が最も少ないデータベース識別子と対応付けて該対応関係記憶手段に格納する対応関係決定手段と、
対応関係記憶手段を参照し、データブロック識別子が最も多く対応付けられているデータベースに処理入力装置から入力された処理を振り分ける処理振り分け手段と、
を有する。
The present invention (Claim 3) is a database system comprising a plurality of database devices that are distributed on a network and whose data contents in the database are synchronized, and a database management device that distributes processing to the database,
The database device
A memory management means having a memory and managing a database;
Acquire N processing contents from the database management apparatus that distributes the processing to the database apparatus, and acquire from the memory management means correspondence information that associates the data block identifier referred to by the processing contents with the database identifier. Database information acquisition means for transmitting to the database management device,
Memory management means
When there is no data block identifier corresponding to the processing content in the memory, the data block identifier is acquired from the database, written to the memory, and includes means for passing to the database information acquisition unit,
Database management device
The processing content received from the processing content input device that inputs N processing content is transmitted to any of the plurality of database devices, and the processing content and the data block identifier of the data block referred to by the processing content are transmitted from the database device, Database information collecting means for acquiring correspondence information of database identifiers and storing the information in reference destination data block storage means;
A reference data block determination unit that receives a process from a process input device that inputs a process request, and acquires a data block identifier and a database identifier that match the process based on the content of the requested process;
Correspondence storage means for holding a correspondence between a database identifier and a database identifier;
Referring to the correspondence relationship storage means, it is determined whether the data block identifier acquired by the reference data block determination means is associated with any database identifier, and if not, the data block identifier is A correspondence determining means for storing in the correspondence storage means in association with the database identifier having the smallest number of associated data blocks in the correspondence storage means;
A process distribution unit that refers to the correspondence relationship storage unit, and distributes the process input from the process input device to the database associated with the largest number of data block identifiers;
Have

本発明(請求項4)は、ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベース装置と、該データベース装置に処理を振り分けるデータベース管理装置から構成されるシステムにおけるデータベース管理方法であって、
データベース管理装置は、
データベース情報収集手段が、N個の処理内容を入力する処理内容入力装置から受信した処理内容を複数のデータベース装置のいずれかに送信し、
データベース装置は、
データベース情報送信手段が、N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、データベースを管理するメモリ管理手段から取得して、データベース管理装置に送信し、
データベース管理装置のデータベース情報収集手段が、
データベース装置から、対応関係情報を取得して、参照先データブロック記憶手段に格納し、
データベース管理装置の参照ブロック決定手段が、
処理要求を入力する処理入力装置から処理を受け付け、要求された処理の内容に基づいて、参照先データブロック記憶手段から該処理に合致するデータブロック識別子及びデータベース識別子を取得し、
データベース管理装置の対応関係決定手段が、
データブロック識別子がいずれかのデータベース識別子と対応付けられているかを、データベース識別子とデータベース識別子との対応関係を保持する対応関係記憶手段を参照して判定し、対応付けられていない場合は、該データブロック識別子を、該対応関係記憶手段の対応付け済みデータブロック総数が最も少ないデータベース識別子に対応付けて該対応関係記憶手段に格納し、
データベース管理装置の処理振り分け手段が、
対応関係記憶手段を参照し、データブロック識別子が最も多く対応付けられているデータベースに処理入力装置から入力された処理を振り分ける。
The present invention (Claim 4) is a database management method in a system comprising a plurality of database devices that are distributed on a network and whose data contents in a database are synchronized, and a database management device that distributes processing to the database devices. Because
Database management device
The database information collection means transmits the processing content received from the processing content input device that inputs N processing content to any of the plurality of database devices,
The database device
The database information transmitting means acquires N processing contents, acquires correspondence information associating the data block identifier referred to by the processing contents with the database identifier from the memory management means for managing the database, and To the management device,
The database information collection means of the database management device
Acquire correspondence information from the database device, store it in the reference data block storage means,
The reference block determining means of the database management device is
Accepting the processing from the processing input device that inputs the processing request, based on the content of the requested processing, obtains the data block identifier and database identifier that match the processing from the reference destination data block storage means,
The correspondence determining means of the database management device is
Whether the data block identifier is associated with any one of the database identifiers is determined by referring to the correspondence storage means that holds the correspondence between the database identifier and the database identifier. The block identifier is stored in the correspondence storage unit in association with the database identifier having the smallest number of associated data blocks in the correspondence storage unit,
The processing distribution means of the database management device is
With reference to the correspondence relationship storage means, the processing input from the processing input device is assigned to the database with the largest number of data block identifiers.

また、本発明(請求項5)は、請求項4のデータベース装置において、
N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、データベースを管理するメモリ管理手段から取得する際に、
メモリ管理手段内のメモリに処理内容に対応するデータブロック識別子がない場合は、データベースからデータブロック識別子を取得して、該メモリに書き込み、データベース管理装置に送信する。
The present invention (Claim 5) is the database apparatus according to Claim 4,
When acquiring N pieces of processing contents and acquiring the correspondence information associating the data block identifier and the database identifier referred to by the processing contents from the memory management means for managing the database,
If there is no data block identifier corresponding to the processing content in the memory in the memory management means, the data block identifier is acquired from the database, written to the memory, and transmitted to the database management device.

本発明(請求項6)は、請求項1に記載のデータベース管理装置を構成する各手段としてコンピュータを機能させるためのプログラムである。   The present invention (Claim 6) is a program for causing a computer to function as each means constituting the database management apparatus according to Claim 1.

本発明(請求項7)は、請求項2に記載のデータベース管理装置を構成する各手段としてコンピュータを機能させるためのプログラムである。   The present invention (Claim 7) is a program for causing a computer to function as each means constituting the database management apparatus according to Claim 2.

上記のように、本発明によれば、処理内容入力装置から入力された処理内容に基づいて、ある処理がデータベース上で実行された場合に参照するデータブロック情報を収集し、参照先データブロック記憶手段に格納しておき、処理入力装置から入力された処理が、データベース上のどこのデータブロックを参照するかについての情報を、参照先データブロック記憶手段の情報から{処理、データベース、データブロック}が関連付けられた情報を利用することで、データベース間で重複しないように振り分けることができる。   As described above, according to the present invention, based on the processing content input from the processing content input device, data block information to be referred to when a certain process is executed on the database is collected, and the reference data block storage The information about which data block on the database is referred to by the process input from the process input device is stored in the means from the information in the reference data block storage means {process, database, data block} By using the information associated with, it can be distributed so as not to overlap between databases.

また、各データベースのメモリ内容の重複がなくなることで、その分の領域が空き領域となるため、いままで、メモリに格納されることがなかったデータベースのデータブロックがメモリに格納されるようになり、メモリヒット率が向上する。これにより、従来技術と比較した場合、入力処理の平均処理完了時間が短縮されると共に、メモリの有効活用が可能となる。   In addition, since there is no duplication of the memory contents of each database, the corresponding area becomes a free area, so the database data blocks that have not been stored in the memory until now are stored in the memory. The memory hit rate is improved. Thereby, when compared with the prior art, the average processing completion time of the input processing is shortened, and the memory can be effectively used.

本発明の一実施の形態におけるシステム構成図である。1 is a system configuration diagram according to an embodiment of the present invention. 本発明の一実施の形態における一連の処理のフローチャートである。It is a flowchart of a series of processes in one embodiment of the present invention. 本発明の一実施の形態におけるデータベース情報初期化部の処理のフローチャートである。It is a flowchart of the process of the database information initialization part in one embodiment of this invention. 本発明の一実施の形態におけるデータベース情報初期化時のデータベース側の処理のフローチャートである。It is a flowchart of the process by the side of the database at the time of the database information initialization in one embodiment of this invention. 本発明の一実施の形態におけるステップ300の処理の参照データブロック決定部の処理のフローチャートである。It is a flowchart of the process of the reference data block determination part of the process of step 300 in one embodiment of this invention. 本発明の一実施の形態における処理の参照データブロックとデータベース対応関係決定部の処理のフローチャートである。It is a flowchart of the process of the reference data block of a process and database correspondence determination part of one Embodiment of this invention. 本発明の一実施の形態における未対応付けのデータブロックをデータベースに割り当てる処理を示す図である。It is a figure which shows the process which allocates the data block which is not matched in one embodiment of this invention to a database. 本発明の一実施の形態におけるデータベースの振り分け処理を示す図である。It is a figure which shows the distribution process of the database in one embodiment of this invention. 本発明の一実施の形態における一連の処理のシーケンスチャートである。It is a sequence chart of a series of processes in one embodiment of the present invention. 本発明の一実施の形態における処理振り分けの例である。It is an example of the process distribution in one embodiment of this invention. 従来技術の振り分け処理のフローチャートである。It is a flowchart of the distribution process of a prior art. 従来のデータベースの振り分けの例である。It is an example of the distribution of the conventional database.

以下図面と共に、本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の一実施の形態におけるシステム構成を示す。   FIG. 1 shows a system configuration according to an embodiment of the present invention.

同図に示すシステムは、処理入力装置10、結果出力装置20、処理内容入力装置30、マシンA100、マシンB200,マシンC300から構成される。   The system shown in the figure includes a processing input device 10, a result output device 20, a processing content input device 30, a machine A100, a machine B200, and a machine C300.

マシンA100は、データベース管理装置として動作する装置であり、処理入力装置10から実行する処理内容(処理要求)を受け取り、データベース装置として動作するマシンB200,マシンC300にこの処理を振り分け、マシンB200,マシンC300から取得した処理結果を結果出力装置20に出力する。マシンB200,マシンC300は、後述するデータ同期部を介して、データブロックの同期を行っているため、マシンA100が受け取った処理はどちらのマシンでも実行可能である。ただし、マシンB200、マシンC300のメモリ管理部が管理しているメモリ上に存在するデータブロックによって処理速度が異なる。マシンA100では、処理内容が参照するデータブロックを認識し、処理を振り分けることで、マシンB200,マシンC300のメモリヒット率の向上を図る。   The machine A100 is a device that operates as a database management device, receives processing content (processing request) executed from the processing input device 10, and distributes this processing to the machines B200 and C300 that operate as the database device. The processing result acquired from C300 is output to the result output device 20. Since the machine B 200 and the machine C 300 synchronize data blocks via a data synchronizer described later, the process received by the machine A 100 can be executed by either machine. However, the processing speed differs depending on the data block existing on the memory managed by the memory management unit of the machine B200 or machine C300. The machine A100 recognizes the data block referred to by the processing content and distributes the processing, thereby improving the memory hit rate of the machines B200 and C300.

マシンA100は、処理の参照データブロック決定部110、処理の参照データブロックとデータベースの対応関係決定部120、処理の参照データブロック記憶部130、対応関係記憶部140、データベース情報初期化部150、データベース情報送受信部160、処理振り分け部170、処理結果受信部180から構成される。   The machine A100 includes a processing reference data block determination unit 110, a processing reference data block and database correspondence determination unit 120, a processing reference data block storage unit 130, a correspondence relationship storage unit 140, a database information initialization unit 150, and a database. An information transmitting / receiving unit 160, a processing distribution unit 170, and a processing result receiving unit 180 are configured.

データベース情報初期化部150は、処理内容入力装置30から入力されたN個の処理内容をデータベース情報送受信部160から、マシンB200または、マシンC300に送信し、これらのマシン(データベース)から当該処理が参照するデータブロックの関係(処理内容、データブロック識別子、データベースの識別子)を取得し、処理の参照データブロック記憶部130に記録する。なお、処理内容入力装置30からは、当該システムで扱うべき全ての処理内容(『xxxを検索せよ』、『yyyを検索せよ』等の処理内容)がデータベース処理言語SQL(SELECT…FROM…)を利用して入力される。   The database information initialization unit 150 transmits N processing contents input from the processing content input device 30 from the database information transmission / reception unit 160 to the machine B200 or C300, and the processing is performed from these machines (databases). The relationship of the data block to be referred to (processing content, data block identifier, database identifier) is acquired and recorded in the reference data block storage unit 130 of the processing. From the processing content input device 30, all processing content to be handled in the system (processing content such as “search for xxx”, “search for yyy”) is the database processing language SQL (SELECT… FROM…). Input using.

処理の参照データブロック記憶部130は、データベース情報初期化部150により処理毎に使用するデータブロック識別子と当該データブロックを格納しているデータベースの識別子が格納され、処理の参照データブロック決定部110により参照される。   The process reference data block storage unit 130 stores the data block identifier used for each process by the database information initialization unit 150 and the identifier of the database storing the data block. The process reference data block determination unit 110 stores the data block identifier. Referenced.

データベース情報送受信部160は、処理内容入力装置30から入力され、データベース情報初期化部150を介して取得した処理内容を、マシンB200またはマシンC300に送信すると共に、マシンB200またはマシンC300から当該処理に対応するデータブロック識別子及びデータベースの識別子を取得してデータベース情報初期化部150に渡す。   The database information transmission / reception unit 160 transmits the processing content input from the processing content input device 30 and acquired through the database information initialization unit 150 to the machine B200 or C300, and performs the processing from the machine B200 or machine C300. The corresponding data block identifier and database identifier are acquired and passed to the database information initialization unit 150.

処理の参照データブロック決定部110(以下、「参照先決定部」と記す)は、処理入力装置10から処理内容を取得すると、処理の参照データブロック記憶部130を参照して、入力された処理が参照するデータブロックの検索を行い、参照するデータブロック識別子が付与された処理内容を処理の参照データブロックとデータベースの対応関係決定部120に渡す。なお、処理入力装置10からは利用者から指定された処理要求(例えば、『xxxを検索せよ』)が入力される。   When the process reference data block determination unit 110 (hereinafter referred to as “reference destination determination unit”) acquires the process contents from the process input device 10, the process reference data block determination unit 110 refers to the process reference data block storage unit 130 to input the process. The data block referred to is searched, and the processing content provided with the data block identifier to be referred to is transferred to the correspondence determining unit 120 between the reference data block of the processing and the database. Note that a processing request (for example, “search for xxx”) designated by the user is input from the processing input device 10.

処理の参照データブロックとデータベースの対応関係決定部120(以下、「対応関係決定部」と記す)は、参照先決定部110から参照するデータブロック識別子が付与された処理内容を取得して、データブロックとデータベースの対応関係を決定し、対応関係記憶部140に記録した後、要求された処理が参照するデータブロックが最も多いデータベースを決定し、処理の参照情報に関する情報が付与された処理内容を処理振り分け部170に渡す。   The reference data block for processing and the correspondence determining unit 120 (hereinafter referred to as “corresponding relationship determining unit”) of the database acquire the processing content provided with the data block identifier to be referred to from the reference destination determining unit 110 to obtain the data After determining the correspondence between the block and the database and recording the correspondence in the correspondence storage unit 140, the database having the most data blocks to which the requested process refers is determined, and the processing content to which the information related to the processing reference information is given is determined. The data is transferred to the processing distribution unit 170.

処理振り分け部170は、対応関係決定部120から参照するデータブロック識別子が付与された処理内容を取得し、受け取った処理内容に付与された情報とCPUやI/Oの負荷等の統計情報を元に、処理を振り分けるデータベース(マシンB200もしくはマシンC300)を決定し、そのデータベースに処理を送信する。   The processing distribution unit 170 acquires the processing content to which the data block identifier referred to from the correspondence determining unit 120 is attached, and based on the information attached to the received processing content and statistical information such as CPU and I / O loads. Then, the database (machine B200 or machine C300) to which the process is distributed is determined, and the process is transmitted to the database.

対応関係記憶部140は、データブロックとデータベースの対応関係を格納する。   The correspondence storage unit 140 stores the correspondence between the data block and the database.

処理結果受信部180は、マシンB200またはマシンC300から受け取った実行結果を結果出力装置20に出力する。   The processing result receiving unit 180 outputs the execution result received from the machine B 200 or the machine C 300 to the result output device 20.

次に、マシンB200,マシンC300について説明する。   Next, the machine B200 and the machine C300 will be described.

マシンB200,マシンC300は、マシンA100の処理振り分け部170から受信した処理を実行する。処理実行のために必要なデータブロックを、後述するそれぞれのメモリ管理部260,360を利用して取得し、マシンA100に送信する。この際、当該メモリ管理部260,360のメモリ261,361上にないデータブロックは、メモリ管理部260,360がデータ記憶部270,370から取得し、メモリ261,361上のデータブロックとの入れ替えを行う。また、併せて、マシンA100のデータベース情報初期化部150から送信された処理内容が参照するデータブロック識別子の検索も行う。なお、メモリ261,361とデータ記憶部270,370とのデータブロックの入れ替えは、参照頻度の高いデータブロックをメモリ261,361上に格納する。なお、参照頻度はメモリ管理部260,360内でデータブロック毎にカウントすることで管理することができる。   The machine B200 and the machine C300 execute the process received from the process distribution unit 170 of the machine A100. Data blocks necessary for processing execution are acquired using respective memory management units 260 and 360 described later, and are transmitted to the machine A100. At this time, the data blocks that are not on the memories 261 and 361 of the memory management units 260 and 360 are acquired from the data storage units 270 and 370 by the memory management units 260 and 360, and replaced with the data blocks on the memories 261 and 361. I do. In addition, a data block identifier referred to by the processing content transmitted from the database information initialization unit 150 of the machine A100 is also searched. In addition, the replacement of data blocks between the memories 261 and 361 and the data storage units 270 and 370 stores data blocks with high reference frequency on the memories 261 and 361. The reference frequency can be managed by counting each data block in the memory management units 260 and 360.

マシンB200は、データベース情報送受信部210、データベース処理送受部220、データベース情報取得部240、データベース処理部250、メモリ管理部260、データ記憶部270、データ同期部280から構成される。マシンC300もマシンB200と同一の構成であるので、当該構成要素については記載しない。   The machine B 200 includes a database information transmission / reception unit 210, a database processing transmission / reception unit 220, a database information acquisition unit 240, a database processing unit 250, a memory management unit 260, a data storage unit 270, and a data synchronization unit 280. Since the machine C300 has the same configuration as the machine B200, the constituent elements are not described.

データベース情報送受信部210,310は、マシンA100のデータベース情報送受信部160から受け取った処理内容をデータベース情報取得部240に出力する。   The database information transmission / reception units 210 and 310 output the processing content received from the database information transmission / reception unit 160 of the machine A 100 to the database information acquisition unit 240.

データベース情報取得部240,340は、入力された処理内容に基づいて、データべース処理部250、350、メモリ管理部260,360を介してデータブロック識別子を検索し、処理内容と参照データブロック識別子の対応関係表を当該データベース情報取得部240,340内のバッファ(図示せず)に作成する。   The database information acquisition units 240 and 340 search the data block identifier via the database processing units 250 and 350 and the memory management units 260 and 360 based on the input processing content, and the processing content and the reference data block An identifier correspondence table is created in a buffer (not shown) in the database information acquisition units 240 and 340.

データベース処理送受信部220,320は、マシンA100の処理振り分け部170から取得した処理をデータベース処理部250,350に出力し、当該データベース処理部250,350から取得した処理結果を、マシンA100の処理結果受信部180に送信する。   The database processing transmission / reception units 220 and 320 output the processing acquired from the processing distribution unit 170 of the machine A100 to the database processing units 250 and 350, and the processing results acquired from the database processing units 250 and 350 are the processing results of the machine A100. Transmit to the receiver 180.

データベース処理部250,350は、必要な情報をメモリ管理部260,360から取得し、処理結果を生成し、データベース情報取得部240,340、または、データベース処理送受信部220,320に渡す。   The database processing units 250 and 350 acquire necessary information from the memory management units 260 and 360, generate processing results, and pass them to the database information acquisition units 240 and 340 or the database processing transmission / reception units 220 and 320.

メモリ管理部260,360は、データベース処理部250から要求されたデータブロックをデータブロック識別子から検索し、それがメモリ上にある場合はそれをデータベース処理部250,350に返却し、ない場合は、データ記憶部270,370から検索し、メモリ上のデータブロックと入れ替えを行い、そのデータを返却する。   The memory management units 260 and 360 retrieve the data block requested from the database processing unit 250 from the data block identifier, and if it is on the memory, return it to the database processing units 250 and 350. Search from the data storage units 270 and 370, replace the data block on the memory, and return the data.

データ同期部280,380は、メモリ管理部260,360によりデータ記憶部270,370に更新処理が行われた場合、その対になるデータ記憶部370,270にその更新処理を同様に実施し、データの内容を同期させる。   When the data synchronization units 280 and 380 are updated in the data storage units 270 and 370 by the memory management units 260 and 360, the data synchronization units 280 and 380 similarly perform the update processing in the paired data storage units 370 and 270, Synchronize data contents.

以下に、上記の構成における一連の動作を説明する。   A series of operations in the above configuration will be described below.

図2は、本発明の一実施の形態における全体の処理のフローチャートである。   FIG. 2 is a flowchart of overall processing in one embodiment of the present invention.

以下の処理において、ステップ100は、処理の参照データブロック記憶部130に処理内容とデータブロックとの対応を格納する前処理であり、ステップ200〜600は、要求された処理を振り分ける処理である。なお、前処理では、データベース情報初期化部150に接続される処理内容入力装置30を用い、振り分け処理では参照先決定部110に接続される処理入力装置10を用いる。   In the following processing, step 100 is preprocessing for storing the correspondence between processing contents and data blocks in the reference data block storage unit 130 of processing, and steps 200 to 600 are processing for distributing requested processing. In the preprocessing, the processing content input device 30 connected to the database information initialization unit 150 is used, and in the distribution processing, the processing input device 10 connected to the reference destination determination unit 110 is used.

ステップ100) マシンA100のデータベース初期化部150は、処理内容入力装置30から入力されたN個の処理内容がデータベース(本実施の形態ではマシンBまたはマシンC)上のどのデータブロックを参照するかについてマシンB200,マシンC300のメモリ管理部260を検索し、その結果(処理内容と参照データブロックの対応関係)を処理の参照データブロック記憶部130に格納する。詳細な処理については図3で詳述する。   Step 100) The database initialization unit 150 of the machine A 100 refers to which data block on the database (Machine B or Machine C in the present embodiment) the N process contents input from the process content input device 30 refer to. The memory management unit 260 of the machine B200 and the machine C300 is searched for, and the result (correspondence between the processing content and the reference data block) is stored in the reference data block storage unit 130 for processing. Detailed processing will be described in detail with reference to FIG.

ステップ200) 処理入力装置10から次の処理要求が入力されるまで待機する。   Step 200) Wait until the next processing request is input from the processing input device 10.

ステップ300) 処理入力装置10から処理要求が入力されると、参照先決定部110は、処理の参照データブロック記憶部130を参照して、入力された処理が参照するデータブロックの検索を行い、参照するデータブロック識別子を処理に付与し、対応関係決定部120に渡す。詳細な処理については図5で詳述する。   Step 300) When a process request is input from the process input device 10, the reference destination determining unit 110 refers to the reference data block storage unit 130 of the process and searches for a data block referred to by the input process. A data block identifier to be referred to is assigned to the process and passed to the correspondence determining unit 120. Detailed processing will be described in detail with reference to FIG.

ステップ400) 対応関係決定部120は、参照するデータブロック識別子が付与された処理内容に基づいて、データブロック識別子とデータベースの対応関係を決定する。詳細な処理については図6で詳述する。   Step 400) The correspondence relationship determination unit 120 determines the correspondence relationship between the data block identifier and the database based on the processing content to which the data block identifier to be referenced is assigned. Detailed processing will be described in detail with reference to FIG.

ステップ500) 処理振り分け部170において、入力処理が参照するデータブロックが最も多いデータベースの情報と、その他の統計情報(CPUやI/O)を利用し、最終的に処理を振り分けるデータベースを決定する。   Step 500) In the process distribution unit 170, the database to which the input process refers most frequently and the other statistical information (CPU and I / O) are used to finally determine the database to which the process is distributed.

ステップ600) 受け取った処理内容に付与された情報を元に、対応するデータベース(マシンBまたはマシンC)に処理を振り分ける。   Step 600) Based on the information given to the received processing contents, the processing is distributed to the corresponding database (machine B or machine C).

次に、上記のデータベース情報初期化処理(ステップ100)について説明する。   Next, the database information initialization process (step 100) will be described.

図3は、本発明の一実施の形態におけるデータベース情報初期化部の処理のフローチャートである。   FIG. 3 is a flowchart of the process of the database information initialization unit in one embodiment of the present invention.

ステップ110) データベース情報初期化部150は、処理内容入力装置30から入力されたシステムで扱うべきN個の処理内容(SQLで記述)をデータベース情報送受信部160を利用して、マシンB200及びマシンC300に送信する。   Step 110) The database information initialization unit 150 uses the database information transmission / reception unit 160 to transmit the N processing contents (described in SQL) to be handled by the system input from the processing content input device 30, using the machine B 200 and the machine C 300. Send to.

ステップ120) マシンB200のデータベース情報送受信部210及びマシンC300のデータベース情報送受信部310からデータ(処理内容と参照するデータブロックの対応関係表)を受信するまで待機する。   Step 120) Wait until data (correspondence table between processing contents and data blocks to be referenced) is received from the database information transmitting / receiving unit 210 of the machine B200 and the database information transmitting / receiving unit 310 of the machine C300.

ステップ130) マシンB200,マシンC300から受信したデータ(処理内容と参照するデータブロックの対応関係表)を処理の参照データブロック記憶部130に格納する。   Step 130) The data received from the machine B200 and the machine C300 (correspondence table between the processing content and the data block to be referred to) is stored in the reference data block storage unit 130 for processing.

次に、上記の図2におけるデータベース情報初期化時(ステップ100)のマシンB200及びマシンC300側の動作を説明する。   Next, the operation on the machine B 200 and machine C 300 side when the database information is initialized (step 100) in FIG. 2 will be described.

図4は、本発明の一実施の形態におけるデータベース初期化時のデータベース側の処理のフローチャートである。   FIG. 4 is a flowchart of processing on the database side at the time of database initialization according to the embodiment of the present invention.

ステップ121) それぞれのマシンB200,C300のデータベース情報取得部240,340は、データベース情報送受信部210,310からデータ(N個の処理内容)を受け取るまで待機する。   Step 121) The database information acquisition units 240 and 340 of the respective machines B200 and C300 stand by until data (N processing contents) is received from the database information transmission / reception units 210 and 310.

ステップ122) カウンタiを1に初期化する。   Step 122) The counter i is initialized to 1.

ステップ123) データベース情報取得部240,340はi個目の処理内容をデータベース処理部250,350に問い合わせることで、当該処理が実行された場合に参照するデータブロック識別子を取得する。   Step 123) The database information acquisition units 240 and 340 inquire the database processing units 250 and 350 about the i-th processing content to acquire the data block identifier to be referred to when the processing is executed.

ステップ124) データベース情報取得部240,340はi個目の処理内容と、その処理が参照するデータブロック識別子を送信用バッファに(図示せず)に蓄積する。   Step 124) The database information acquisition units 240 and 340 store the i-th processing content and the data block identifier referred to by the processing in a transmission buffer (not shown).

ステップ125) データベース情報取得部240,340は、カウンタiがNを超えているかを判定し、超えている場合はステップ126に移行し、超えていない場合はステップ127に移行する。   Step 125) The database information acquisition units 240 and 340 determine whether or not the counter i exceeds N. If it exceeds, the process proceeds to step 126. If not, the process proceeds to step 127.

ステップ126) カウンタiに1を加算し、ステップ123に移行する。   Step 126) Add 1 to the counter i and proceed to Step 123.

ステップ127) 処理内容に参照するデータブロックの識別子の情報を付与し、ステップ121に移行し、次のマシンA100からの処理の受信を待機する。   Step 127) The information of the identifier of the data block to be referred to is added to the processing content, the process proceeds to Step 121, and the reception of the process from the next machine A100 is awaited.

次に、上記の図2における参照先決定部110の処理(ステップ300)の動作を詳細に説明する。   Next, the operation of the process (step 300) of the reference destination determination unit 110 in FIG. 2 will be described in detail.

図5は、本発明の一実施の形態における処理の参照データブロック決定部の処理のフローチャートである。   FIG. 5 is a flowchart of the process of the reference data block determination unit in the process according to the embodiment of the present invention.

ステップ310) 参照先決定部110は、入力された処理要求に対して分解処理を行う。例えば、マシンの処理が行いやすい形へ変換する。   Step 310) The reference destination determination unit 110 performs disassembly processing on the input processing request. For example, it is converted into a form that can be easily processed by the machine.

ステップ320) 処理要求に基づいて、参照データブロック記憶部130から、入力された処理要求の内容と合致するものを検索して、参照するデータブロック識別子を取得する。   Step 320) Based on the process request, the reference data block storage unit 130 is searched for a match with the content of the input process request, and a data block identifier to be referenced is acquired.

ステップ330) 参照先決定部110は、取得した、参照するデータブロック識別子が存在するかを調べる。存在する場合は、ステップ340に移行し、存在しない場合は当該処理を終了する。   Step 330) The reference destination determining unit 110 checks whether or not the acquired data block identifier to be referenced exists. When it exists, it transfers to step 340, and when it does not exist, the said process is complete | finished.

ステップ340) 処理内容に参照するデータブロックの識別子の情報を付与し、対応関係決定部120に渡す。   Step 340) The information of the identifier of the data block to be referred to is added to the processing content and passed to the correspondence determining unit 120.

次に、図2における対応関係決定部120の処理(ステップ400)の動作を詳細に説明する。   Next, the operation of the processing (step 400) of the correspondence determining unit 120 in FIG. 2 will be described in detail.

図6は、本発明の一実施の形態における処理の参照データブロックとデータベース対応関係決定部の処理のフローチャートである。   FIG. 6 is a flowchart of the process of the reference data block and the database correspondence determining unit in the process according to the embodiment of the present invention.

ステップ410) 対応関係決定部120は、処理が参照するデータブロックが、既にデータベース(マシンBまたはマシンC)に対応付け済みであるかを調べ、対応付けられていればステップ430に移行し、対応付けられていない場合はステップ420に移行する。   Step 410) The correspondence determining unit 120 checks whether the data block referred to by the process is already associated with the database (Machine B or Machine C). If the data block is associated, the process proceeds to Step 430. If not, the process proceeds to step 420.

ステップ420) 対応関係決定部120は、対応付けが行われていない参照データブロックの識別子を、対応付け済みデータブロック総数が最も少ないデータベースに割り当てる。このとき、図7に示すように、対応関係決定部120は、対応関係記憶部140を参照し、デーベースB(マシンB)の対応付け済み総数(7個)がデータベースC(マシンC)の対応付け総数(8個)よりも少ないので、マシンBに参照データブロックの識別子を割り当てる。   Step 420) The correspondence determining unit 120 assigns the identifier of the reference data block that has not been associated to the database having the smallest number of associated data blocks. At this time, as shown in FIG. 7, the correspondence determining unit 120 refers to the correspondence storing unit 140, and the total number (7) of databases B (machine B) associated is the database C (machine C). Since it is less than the total number of associations (8), the identifier of the reference data block is assigned to machine B.

ステップ430) 参照するデータブロック識別子に基づいて、処理が参照するデータブロックが最も多く対応付けられているデータベースに処理を振り分けることを決定する。
図8の例では、マシンB200が参照するデータブロック識別子「2」「8」を多く含むため、当該データブロック識別子「2」「8」をマシンB200に振り分けることとする。
Step 430) Based on the data block identifier to be referred to, it is determined to distribute the process to the database in which the most data blocks to which the process refers are associated.
In the example of FIG. 8, since many data block identifiers “2” and “8” referred to by the machine B 200 are included, the data block identifiers “2” and “8” are distributed to the machine B 200.

図9は、本発明の一実施の形態における一連の処理のシーケンスチャートである。   FIG. 9 is a sequence chart of a series of processes in one embodiment of the present invention.

マシンA100は、処理内容入力装置30から処理要求を受信すると(ステップ501)、当該処理要求の処理内容をランダムにDBに送信する。ここでは、マシンB200に送信するものとする(ステップ502)。   When the machine A100 receives the processing request from the processing content input device 30 (step 501), the processing content of the processing request is randomly transmitted to the DB. Here, it is assumed that the data is transmitted to the machine B 200 (step 502).

マシンB200では、データ記憶部270から受信した処理が参照するデータブロックを取得し(ステップ503)、当該データブロックと処理内容との対応関係をバッファに蓄積し(ステップ504)、当該処理に関するすべてのデータブロックを取得して処理内容とのデータブロックの対応関係を生成し、当該DBの識別子を付与して、マシンAに送信する(ステップ505)。   In the machine B200, the data block referred to by the process received from the data storage unit 270 is acquired (step 503), the correspondence between the data block and the processing content is accumulated in the buffer (step 504), and all the processes related to the process are stored. A data block is acquired, a correspondence relationship of the data block with the processing content is generated, an identifier of the DB is given, and the data block is transmitted to the machine A (step 505).

マシンA100は、マシンB200から取得した処理とデータブロックの対応関係及びマシンAの識別子(データベース識別子)のデータを処理毎にデータブロック識別子を付与して「処理の参照データブロック記憶部130」に格納する(ステップ506)。   The machine A100 assigns a data block identifier to each process and stores the correspondence between the process and the data block acquired from the machine B200 and the data of the identifier (database identifier) of the machine A in the “process reference data block storage unit 130”. (Step 506).

ステップ507〜512についても同様である。   The same applies to steps 507 to 512.

マシンA100は、処理入力装置10から処理要求を受信すると(ステップ513)、参照先決定部10において、"処理の参照データブロック記憶部130"を参照して処理内容と合致するデータブロック識別子を取得する(ステップ514)。   When the machine A100 receives the processing request from the processing input device 10 (step 513), the reference destination determination unit 10 refers to the “processing reference data block storage unit 130” and acquires a data block identifier that matches the processing content. (Step 514).

処理内容とデータブロック識別子とデータベース識別子を組として(ステップ515)、処理入力装置10から入力された処理が参照するデータブロックが多く対応付けられているDB(マシンBまたはマシンC)を振り分け先候補とする(ステップ516)。振り分け先候補から統計情報を参照し、最終的な振り分け先データベースを決定し、処理を送信する(ステップ517)。   A processing destination, a data block identifier, and a database identifier are paired (step 515), and a DB (Machine B or Machine C) in which many data blocks referred to by the process input from the process input apparatus 10 are associated is assigned to the distribution destination candidate. (Step 516). The statistical information is referred to from the distribution destination candidates, the final distribution destination database is determined, and the process is transmitted (step 517).

上記の図9のステップ501〜512に示すように、処理入力装置10から入力された情報に基づいて、ある処理がデータベース(マシンBまたはマシンC)上で実行された場合に参照するデータブロック情報を、データベース情報取得部240または340で収集し、マシンA100の"処理の参照データブロック記憶部130"に、その処理の参照情報を記録する処理を行う。   As shown in steps 501 to 512 of FIG. 9 described above, data block information to be referred to when a certain process is executed on the database (machine B or machine C) based on the information input from the process input device 10 Are collected by the database information acquisition unit 240 or 340, and processing for recording the reference information of the processing in the “processing reference data block storage unit 130” of the machine A100 is performed.

その上で、処理入力装置から入力された処理内容が、データベース(マシンBまたはマシンC)上のどこのデータブロックを参照するかについて、図9のステップ514に示すように、マシンA100の"処理の参照データブロック記憶部130"から検索し、その情報を利用することで、参照するデータブロックが複数のデータベース間で重複しないように処理を振り分ける。   Then, as to which data block on the database (machine B or machine C) the processing content input from the processing input device refers to, as shown in step 514 of FIG. By searching from the reference data block storage unit 130 "and using the information, the processing is distributed so that the data blocks to be referenced do not overlap among a plurality of databases.

上記により、図9に示すように、各データベースのメモリ内容の重複がなくなる。図10の例では、マシンA100が受信した処理が参照するデータブロックを、当該処理内容に応じて"処理の参照するデータブロック記憶部130"を参照することにより取得し、マシンB200とマシンC300に振り分けている。これにより、図12のようなデータ記憶部270,370のメモリ内容の重複がなくなり、メモリの重複に利用されていた領域が空くことで、今までメモリに格納されることがなかったデータベースのデータブロックがメモリに格納されるようになる。そのためメモリヒット率が向上する。このような方法をとることにより、均等でランダムに振り分ける方法(ラウンドロビン)に比べ、メモリのヒット確率が向上する。実験では、データベース装置4台に処理を分けた場合、ラウンドロビンと比較して、約10%のメモリヒット率の向上を確認した。   As described above, as shown in FIG. 9, there is no duplication of memory contents of each database. In the example of FIG. 10, the data block referred to by the process received by the machine A100 is acquired by referring to the “data block storage unit 130 referred to by the process” according to the process content, and is transmitted to the machine B200 and the machine C300. Sorting. This eliminates the duplication of the memory contents of the data storage units 270 and 370 as shown in FIG. 12, and the database data that has not been stored in the memory until now is freed up from the area used for the duplication of the memory. Blocks are stored in memory. As a result, the memory hit rate is improved. By adopting such a method, the hit probability of the memory is improved as compared with a method of evenly and randomly distributing (round robin). In the experiment, when the processing was divided into four database devices, it was confirmed that the memory hit rate was improved by about 10% compared to round robin.

なお、上記のデータベース管理装置として動作するマシンA100、データベース装置として動作するマシンB200,マシンC300の処理動作をプログラムとして構築し、データベース管理装置、データベース装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   The processing operations of the machine A100 that operates as the database management apparatus, the machine B200 that operates as the database apparatus, and the machine C300 are constructed as programs, and are installed and executed on a computer that is used as the database management apparatus and database apparatus. Alternatively, it can be distributed via a network.

また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。   In addition, the constructed program can be stored in a portable storage medium such as a hard disk, a flexible disk, or a CD-ROM, and can be installed or distributed in a computer.

なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiment, and various modifications and applications can be made within the scope of the claims.

10 処理入力装置
20 結果出力装置
30 処理内容入力装置
100 マシンA(データベース管理装置)
110 処理の参照データブロック決定部
120 処理の参照データブロックとデータベースの対応関係決定部
130 処理の参照データブロック記憶部
140 対応関係記憶部
150 データベース情報初期化部
160 データベース情報送受信部
170 処理振り分け部
180 処理結果受信部
200 マシンB(データベース装置)
210,310 データベース情報送受信部
220,320 データベース処理送受信部
240,340 データベース情報取得部
250,350 データベース処理部
260,360 メモリ管理部
261,361 メモリ
270,370 データ記憶部
280,380 データ同期部
300 マシンC(データベース装置)
10 Process Input Device 20 Result Output Device 30 Process Content Input Device 100 Machine A (Database Management Device)
110 processing reference data block determining unit 120 processing reference data block and database correspondence determining unit 130 processing reference data block storage unit 140 correspondence storing unit 150 database information initializing unit 160 database information transmitting / receiving unit 170 processing distributing unit 180 Processing result receiving unit 200 Machine B (database device)
210, 310 Database information transmission / reception unit 220, 320 Database processing transmission / reception unit 240, 340 Database information acquisition unit 250, 350 Database processing unit 260, 360 Memory management unit 261, 361 Memory 270, 370 Data storage unit 280, 380 Data synchronization unit 300 Machine C (database device)

Claims (7)

ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベースに処理を振り分けるデータベース管理装置であって、
N個の処理内容を入力する処理内容入力装置から受信した処理内容を前記複数のデータベース装置のいずれかに送信し、該データベース装置から、処理内容と該処理内容が参照するデータブロックのデータブロック識別子とデータベース識別子の対応関係情報を取得して、参照先データブロック記憶手段に格納するデータベース情報収集手段と、
処理要求を入力する処理入力装置から処理を受け付け、要求された処理の内容に基づいて、該処理に合致するデータブロック識別子及びデータベース識別子を取得する参照データブロック決定手段と、
データベース識別子とデータベース識別子との対応関係を保持する対応関係記憶手段と、
前記対応関係記憶手段を参照して、前記参照データブロック決定手段で取得した前記データブロック識別子がいずれかのデータベース識別子と対応付けられているかを判定し、対応付けられていない場合は、該データブロック識別子を、該対応関係記憶手段の対応付け済みデータブロック総数が最も少ないデータベース識別子と対応付けて該対応関係記憶手段に格納する対応関係決定手段と、
前記対応関係記憶手段を参照し、前記データブロック識別子が最も多く対応付けられているデータベースに前記処理入力装置から入力された処理を振り分ける処理振り分け手段と、
を有することを特徴とするデータベース管理装置。
A database management device that distributes processing on a network and distributes processing to a plurality of databases in which data contents in the database are synchronized.
The processing content received from the processing content input device for inputting N processing content is transmitted to one of the plurality of database devices, and the processing content and the data block identifier of the data block referred to by the processing content are transmitted from the database device. Database information collecting means for acquiring correspondence information of the database identifier and storing it in the reference data block storage means,
A reference data block determination unit that receives a process from a process input device that inputs a process request, and acquires a data block identifier and a database identifier that match the process based on the content of the requested process;
Correspondence storage means for holding a correspondence between a database identifier and a database identifier;
Referring to the correspondence relationship storage means, it is determined whether the data block identifier acquired by the reference data block determination means is associated with any database identifier. A correspondence determining means for storing the identifier in the correspondence storage means in association with the database identifier having the smallest number of associated data blocks in the correspondence storage means;
Referring to the correspondence relationship storage means, processing distribution means for distributing the processing input from the processing input device to a database that is associated with the largest number of data block identifiers;
A database management apparatus comprising:
ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベース装置であって、
メモリを有し、データベースを管理するメモリ管理手段と、
当該データベース装置に対して処理を振り分けるデータベース管理装置から、N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、前記メモリ管理手段から取得して該データベース管理装置に送信するデータベース情報取得手段と、を有し、
前記メモリ管理手段は、
前記メモリに前記処理内容に対応するデータブロック識別子がない場合は、前記データベースからデータブロック識別子を取得して、該メモリに書き込むと共に、前記データベース情報取得手段に渡す手段を含む
ことを特徴とするデータベース装置。
A plurality of database devices distributed on the network and synchronized in the database.
A memory management means having a memory and managing a database;
From the database management device that distributes processing to the database device, N processing contents are acquired, and correspondence information that associates a data block identifier and a database identifier that are referred to by the processing content is obtained from the memory management unit. Database information acquisition means for acquiring and transmitting to the database management device,
The memory management means includes
A database that includes a means for acquiring a data block identifier from the database and writing the data block identifier to the database information acquisition means when there is no data block identifier corresponding to the processing content in the memory; apparatus.
ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベース装置と、該データベースに処理を振り分けるデータベース管理装置からなるデータベースシステムであって、
前記データベース装置は、
メモリを有し、データベースを管理するメモリ管理手段と、
当該データベース装置に対して処理を振り分けるデータベース管理装置から、N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、前記メモリ管理手段から取得して該データベース管理装置に送信するデータベース情報取得手段と、を有し、
前記メモリ管理手段は、
前記メモリに前記処理内容に対応するデータブロック識別子がない場合は、前記データベースからデータブロック識別子を取得して、該メモリに書き込むと共に、前記データベース情報取得手段に渡す手段を含み、
前記データベース管理装置は、
N個の処理内容を入力する処理内容入力装置から受信した処理内容を前記複数のデータベース装置のいずれかに送信し、該データベース装置から、処理内容と該処理内容が参照するデータブロックのデータブロック識別子とデータベース識別子の対応関係情報を取得して、参照先データブロック記憶手段に格納するデータベース情報収集手段と、
処理要求を入力する処理入力装置から処理を受け付け、要求された処理の内容に基づいて、該処理に合致するデータブロック識別子及びデータベース識別子を取得する参照データブロック決定手段と、
データベース識別子とデータベース識別子との対応関係を保持する対応関係記憶手段と、
前記対応関係記憶手段を参照して、前記参照データブロック決定手段で取得した前記データブロック識別子がいずれかのデータベース識別子と対応付けられているかを判定し、対応付けられていない場合は、該データブロック識別子を、該対応関係記憶手段の対応付け済みデータブロック総数が最も少ないデータベース識別子と対応付けて該対応関係記憶手段に格納する対応関係決定手段と、
前記対応関係記憶手段を参照し、前記データブロック識別子が最も多く対応付けられているデータベースに前記処理入力装置から入力された処理を振り分ける処理振り分け手段と、
を有する
ことを特徴とするデータベースシステム。
A database system comprising a plurality of database devices distributed on a network and synchronized in the database, and a database management device that distributes processing to the database,
The database device includes:
A memory management means having a memory and managing a database;
From the database management device that distributes processing to the database device, N processing contents are acquired, and correspondence information that associates a data block identifier and a database identifier that are referred to by the processing content is obtained from the memory management unit. Database information acquisition means for acquiring and transmitting to the database management device,
The memory management means includes
If there is no data block identifier corresponding to the processing content in the memory, including acquiring the data block identifier from the database, writing to the memory, and passing to the database information acquisition means,
The database management device includes:
The processing content received from the processing content input device for inputting N processing content is transmitted to one of the plurality of database devices, and the processing content and the data block identifier of the data block referred to by the processing content are transmitted from the database device. Database information collecting means for acquiring correspondence information of the database identifier and storing it in the reference data block storage means,
A reference data block determination unit that receives a process from a process input device that inputs a process request, and acquires a data block identifier and a database identifier that match the process based on the content of the requested process;
Correspondence storage means for holding a correspondence between a database identifier and a database identifier;
Referring to the correspondence relationship storage means, it is determined whether the data block identifier acquired by the reference data block determination means is associated with any database identifier. A correspondence determining means for storing the identifier in the correspondence storage means in association with the database identifier having the smallest number of associated data blocks in the correspondence storage means;
Referring to the correspondence relationship storage means, processing distribution means for distributing the processing input from the processing input device to a database that is associated with the largest number of data block identifiers;
A database system comprising:
ネットワーク上に分散配置され、データベース内のデータ内容が同期された複数のデータベース装置と、該データベース装置に処理を振り分けるデータベース管理装置から構成されるシステムにおけるデータベース管理方法であって、
前記データベース管理装置は、
データベース情報収集手段が、N個の処理内容を入力する処理内容入力装置から受信した処理内容を前記複数のデータベース装置のいずれかに送信し、
前記データベース装置は、
データベース情報送信手段が、前記N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、データベースを管理するメモリ管理手段から取得して、前記データベース管理装置に送信し、
前記データベース管理装置の前記データベース情報収集手段が、
前記データベース装置から、前記対応関係情報を取得して、参照先データブロック記憶手段に格納し、
前記データベース管理装置の参照ブロック決定手段が、
処理要求を入力する処理入力装置から処理を受け付け、要求された処理の内容に基づいて、前記参照先データブロック記憶手段から該処理に合致するデータブロック識別子及びデータベース識別子を取得し、
前記データベース管理装置の対応関係決定手段が、
前記データブロック識別子がいずれかのデータベース識別子と対応付けられているかを、データベース識別子とデータベース識別子との対応関係を保持する対応関係記憶手段を参照して判定し、対応付けられていない場合は、該データブロック識別子を、該対応関係記憶手段の対応付け済みデータブロック総数が最も少ないデータベース識別子に対応付けて該対応関係記憶手段に格納し、
前記データベース管理装置の処理振り分け手段が、
前記対応関係記憶手段を参照し、前記データブロック識別子が最も多く対応付けられているデータベースに前記処理入力装置から入力された処理を振り分ける
ことを特徴とするデータベース管理方法。
A database management method in a system comprising a plurality of database devices that are distributed on a network and whose data contents in a database are synchronized, and a database management device that distributes processing to the database devices,
The database management device includes:
The database information collection means transmits the processing content received from the processing content input device that inputs N processing content to any of the plurality of database devices,
The database device includes:
The database information transmitting means acquires the N processing contents, acquires correspondence information associating the data block identifier referred to by the processing contents and the database identifier from the memory management means for managing the database, Sent to the database management device,
The database information collecting means of the database management device comprises:
Obtaining the correspondence information from the database device, storing it in a reference data block storage means,
The reference block determining means of the database management device comprises:
Accepting a process from a process input device that inputs a process request, based on the content of the requested process, obtaining a data block identifier and a database identifier that match the process from the referenced data block storage means,
The correspondence determining means of the database management device comprises:
Whether the data block identifier is associated with any database identifier is determined by referring to the correspondence storage unit that holds the correspondence relationship between the database identifier and the database identifier. The data block identifier is stored in the correspondence storage unit in association with the database identifier having the smallest number of associated data blocks in the correspondence storage unit,
The process distribution means of the database management device is:
A database management method characterized in that the process input from the process input device is assigned to a database in which the data block identifier is most frequently associated with reference to the correspondence relationship storage means.
前記データベース装置において、
N個の処理内容を取得して、該処理内容が参照するデータブロック識別子とデータベース識別子とを関連付けた対応関係情報を、データベースを管理するメモリ管理手段から取得する際に、
前記メモリ管理手段内のメモリに前記処理内容に対応するデータブロック識別子がない場合は、前記データベースからデータブロック識別子を取得して、該メモリに書き込み、前記データベース管理装置に送信する
請求項4記載のデータベース管理方法。
In the database device,
When acquiring N pieces of processing contents and acquiring the correspondence information associating the data block identifier and the database identifier referred to by the processing contents from the memory management means for managing the database,
The data block identifier corresponding to the processing content is not stored in the memory in the memory management unit, the data block identifier is acquired from the database, written to the memory, and transmitted to the database management device. Database management method.
請求項1に記載のデータベース管理装置を構成する各手段としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as each means which comprises the database management apparatus of Claim 1. 請求項2に記載のデータベース管理装置を構成する各手段としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as each means which comprises the database management apparatus of Claim 2.
JP2010109641A 2010-05-11 2010-05-11 Database management apparatus, database system, database management method and program Expired - Fee Related JP5367636B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010109641A JP5367636B2 (en) 2010-05-11 2010-05-11 Database management apparatus, database system, database management method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010109641A JP5367636B2 (en) 2010-05-11 2010-05-11 Database management apparatus, database system, database management method and program

Publications (2)

Publication Number Publication Date
JP2011238072A true JP2011238072A (en) 2011-11-24
JP5367636B2 JP5367636B2 (en) 2013-12-11

Family

ID=45325969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010109641A Expired - Fee Related JP5367636B2 (en) 2010-05-11 2010-05-11 Database management apparatus, database system, database management method and program

Country Status (1)

Country Link
JP (1) JP5367636B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280528A (en) * 2003-03-17 2004-10-07 Hitachi Ltd Database system, server, query input method and data update method
JP2005078394A (en) * 2003-09-01 2005-03-24 Nec Corp Non-shared database cluster system, database node and dynamic data re-arrangement method and program
JP2005339236A (en) * 2004-05-27 2005-12-08 Hitachi Ltd Database management method and database system
JP2009122966A (en) * 2007-11-15 2009-06-04 Nomura Research Institute Ltd Database distribution device, database distribution method, program, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280528A (en) * 2003-03-17 2004-10-07 Hitachi Ltd Database system, server, query input method and data update method
JP2005078394A (en) * 2003-09-01 2005-03-24 Nec Corp Non-shared database cluster system, database node and dynamic data re-arrangement method and program
JP2005339236A (en) * 2004-05-27 2005-12-08 Hitachi Ltd Database management method and database system
JP2009122966A (en) * 2007-11-15 2009-06-04 Nomura Research Institute Ltd Database distribution device, database distribution method, program, and recording medium

Also Published As

Publication number Publication date
JP5367636B2 (en) 2013-12-11

Similar Documents

Publication Publication Date Title
US11281669B2 (en) Parallel processing database system
JP7046172B2 (en) Computer implementation methods, computer program products, and systems for storing records in shard database shard tables, computer implementation methods, computer program products, and systems for retrieving records from shard database shard tables. System, as well as a system for storing shard databases
US9740706B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
CN106233275B (en) Data management system and method
JP6281225B2 (en) Information processing device
WO2012115194A1 (en) Distributed data base system and data structure for distributed data base
JP5238915B1 (en) Distributed database system
EP2235651A2 (en) Distributed indexing of file content
CN112400164A (en) System, method and apparatus for managing data tilting in join operations
US11055262B1 (en) Extensible streams on data sources
CN111767287A (en) Data import method, device, device and computer storage medium
EP4097602A1 (en) Streams on shared database objects
US8543600B2 (en) Redistribute native XML index key shipping
US11593368B1 (en) Maintenance of clustered materialized views on a database system
Cheng et al. Scale-out processing of large RDF datasets
CN103353901A (en) Orderly table data management method and system based on Hadoop distributed file system (HDFS)
KR102792519B1 (en) Coshading and randomized coshading
US11886394B2 (en) Composable query language gateway routing protocol
CN102375854A (en) Method and device for data processing for database
JP5367636B2 (en) Database management apparatus, database system, database management method and program
US20150066947A1 (en) Indexing apparatus and method for search of security monitoring data
US20140365681A1 (en) Data management method, data management system, and data management apparatus
US20170116300A1 (en) Efficient mirror data re-sync
CN119960895A (en) Device selection method, device, electronic device and storage medium
JP2012190348A (en) Processing load distribution system and method, and database device and processing load distribution program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130911

R150 Certificate of patent or registration of utility model

Ref document number: 5367636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载