JP2004288213A - Data processing system and data processing method - Google Patents

Data processing system and data processing method Download PDF

Info

Publication number
JP2004288213A
JP2004288213A JP2004149360A JP2004149360A JP2004288213A JP 2004288213 A JP2004288213 A JP 2004288213A JP 2004149360 A JP2004149360 A JP 2004149360A JP 2004149360 A JP2004149360 A JP 2004149360A JP 2004288213 A JP2004288213 A JP 2004288213A
Authority
JP
Japan
Prior art keywords
data
search
buffer
processing device
external storage
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.)
Pending
Application number
JP2004149360A
Other languages
Japanese (ja)
Inventor
Hiroshi Takayama
浩 高山
Kazuo Masai
一夫 正井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004149360A priority Critical patent/JP2004288213A/en
Publication of JP2004288213A publication Critical patent/JP2004288213A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To improve throughput of searching processing by reducing the frequency of read from an external storage unit, for a database system in which all item search is frequently requested for the same data. <P>SOLUTION: In a database system of parallel execution type comprising a plurality of processing units, a dictionary administration part, a buffer administration part, and a search execution control part are provided. The buffer administration part, accompanied by reading of a new data block from the external storage unit, transfers the read data block to other processing units. The dictionary administration part administrates recording of the address information for locating the data block once read and transferred to each processing unit. The search execution control part executes and controls search on the data block in each processing unit according to the above address information. Thus, the frequency of reading from the external storage unit is reduced to improve the performance of all item search of the system. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明はデータベースシステムに係り、特に、非定型検索(全件検索)が頻繁に発生する場合に好適なデータベースシステムに関する。   The present invention relates to a database system, and more particularly to a database system suitable for a case where an atypical search (all-item search) frequently occurs.

従来のデータベースシステムにおいては、あるユーザからのデータ検索要求で全件検索が発生すると、大容量の外部記憶装置内のデータベースを構成するデータの先頭から順に処理装置内の主記憶上のデータバッファに読み込みが行われ、さらに連続して別のユーザからのデータ検索要求で全件検索が発生すると、上記と同様に外部記憶装置内のデータベースを構成するデータの先頭から順に処理装置内の主記憶上のデータバッファへの読み込みが行われる()。すなわち、上記データベースシステムでは、最初の全件検索でデータバッファに読み込まれた先頭データが追い出された後に次の全件検索が発生すると、主記憶上のデータバッファに残った(先頭データのない)一部データを再利用することはできないので、もう一度すべてのデータを外部記憶装置からデータバッファに読み込んでいる。   In a conventional database system, when a search for all data occurs in response to a data search request from a certain user, data is sequentially stored in a data buffer on a main memory in a processing device in order from the top of data constituting a database in a large-capacity external storage device. When reading is performed, and furthermore, a full search is performed in response to a data search request from another user in succession, in the same manner as described above, the data constituting the database in the external storage device is sequentially stored in the main storage in the processing device from the beginning. Is read into the data buffer (). That is, in the above database system, when the next all-item search occurs after the first data read into the data buffer in the first all-item search is evicted, the first data remains in the data buffer on the main memory (there is no first data). Since some data cannot be reused, all data is read from the external storage device to the data buffer again.

また、従来からデータ検索に際して対象とするデータに対して索引を作成することで検索範囲を絞るなどの手法を用いているが、事前にどのような検索形態が発生するのか不明な利用形態ではあらかじめ索引を作成することが困難であり、結果的にすべてのデ−タを読み込むことが必要となる。そこで、外部記憶装置からデータを読み込む際に先読みを行うことで見かけ上の検索時間を短縮するといった手法も多用されている。さらに、検索に伴う一連の処理を分割して複数の処理装置で並列的に実行させることにより、各々の処理装置における負荷の軽減および均一化を図って全体的な検索処理の性能を向上させる並列分散処理方法が、特許文献1において提案されている。
アン イントロダクション トゥ データベース システムズ,シー ジェイ デイト,アディソン ウェズリー,1986,第45頁から第58頁/An Introduction to Database Systems, C. J. Date, ADDISON-WESLEY,1986,pp45-pp58 特開平3−41550号公報
Conventionally, a method of narrowing the search range by creating an index for the target data at the time of data search has been used, but in the use form where it is unknown in advance what search form will occur, It is difficult to create an index, and consequently it is necessary to read all the data. Therefore, a method of pre-reading when reading data from an external storage device to shorten an apparent search time is often used. Furthermore, by dividing a series of processes involved in a search and executing the processes in parallel by a plurality of processing devices, the load on each processing device can be reduced and equalized to improve the performance of the entire search process. A distributed processing method has been proposed in Patent Document 1.
An Introduction to Database Systems, CJ Date, ADDISON-WESLEY, 1986, pp45-pp58 JP-A-3-41550

一般的に、処理装置内のデータバッファの容量は外部記憶装置の容量よりも小さく、外部記憶装置からデータバッファに読み込まれたデータは、当該データの利用後にバッファメモリが満杯になると捨てられてしまうので、同一のデータを別の検索で再度利用する場合には、もう一度外部記憶装置から当該デ−タを読み込まなければならない。このため、全件検索が頻繁に発生するデータベースシステムでは、その都度すべてのデータを外部記憶装置から読み込むことになり、これによって外部記憶装置からの読み込み頻度が増大して検索処理のスループットが大幅に低下してしまうという問題点があった。   Generally, the capacity of a data buffer in a processing device is smaller than the capacity of an external storage device, and data read from the external storage device to the data buffer is discarded when the buffer memory becomes full after use of the data. Therefore, when the same data is used again in another search, the data must be read from the external storage device again. For this reason, in a database system in which all-item searches frequently occur, all data is read from the external storage device each time. As a result, the frequency of reading data from the external storage device increases, and the throughput of the search processing increases significantly. There was a problem that it was lowered.

また、前述したデータの先読みや並列分散処理などが行われる従来のデータベースシステムにおいても、多数のユーザからの検索要求によって全件検索が頻繁に発生する場合には、上記と同様に外部記憶装置からのデータの読み込み頻度が増大して検索処理のスループットが低下するとともに、並列処理中の複数の検索要求が交錯すると外部記憶装置中の読み込み位置が大きく変動し、外部記憶装置からの読み込み動作そのもののスループットが低下してしまうおそれがあるという問題点があった。   Also, in a conventional database system in which prefetching of data and parallel distributed processing described above are performed, when a search for all records frequently occurs due to a search request from a large number of users, an external storage device is used in the same manner as described above. The frequency of reading the data increases, and the throughput of the search processing decreases. When a plurality of search requests during the parallel processing are mixed, the reading position in the external storage device fluctuates greatly, and the reading operation from the external storage device itself is not performed. There is a problem that the throughput may be reduced.

したがって本発明の目的は、上記の問題点を解決して、全件検索が頻繁に発生する場合における外部記憶装置からのデータの読み込み頻度を低減させるとともに、同一のデータを対象とする異なる全件検索を並列的に実行して、検索処理のスループットを向上させることのできるデータベースシステムを提供することにある。   Accordingly, an object of the present invention is to solve the above-described problem, reduce the frequency of reading data from the external storage device when all-item search is frequently performed, and simultaneously execute different all-item search for the same data. It is an object of the present invention to provide a database system capable of executing searches in parallel to improve the throughput of search processing.

(1) 上記の目的を達成するため、本発明のデータベースシステムは、外部記憶装置内のデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、データ検索に伴ってデータベースから一度読み込まれた各々のデータブロックについて、前記データブロックを保持するデータバッファを有する処理装置を特定するアドレス情報の記録管理を行うディクショナリ管理部と、各々の処理装置内のデータバッファの使用状況に応じて、所定の条件を満たすデータブロックの他のデータバッファへの転送を行うバッファ管理部と、前記ディクショナリ管理部における前記アドレス情報に基づいてデータ検索の実行制御を行う検索実行制御部とを具備する構成としたものである。   (1) In order to achieve the above object, the database system of the present invention is a database system that performs a data search for a database in an external storage device by a plurality of processing devices that can operate in parallel, with the data search. For each data block once read from the database, use of a dictionary management unit for recording management of address information specifying a processing device having a data buffer holding the data block, and use of a data buffer in each processing device Depending on the situation, a buffer management unit that transfers a data block that satisfies a predetermined condition to another data buffer, and a search execution control unit that performs execution of data search based on the address information in the dictionary management unit Is provided.

(2) また、(1)の構成において、前記データ検索は全件検索であり、
前記バッファ管理部は、最初の全件検索で外部記憶装置から読み込まれる複数のデータブロックを、所定のブロック数ごとに各々の処理装置内のデータバッファに転送し、前記検索実行制御部は、前記ブロック数ごとに各々の処理装置内のデータバッファで保持されている前記データブロックを対象として、以後の全件検索の実行制御を行うものである。
(2) In the configuration of (1), the data search is an all-item search,
The buffer management unit transfers a plurality of data blocks read from the external storage device in the first all-item search to a data buffer in each processing device for each predetermined number of blocks, and the search execution control unit The execution control of the subsequent all-item search is performed for the data blocks held in the data buffers in the respective processing devices for each block number.

(3) また、(2)の構成において、前記バッファ管理部による前記データブロックの転送先を、未使用の処理装置内のデータバッファまたは指定された処理装置内のデータバッファとするものである。   (3) In the configuration of (2), a transfer destination of the data block by the buffer management unit is a data buffer in an unused processing device or a data buffer in a designated processing device.

上記構成に基づく作用を説明すると以下の通りである。   The operation based on the above configuration will be described as follows.

本発明のデータベースシステムでは、外部記憶装置内のデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、データ検索に伴ってデータベースから一度読み込まれた各々のデータブロックについて、前記データブロックを保持するデータバッファを有する処理装置を特定するアドレス情報の記録管理を行うディクショナリ管理部と、各々の処理装置内のデータバッファの使用状況に応じて、所定の条件を満たすデータブロックの他のデータバッファへの転送を行うバッファ管理部と、前記ディクショナリ管理部における前記アドレス情報に基づいてデータ検索の実行制御を行う検索実行制御部とを具備する構成としたことにより、最初にデータ検索の対象として外部記憶装置から読み込まれたデ−タブロックは破棄されることなく別の処理装置内のデータバッファに転送され、二度目以降の当該データブロックを対象とする検索要求に際しては、ディクショナリ管理部に記録管理されているアドレス情報に基づき、いずれかの処理装置内のデータバッファに保持されている当該デ−タブロックを再利用することが可能となる。   In the database system of the present invention, in a database system in which a data search for a database in an external storage device is performed by a plurality of processing devices capable of operating in parallel, each data block read from the database once along with the data search A dictionary management unit that performs recording management of address information that specifies a processing device having a data buffer that holds the data block, and data that satisfies a predetermined condition according to a use state of a data buffer in each processing device. Firstly, by having a configuration including a buffer management unit that transfers a block to another data buffer, and a search execution control unit that controls execution of data search based on the address information in the dictionary management unit. External storage device for data retrieval The read data block is transferred to a data buffer in another processing device without being discarded, and is recorded and managed by the dictionary management unit when a search request for the data block for the second time or later is made. Based on the address information, the data block held in the data buffer in one of the processing devices can be reused.

すなわち、同一のデータを対象とする2回目以降のデータ検索においては、アクセス速度の遅い(1MB/sec程度)外部記憶装置から当該データを読み込むことなく、アクセス速度の速い(100MB/sec程度)データバッファ中の当該データについてすぐに検索処理を行うことができるので、特に、全件検索が頻繁に発生する場合における外部記憶装置からのデータの読み込み頻度を低減させて、検索処理のスループットを向上させることができる。また、同一のデータを対象とする異なる全件検索を並列的に実行して、検索処理のスループットをさらに向上させることもできる。   That is, in the second and subsequent data searches for the same data, the data having a high access speed (about 100 MB / sec) is read without reading the data from an external storage device having a low access speed (about 1 MB / sec). Since the search process can be performed immediately on the data in the buffer, the frequency of reading data from the external storage device is reduced particularly when all-item search is frequently performed, thereby improving the search process throughput. be able to. Further, it is possible to further improve the throughput of the search process by executing different all-item searches for the same data in parallel.

本発明のデータベースシステムによれば、最初にデータ検索の対象として外部記憶装置から読み込まれたデ−タブロックは破棄されることなく別の処理装置内のデータバッファに転送され、二度目以降の当該データブロックを対象とする検索要求に際しては、ディクショナリ管理部に記録管理されているアドレス情報に基づき、いずれかの処理装置内のデータバッファに保持されている当該デ−タブロックを再利用することが可能となる。   According to the database system of the present invention, the data block that is first read from the external storage device as a target of data search is transferred to the data buffer in another processing device without being discarded, Upon a search request for a data block, it is possible to reuse the data block held in the data buffer in any of the processing devices based on the address information recorded and managed in the dictionary management unit. It becomes possible.

すなわち、同一のデータを対象とする2回目以降のデータ検索においては、アクセス速度の遅い(1MB/sec程度)外部記憶装置から当該データを読み込むことなく、アクセス速度の速い(100MB/sec程度)データバッファ中の当該データについてすぐに検索処理を行うことができるので、特に、全件検索が頻繁に発生する場合における外部記憶装置からのデータの読み込み頻度を低減させて、検索処理のスループットを向上させることができるという効果が得られる。また、同一のデータを対象とする異なる全件検索を並列的に実行して、検索処理のスループットをさらに向上させることができるという効果も得られる。   That is, in the second and subsequent data searches for the same data, the data having a high access speed (about 100 MB / sec) is read without reading the data from an external storage device having a low access speed (about 1 MB / sec). Since the search process can be performed immediately on the data in the buffer, the frequency of reading data from the external storage device is reduced particularly when all-item search is frequently performed, thereby improving the search process throughput. The effect that it can be obtained is obtained. Further, there is an effect that different all-item searches for the same data can be executed in parallel, and the throughput of the search process can be further improved.

以下、本発明のデータベースシステムの実施例を図1〜図6を用いて詳細に説明する。   Hereinafter, an embodiment of a database system according to the present invention will be described in detail with reference to FIGS.

図1は、本発明のデータベースシステムの全体構成の一例を示すブロック図である。同図中、データベースシステムは、それぞれがデ−タの検索/更新処理を実行するハードウェアである並列動作可能な複数の処理装置102,各々の処理装置102を相互に結合してデータ転送を可能とする処理装置間高速通信路112,大容量の磁気ディスク装置などの外部記憶装置内に格納されているデ−タベ−ス111によって構成されている。そして、処理装置102には、データベースシステムの基本構成要素として、ユ−ザからの検索要求などを受付けるプログラムである検索/更新要求入力部101,入力されたユーザからの検索要求を解析して全件検索を行うべきか否かなどの具体的な検索処理内容を決定する検索処理要求解析部103,決定された検索処理の実行制御を行う検索実行制御部104,いずれの処理装置102にどんなデータが保持されているかというアドレス情報の記録管理を行うディクショナリ管理部106,外部記憶装置内のデータベース111に対するアクセス管理を行うデ−タベ−スアクセス制御部108,データベース111から読み込んだデータを保持する主記憶装置上のデ−タバッファ110,デ−タバッファ110の管理および他の処理装置102とのデータ転送制御を行うバッファ管理部109などが設けられている。   FIG. 1 is a block diagram showing an example of the overall configuration of the database system of the present invention. In the figure, a database system is a plurality of processing units 102, each of which is hardware for executing data search / update processing, which can operate in parallel, and the respective processing units 102 are mutually connected to enable data transfer. , And a database 111 stored in an external storage device such as a large-capacity magnetic disk device. The processing device 102 has a search / update request input unit 101, which is a program for receiving a search request from a user, as a basic component of the database system, analyzes the input search request from the user, and analyzes the entire search request. A search processing request analysis unit 103 that determines specific search processing contents such as whether or not a search should be performed, a search execution control unit 104 that controls execution of the determined search processing, A dictionary management unit 106 for recording management of address information indicating whether the data is stored, a database access control unit 108 for managing access to the database 111 in the external storage device, and a main unit for storing data read from the database 111. Data buffer 110 on the storage device, management of data buffer 110 and other processing devices A buffer management unit 109 that performs data transfer control is provided with 102.

図2は、図1中のディクショナリ管理部の詳細を示すブロック図である。同図中、ディクショナリ管理部106には管理用の制御ブロック107が設けられており、データ管理ブロック201が管理する表名称インデックス202により、先頭データブロックが保持されているデータバッファ110を有する処理装置102を特定する先頭データブロックアドレス203およびその他のデータブロックが保持されているデータバッファ110を有する処理装置102を特定する一般データブロックアドレス204が各々の表ごとに記憶されている。   FIG. 2 is a block diagram showing details of the dictionary management unit in FIG. In the figure, a dictionary control unit 106 is provided with a control block 107 for management, and a processing device having a data buffer 110 in which a head data block is held by a table name index 202 managed by a data management block 201. A head data block address 203 for specifying 102 and a general data block address 204 for specifying the processing device 102 having the data buffer 110 holding other data blocks are stored for each table.

図3は、本発明のデータベースシステムの具体的な適用例(データ分割型)を説明するブロック図であり、複数の処理装置102のうちのいくつかの使用目的が未定である(フローティング)構成において、最初の全件検索でデータベース111を有する外部記憶装置から必要なデータブロックを読み込む際に、当該外部記憶装置が接続された処理装置102内のデータバッファ110が読み込まれたデータブロックで満杯になったとき、データブロックを他の処理装置102内のデータバッファ110に転送することにより、2回目以降の全件検索で他の処理装置102から所望のデータを取得することを可能として、外部記憶装置からの読み込み頻度の低減を図っている。   FIG. 3 is a block diagram illustrating a specific application example (data division type) of the database system according to the present invention. In a configuration in which the purpose of use of some of the plurality of processing devices 102 is undecided (floating). When a necessary data block is read from the external storage device having the database 111 in the first search of all records, the data buffer 110 in the processing device 102 to which the external storage device is connected is filled with the read data block. Then, by transferring the data block to the data buffer 110 in the other processing device 102, it is possible to obtain desired data from the other processing device 102 in the second and subsequent all-item search. To reduce the frequency of reading from.

非定型業務においては、検索条件に対応する索引が存在しない場合や、索引が存在してもその検索条件では絞り込みが不可能な場合などが数多く発生する。そして、このような場合には、データベースに対する検索の方法としては、全件検索を行わざるを得ない。すなわち、検索の条件が何も存在しない検索要求だけではなく、様々な検索条件が指定された検索要求であっても(同一の検索要求に限らず)すべてのデータを対象として検索を行う必要が数多く発生する。   In an atypical business, there are many cases where an index corresponding to a search condition does not exist, and even when an index exists, it is impossible to narrow down the search condition. In such a case, as a method of searching the database, a full search must be performed. That is, not only a search request having no search condition but also a search request in which various search conditions are specified (not limited to the same search request), it is necessary to perform a search for all data. Many occur.

図3においては、最初の全件検索要求に応じて外部記憶装置から読み込まれたデータブロックのすべてを各々の処理装置102内のデータバッファ110に配置しておくことにより、後続する全件検索要求に対して外部記憶装置からの読み込み動作をまったく行うことなく、全件検索を実行して要求に応じることができる。ここで、各々のデータブロックが配置されているデータバッファ110を有する処理装置102を特定するアドレス情報の記録管理を行うのが、別の処理装置102に設けられているディクショナリ管理部106である。すなわち、ユーザAの全件検索要求301に応じて全件検索が行われた後に、ユ−ザBの全件検索要求302が発生した場合には、ディクショナリ管理部106に問い合わせることによって所望のデータが配置されているデータバッファ110を有する処理装置102のすべてがわかるので、それらの処理装置102に対して並列的に検索処理を実行させることで、全件検索を容易に行うことができる。また、データブロックの更新に際しては、転送されたデータブロック以外の別の領域を使用して更新が行われるので、同時に行われる他の全件検索に対して何ら悪影響を与えることはない。なお、図3の例では、ユ−ザBの全件検索要求302に応じて複数の処理装置PBおよびPC内のデータバッファ110に対して検索が行われ、ユーザCの更新要求に応じてひとつの処理装置PA内のデータバッファ110を用いて更新が行われている。   In FIG. 3, by placing all of the data blocks read from the external storage device in response to the first all-item search request in the data buffer 110 in each processing device 102, the subsequent all-item search request In this case, it is possible to execute the all-item search and respond to the request without performing any read operation from the external storage device. Here, the dictionary management unit 106 provided in another processing device 102 performs recording management of address information that specifies the processing device 102 having the data buffer 110 in which each data block is arranged. That is, when the all-item search request 302 of the user B occurs after the all-item search is performed in response to the all-item search request 301 of the user A, the desired data is inquired to the dictionary management unit 106. Since all of the processing devices 102 having the data buffers 110 in which are stored are known, by performing a search process on these processing devices 102 in parallel, it is possible to easily perform a full search. In updating the data block, the update is performed using another area other than the transferred data block, so that there is no adverse effect on the simultaneous search of all records. In the example of FIG. 3, a search is performed on the data buffers 110 in the plurality of processing devices PB and the PC in response to the all-item search request 302 of the user B, and one search is performed in response to the update request of the user C. Is updated using the data buffer 110 in the processing device PA.

図4は、図3における処理の流れを示すフローチャートである。同図中、全件検索処理を行う場合には、ディクショナリ管理部106に対して問い合わせを行って、いずれかの処理装置102に所望のデ−タが格納されているか否かを得る(ステップ401)。そして、所望のデータを有する処理装置102があった場合にはステップ410に分岐し、該当する処理装置102のすべてに対して同時に検索要求を発行することで全件検索を行う。一方、いずれの処理装置102にも所望のデ−タが格納されていない場合にはステップ402に分岐し、外部記憶装置が接続されている処理装置102内に解放してもよいデ−タバッファ110があるか否かを判定する(“解放してもよいデ−タバッファ”とは、例えば、現在実行中のいずれの検索処理にも参照されていない別の表のデ−タなどが格納されているデータバッファ領域のことである。)。ステップ402で解放してもよいデ−タバッファ110があると判定された場合には、外部記憶装置から当該デ−タバッファ110に所望のデータを読み込み(ステップ403)、ディクショナリ管理部106を更新する(ステップ404)。また、ステップ402で解放してもよいデ−タバッファ110はないと判定された場合(すなわち、デ−タバッファ110が満杯である場合)には、ステップ406に分岐してフローティングな(未使用の)他の処理装置102内に解放してもよいデ−タバッファ110を見つけ、すでに利用済みのデータを当該他の処理装置102内のデ−タバッファ110に転送して追い出して(ステップ407)から、ディクショナリ管理部106を更新する(ステップ408)。そして、転送によって空いた外部記憶装置が接続されている処理装置102内のデータバッファ110に所望のデータを読み込む(ステップ409)。以上のように、他の処理装置に対してデ−タバッファがオ−バ−フロ−した場合や、一定時間ごとまたは一定アクセス量ごとに、利用済みデータブロックの転送や再利用を行うことができる。   FIG. 4 is a flowchart showing the flow of the process in FIG. In the figure, when performing all-item search processing, an inquiry is made to the dictionary management unit 106 to obtain whether or not desired data is stored in any of the processing devices 102 (step 401). ). If there is a processing device 102 having the desired data, the process branches to step 410, and a search request is issued to all of the corresponding processing devices 102 at the same time to perform an all-item search. On the other hand, if the desired data is not stored in any of the processing devices 102, the process branches to step 402, where the data buffer 110 may be released into the processing device 102 to which the external storage device is connected. It is determined whether or not there is a data buffer (the "data buffer that may be released" is, for example, data of another table which is not referred to by any currently executing retrieval processing, etc. is stored). Data buffer area.) If it is determined in step 402 that there is a data buffer 110 that can be released, desired data is read from the external storage device into the data buffer 110 (step 403), and the dictionary management unit 106 is updated (step 403). Step 404). If it is determined in step 402 that there is no data buffer 110 that can be released (that is, if the data buffer 110 is full), the process branches to step 406 to float (unused). A data buffer 110 that may be released in another processing device 102 is found, and data that has already been used is transferred to the data buffer 110 in the other processing device 102 and expelled (step 407). The management unit 106 is updated (Step 408). Then, desired data is read into the data buffer 110 in the processing device 102 to which the external storage device vacated by the transfer is connected (step 409). As described above, the used data block can be transferred or reused when the data buffer overflows to another processing device, or at regular time intervals or at regular access amounts. .

さらに、上記によれば、外部記憶装置が接続されている処理装置102とは別の処理装置102によって検索が行われるので、全件検索に際して入出力に用いられる各々の処理装置にかかる負荷を低減させることができる。また、このような処理装置の能力の支援を目的として、他の処理装置の能力を有効に利用するために外部記憶装置が接続されている処理装置102内のデータバッファ中のデータを転送して転送先の処理装置102で検索を実行する場合においては、転送先の処理装置102は参照専用に使用されるので排他制御の必要がなく、参照性能を向上させることができる一方、更新処理は転送元の(外部記憶装置が接続されている)処理装置102のみで行われるので更新の影響を考慮して実行中の全件検索を中断させる必要がない。   Further, according to the above, since the search is performed by the processing device 102 different from the processing device 102 to which the external storage device is connected, the load on each processing device used for input / output at the time of all-item search is reduced. Can be done. Further, in order to support the capacity of such a processing device, the data in the data buffer in the processing device 102 to which the external storage device is connected is transferred in order to effectively utilize the capabilities of the other processing devices. When a search is performed in the transfer destination processing device 102, the transfer destination processing device 102 is used exclusively for reference, so that exclusive control is not required and reference performance can be improved. Since the search is performed only by the original processing device 102 (to which the external storage device is connected), there is no need to interrupt the search of all the records being executed in consideration of the influence of the update.

図5は、本発明のデータベースシステムの具体的な適用例(パイプライン型)を説明するブロック図であり、データベース111を有する外部記憶装置から読み込まれた後、現在実行中の全件検索による利用が終わったデータブロックの各々について、指定された他の処理装置102内の空きのあるデ−タバッファ110へ順次転送してゆくことにより、2回目以降の全件検索における当該データブロックの再利用を可能としている。   FIG. 5 is a block diagram for explaining a specific application example (pipeline type) of the database system according to the present invention. By sequentially transferring each of the completed data blocks to a vacant data buffer 110 in another designated processing device 102, the data blocks can be reused in the second and all subsequent searches. It is possible.

図5において、ユ−ザAの全件検索要求301に応じて、外部記憶装置内のデータベース111から処理装置PAのデータバッファ110に、データブロック1,2の順序で読み込みを行う場合について考える。一般にデータバッファ110の容量は外部記憶装置の容量よりも小さく、検索の終わったデータブロック1を保持したままの状態で次のデータブロック2を読み込むことはできないので、従来は利用済みのデータブロック1を捨てていた。これに対して、本適用例では利用済みのデータブロック1を残り容量に余裕のあるデータバッファ110を有する指定された別の処理装置102へ転送することにより、外部記憶装置からの読み込みなしで、次回のユーザBの全件検索要求302に応じた検索を行うことができる。一方、ユーザCからの更新要求303に対しては、上記によって他の処理装置102に転送されたデータブロックとは別に、外部記憶装置が直接接続されている処理装置102内のデータバッファ110で更新処理を行う。これによって、更新処理が行われる処理装置とは異なる処理装置で複数の全件検索処理を実行するとともに、外部記憶装置から順次読み込まれたデータブロックを別の処理装置120上で再利用することができる。   In FIG. 5, a case is considered in which the data blocks 1 and 2 are read from the database 111 in the external storage device to the data buffer 110 of the processing device PA in response to the all-item search request 301 of the user A. In general, the capacity of the data buffer 110 is smaller than the capacity of the external storage device, and the next data block 2 cannot be read while retaining the data block 1 for which the search has been completed. Was thrown away. On the other hand, in this application example, the used data block 1 is transferred to another designated processing device 102 having the data buffer 110 having a sufficient remaining capacity, so that the data block 1 is not read from the external storage device. It is possible to perform a search according to the next all-user search request 302 of the user B. On the other hand, the update request 303 from the user C is updated in the data buffer 110 in the processing device 102 to which the external storage device is directly connected, separately from the data block transferred to the other processing device 102 as described above. Perform processing. As a result, a plurality of all-item search processing can be executed by a processing device different from the processing device in which the update process is performed, and the data blocks sequentially read from the external storage device can be reused on another processing device 120. it can.

図6は、図5における処理の流れを示すフローチャートである。同図中、全件検索処理を行う場合には、ディクショナリ管理部106に問い合わせを行って、検索対象とするデータブロック群の先頭データブロックが格納されているデータバッファ110を有する処理装置102を特定するアドレス情報203を見つける(ステップ601)。そして、先頭データブロックがあった場合には、当該先頭データブロックに対して検索を行った後、次のデータブロックが流れてくるのを待つ(ステップ611)。一方、検索対象の先頭データブロックが格納されたデータバッファ110がいずれの処理装置102にもなかった場合には、外部記憶装置に直接接続されている処理装置102内のデータバッファ110に空きがあるか否かを調べて(ステップ602)、空きがあった場合には、外部記憶装置内のデータベース111から当該データバッファ110に所望のデータブロックを読み込み(ステップ603)、ディクショナリ管理部106を更新して(ステップ604)から、読み込まれたデータブロックを利用して検索を行う(ステップ605)。また、ステップ602で空きがなかった場合には、指定された次の処理装置102内のデータバッファ110に空きがあるか否かを調べ(ステップ607)、空きがあればすでに利用済のデータブロックを転送して(ステップ608)、ディクショナリ管理部106を更新して(ステップ609)から、上記転送によって空きの生じたデータバッファ110に外部記憶装置内のデータベース111から次のデータブロックを読み込み(ステップ610)、読み込まれたデータブロックを利用して検索を行う(ステップ605)。ステップ607で指定された次の処理装置102内のデータバッファ110に空きがなかった場合には、さらに次に指定された処理装置102内のデータバッファ110内のデータを連鎖的に(トコロテンのように)追い出してから所望のデータブロックを読み込み(ステップ612)、読み込まれた当該データブロックを利用して検索を行う(ステップ605)。以上のように、他の処理装置に対してデ−タバッファがオ−バ−フロ−した場合や、一定時間ごとまたは一定アクセス量ごとに、利用済みデータブロックの転送や再利用を行うことができる。   FIG. 6 is a flowchart showing the flow of the process in FIG. In the figure, when performing an all-item search process, an inquiry is made to the dictionary management unit 106 to specify the processing device 102 having the data buffer 110 in which the first data block of the data block group to be searched is stored. Address information 203 to be found is found (step 601). If there is a head data block, the search is performed on the head data block, and then the flow waits for the next data block to flow (step 611). On the other hand, if none of the processing devices 102 has the data buffer 110 in which the first data block to be searched is stored, the data buffer 110 in the processing device 102 directly connected to the external storage device has a free space. It is checked (step 602), and if there is a vacancy, a desired data block is read from the database 111 in the external storage device into the data buffer 110 (step 603), and the dictionary management unit 106 is updated. (Step 604), a search is performed using the read data block (step 605). If there is no free space in step 602, it is checked whether or not there is free space in the data buffer 110 in the designated next processing device 102 (step 607). Is transferred (step 608), the dictionary management unit 106 is updated (step 609), and then the next data block is read from the database 111 in the external storage device into the data buffer 110 having an empty space due to the transfer (step 608). 610), a search is performed using the read data block (step 605). If there is no free space in the data buffer 110 in the next processing device 102 specified in step 607, the data in the data buffer 110 in the next specified processing device 102 is further linked in a chain (such as Tokoroten). After reading out, a desired data block is read (step 612), and a search is performed using the read data block (step 605). As described above, the used data block can be transferred or reused when the data buffer overflows to another processing device, or at regular time intervals or at regular access amounts. .

さらに、データ分割型およびパイプライン型のいずれの場合でも、十分な処理装置102を設けることによって、外部記憶装置から読み込まれたすべてのデータブロックを処理装置102内のデータバッファ110に保持できるようにすれば、外部記憶媒体111への入力要求をまったく行わずに全件検索を行うこともできる。そして、データブロックの更新処理については、外部記憶装置が直接接続されている処理装置102内のデータバッファ110で実行され、更新されたデータブロックは通常のデータ転送によって他の処理装置102内のデータバッファ110に反映される。   Further, in any of the data division type and the pipeline type, by providing a sufficient processing device 102, all data blocks read from the external storage device can be held in the data buffer 110 in the processing device 102. Then, it is also possible to perform a full search without making an input request to the external storage medium 111 at all. The update processing of the data block is executed in the data buffer 110 in the processing device 102 to which the external storage device is directly connected, and the updated data block is transferred to the data storage in the other processing device 102 by normal data transfer. This is reflected in the buffer 110.

以上詳しく説明したように、本発明の実施形態によるデータベースシステムによれば、外部記憶装置内のデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、データ検索に伴ってデータベースから一度読み込まれた各々のデータブロックについて、前記データブロックを保持するデータバッファを有する処理装置を特定するアドレス情報の記録管理を行うディクショナリ管理部と、各々の処理装置内のデータバッファの使用状況に応じて、所定の条件を満たすデータブロックの他のデータバッファへの転送を行うバッファ管理部と、前記ディクショナリ管理部における前記アドレス情報に基づいてデータ検索の実行制御を行う検索実行制御部とを具備する構成としたことにより、最初にデータ検索の対象として外部記憶装置から読み込まれたデ−タブロックは破棄されることなく別の処理装置内のデータバッファに転送され、二度目以降の当該データブロックを対象とする検索要求に際しては、ディクショナリ管理部に記録管理されているアドレス情報に基づき、いずれかの処理装置内のデータバッファに保持されている当該デ−タブロックを再利用することが可能となる。   As described above in detail, according to the database system according to the embodiment of the present invention, in a database system in which a plurality of processing devices capable of operating in parallel perform data search for a database in an external storage device, For each data block once read from the database, a dictionary management unit that performs recording management of address information that specifies a processing device having a data buffer holding the data block, and a data buffer in each processing device. A buffer management unit that transfers a data block satisfying a predetermined condition to another data buffer according to a use condition, and a search execution control unit that controls execution of a data search based on the address information in the dictionary management unit With the configuration having The data block first read from the external storage device as a data search target is transferred to a data buffer in another processing device without being discarded, and a search request for the second or subsequent data block is performed. In this case, the data block held in the data buffer in any of the processing devices can be reused based on the address information recorded and managed in the dictionary management unit.

すなわち、同一のデータを対象とする2回目以降のデータ検索においては、アクセス速度の遅い(1MB/sec程度)外部記憶装置から当該データを読み込むことなく、アクセス速度の速い(100MB/sec程度)データバッファ中の当該データについてすぐに検索処理を行うことができるので、特に、全件検索が頻繁に発生する場合における外部記憶装置からのデータの読み込み頻度を低減させて、検索処理のスループットを向上させることができるという効果が得られる。また、同一のデータを対象とする異なる全件検索を並列的に実行して、検索処理のスループットをさらに向上させることができるという効果も得られる。   That is, in the second and subsequent data searches for the same data, the data having a high access speed (about 100 MB / sec) is read without reading the data from an external storage device having a low access speed (about 1 MB / sec). Since the search process can be performed immediately on the data in the buffer, the frequency of reading data from the external storage device is reduced particularly when all-item search is frequently performed, thereby improving the search process throughput. The effect that it can be obtained is obtained. Further, there is an effect that different all-item searches for the same data can be executed in parallel, and the throughput of the search process can be further improved.

本発明のデータベースシステムの全体構成の一例を示すブロック図である。FIG. 1 is a block diagram illustrating an example of an overall configuration of a database system according to the present invention. 図1中のディクショナリ管理部の詳細を示すブロック図である。FIG. 2 is a block diagram illustrating details of a dictionary management unit in FIG. 1. 本発明のデータベースシステムの具体的な適用例(データ分割型)を説明するブロック図である。It is a block diagram explaining the specific application example (data division type) of the database system of this invention. 図3における処理の流れを示すフローチャートである。4 is a flowchart illustrating a flow of processing in FIG. 3. 本発明のデータベースシステムの具体的な適用例(パイプライン型)を説明するブロック図である。It is a block diagram explaining the specific application example (pipeline type) of the database system of this invention. 図5における処理の流れを示すフローチャートである。6 is a flowchart illustrating a flow of processing in FIG. 5.

符号の説明Explanation of reference numerals

101 検索/更新要求入力部
102 処理装置(CPU)
103 検索処理要求解析部
104 検索実行制御部
106 デイクショナリ管理部
107 制御ブロック
108 デ−タベ−スアクセス制御部
109 バッファ管理部
110 デ−タバッファ
111 外部記憶装置内のデ−タベ−ス
112 処理装置間高速転送路
201 データ管理ブロック
202 表名称インデックス
203 先頭データブロックアドレス
204 一般データブロックアドレス
101 search / update request input unit 102 processing unit (CPU)
103 Search processing request analysis unit 104 Search execution control unit 106 Dictionary management unit 107 Control block 108 Database access control unit 109 Buffer management unit 110 Data buffer 111 Database in external storage device 112 Between processing devices High-speed transfer path 201 Data management block 202 Table name index 203 First data block address 204 General data block address

Claims (3)

外部記憶装置内のデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、
データ検索に伴ってデータベースから一度読み込まれた各々のデータブロックについて、前記データブロックを保持するデータバッファを有する処理装置を特定するアドレス情報の記録管理を行うディクショナリ管理部と、
各々の処理装置内のデータバッファの使用状況に応じて、所定の条件を満たすデータブロックの他のデータバッファへの転送を行うバッファ管理部と、
前記ディクショナリ管理部における前記アドレス情報に基づいてデータ検索の実行制御を行う検索実行制御部とを具備する構成としたことを特徴とするデータベースシステム。
In a database system in which a data search targeting a database in an external storage device is performed by a plurality of processing devices capable of operating in parallel,
For each data block once read from the database with the data search, a dictionary management unit for recording management of address information specifying a processing device having a data buffer holding the data block,
A buffer management unit that transfers a data block that satisfies a predetermined condition to another data buffer according to a use state of a data buffer in each processing device;
A database system comprising: a search execution control unit that controls execution of data search based on the address information in the dictionary management unit.
前記データ検索は全件検索であり、
前記バッファ管理部は、最初の全件検索で外部記憶装置から読み込まれる複数のデータブロックを、所定のブロック数ごとに各々の処理装置内のデータバッファに転送し、
前記検索実行制御部は、前記ブロック数ごとに各々の処理装置内のデータバッファで保持されている前記データブロックを対象として、以後の全件検索の実行制御を行うことを特徴とする請求項1記載のデータベースシステム。
The data search is a full search,
The buffer management unit transfers a plurality of data blocks read from the external storage device in the first all-item search to the data buffer in each processing device for each predetermined number of blocks,
2. The search execution control unit performs execution control of a subsequent search for all data for the data blocks held in a data buffer in each processing device for each of the number of blocks. The database system described.
前記バッファ管理部による前記データブロックの転送先を、未使用の処理装置内のデータバッファまたは指定された処理装置内のデータバッファとすることを特徴とする請求項2記載のデータベースシステム。
3. The database system according to claim 2, wherein a transfer destination of the data block by the buffer management unit is a data buffer in an unused processing device or a data buffer in a designated processing device.
JP2004149360A 2004-05-19 2004-05-19 Data processing system and data processing method Pending JP2004288213A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004149360A JP2004288213A (en) 2004-05-19 2004-05-19 Data processing system and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004149360A JP2004288213A (en) 2004-05-19 2004-05-19 Data processing system and data processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP19425294A Division JP3585264B2 (en) 1994-06-17 1994-08-18 Database system and data retrieval method

Publications (1)

Publication Number Publication Date
JP2004288213A true JP2004288213A (en) 2004-10-14

Family

ID=33297068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004149360A Pending JP2004288213A (en) 2004-05-19 2004-05-19 Data processing system and data processing method

Country Status (1)

Country Link
JP (1) JP2004288213A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004326A (en) * 2005-06-22 2007-01-11 Kobe Steel Ltd Data access method and program therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004326A (en) * 2005-06-22 2007-01-11 Kobe Steel Ltd Data access method and program therefor
JP4540556B2 (en) * 2005-06-22 2010-09-08 株式会社神戸製鋼所 Data access method and program thereof

Similar Documents

Publication Publication Date Title
US11281377B2 (en) Method and apparatus for managing storage system
US7383392B2 (en) Performing read-ahead operation for a direct input/output request
US9256542B1 (en) Adaptive intelligent storage controller and associated methods
US6842824B2 (en) Cache control program and computer for performing cache processes utilizing cache blocks ranked according to their order of reuse
US6343351B1 (en) Method and system for the dynamic scheduling of requests to access a storage system
US20070220072A1 (en) Computer-readable recording medium containing database copying program, and database copying apparatus and method
US10394819B2 (en) Controlling mirroring of tables based on access prediction
JP2008146408A (en) Data storage device, data rearrangement method for it, and program
TW201941189A (en) Recording device, reading device, recording method, recording program storage medium, reading method, reading program storage medium, and magnetic tape
US20050182748A1 (en) File system control apparatus
JP2005339262A (en) File system and its control method
KR20060017816A (en) Method and device for transferring data between a main memory and a storage device
US7908434B2 (en) Raid apparatus, cache management method, and computer program product
JP2007102436A (en) Storage controller and storage control method
JP2005302030A (en) Multi-process access method and device to link list
JP2010237837A (en) File system, and data rearrangement method and program therefor
JP2004288213A (en) Data processing system and data processing method
WO2016001959A1 (en) Storage system
US7421536B2 (en) Access control method, disk control unit and storage apparatus
JP3585264B2 (en) Database system and data retrieval method
JP2001118365A (en) System and method for managing storage hierarchy and recording medium with storage hierarchical management program recorded thereon
US8417664B2 (en) Method and apparatus for database unloading
JP2005332043A (en) Information recording device, information recording method, and program
JPH0954658A (en) Parallel secondary storage device and its access method
GB2516091A (en) Method and system for implementing a dynamic array data structure in a cache line

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051206