JPH0293720A - Data base processing method - Google Patents

Data base processing method

Info

Publication number
JPH0293720A
JPH0293720A JP63244170A JP24417088A JPH0293720A JP H0293720 A JPH0293720 A JP H0293720A JP 63244170 A JP63244170 A JP 63244170A JP 24417088 A JP24417088 A JP 24417088A JP H0293720 A JPH0293720 A JP H0293720A
Authority
JP
Japan
Prior art keywords
processing
input
database
storing
records
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
JP63244170A
Other languages
Japanese (ja)
Inventor
Masashi Tsuchida
正士 土田
Shigeru Yoneda
茂 米田
Toshio Honma
本間 敏夫
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP63244170A priority Critical patent/JPH0293720A/en
Publication of JPH0293720A publication Critical patent/JPH0293720A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To parallelly access data and to improve through-put by obtaining a record housing area for user on a cache storage device and scheduling an input device so that cache collision can be minimum between plural processors. CONSTITUTION:A main memory 20 is obtained by processors 10-13 and a data base is housed in disks 30-35. Buffers 200-203 are allocated on the main memory 20 of the respective processors 10-13 and respective processor times are set so that the data in the buffer can not be mutually interfered by referring or updating, etc. Clusters 330-333 to be housed in the disk 33 are defined as a reading subject and applied results of selection and projection processing, etc., are respectively transferred to the buffers 200-203. When the data can be parallelly accessed, with considering the number of the processors or the performance of the respective processors, an input / output processing request can be scheduled so that the cache collision, etc., can be minimum between the plural processors.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機システムにおいて、リレーショナルデ
ータベース管理システムに適した並列処理に好適なデー
タベース処理方法に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a database processing method suitable for parallel processing suitable for a relational database management system in a computer system.

〔従来の技術〕[Conventional technology]

データベースはユーザから2次元のテーブル形式で見ら
れるリレーションから成るものとし、当該テーブルの行
に対応するものをタプルとするものである。また、タプ
ルは、1つ以上の属性(これをrカラム」という)から
成っている。
The database is assumed to consist of relations that can be seen by the user in the form of a two-dimensional table, and tuples correspond to the rows of the table. Further, a tuple consists of one or more attributes (referred to as an r column).

データベース処理において、例えば、リレーショナルデ
ータベース処理乏は、処理対象となるデータは二次記憶
装置上に存在し、各データベース演算に対して大量デー
タ読み出し及び転送が必要となる。このようなデータベ
ースシステムにおいて、転送するデータが大量となる場
合、データ転送時間がデータベースシステムの性能ネッ
クとなる。
In database processing, for example, in relational database processing, the data to be processed exists on a secondary storage device, and each database operation requires reading and transferring a large amount of data. In such a database system, when a large amount of data is transferred, the data transfer time becomes a performance bottleneck of the database system.

そこで、二次記憶装置からデータを転送する時間を有効
活用する方法が考えられる。これは、データ転送時間と
当該データに対するデータベース処理に要する時間とを
オーバラップさせるものであり、従来技術として良く知
られている。一般に。
Therefore, a method can be considered to make effective use of the time to transfer data from the secondary storage device. This overlaps the data transfer time and the time required for database processing of the data, and is well known as a conventional technique. in general.

計算機システムでは、プログラム及びデータの容量が主
記憶容量の伸びを大幅に超えるので、現状の記憶装置階
層の概念は必須である。
In computer systems, the capacity of programs and data greatly exceeds the growth in main memory capacity, so the current concept of storage hierarchy is essential.

また、主記憶装置と二次記憶装置との間に半導体記憶記
憶装置を含む入出力装置を配置して、入出力処理式間を
短縮する効果を狙うアプローチが良く知られている。こ
の半導体記憶装置は、複数のレコード単位で人出対象と
なったレコードに近いデータを一括して読み込むもので
ある。すると、直後にアクセス要求であったレコード半
導体記憶装置に統計的に高確率で存在することが仮定で
きる処理の型であれば、入出力処理時間が飛躍的に短縮
できる。すなわち、中央処理装置上のデータベース処理
システムDBMSで、アクセスされると予測できるデー
タを予め半導体記憶装置に先読みして記憶することが可
能となればより有効である。しかし、上述べしたように
、データベース処理は、遂次的にアクセスする型の処理
とランダムにアクセスする型の処理とが混在するので、
従来までの半導体記憶装置の制御方法では、逆に入出力
処理時間がリードミス多発等の現象で大となることが分
かつている。
Furthermore, a well-known approach is to place an input/output device including a semiconductor memory device between a main memory device and a secondary memory device, aiming at shortening the time required for input/output processing. This semiconductor storage device reads data close to the record that is the target of attendance in units of multiple records all at once. Then, if the type of processing is such that it can be assumed with a statistically high probability that the record semiconductor storage device that received the access request immediately after, the input/output processing time can be dramatically reduced. That is, it would be more effective if the database processing system DBMS on the central processing unit could pre-read and store data that can be predicted to be accessed in the semiconductor storage device in advance. However, as mentioned above, database processing involves a mixture of sequential access type processing and random access type processing.
It has been found that in conventional control methods for semiconductor memory devices, the input/output processing time increases due to phenomena such as frequent read errors.

さらに、CPUの処理性能を向上させるために。Furthermore, to improve the processing performance of the CPU.

複数の処理装置を配するアーキテクチャが実現されてい
る。特に、主記憶装置を各処理装置で共用するアプロー
チが有望である。通常は、各処理装置にキャッシュを配
して、データ読み込みのスルーブツトを挙げている。し
かし、単一の主記憶装置を共用するために、各処理装置
のキャッシュ間でデータの衝突が発生し、キャッシュの
無効化等で各処理装置の性能低下が生ずる可能性がある
Architectures with multiple processing units have been implemented. In particular, an approach in which the main memory is shared by each processing unit is promising. Usually, each processing unit has a cache to increase the throughput of data reading. However, since a single main storage device is shared, data collisions may occur between the caches of each processing device, and the performance of each processing device may deteriorate due to invalidation of the cache or the like.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来技術では、予めDBMSで予測できるアクセス
特性を利用して、主記憶を共用した複数の処理装置から
成る中央処理装置で、処理装置間でのキャッシュ衝突を
最小するように積極的にスケジュールし、処理時間を短
縮する並列処理方法が明確でなかった。
In the above conventional technology, a central processing unit consisting of multiple processing units that share main memory utilizes access characteristics that can be predicted in advance by a DBMS, and actively schedules the cache conflicts among the processing units to minimize them. , the parallel processing method to shorten processing time was not clear.

本発明の目的は、ユーザからの問合せを解析して、作成
された内部処理手順より、データベースに対するアクセ
ス特性を把握し、処理装置数、各処理装置の性能を考慮
し、また複数の処理装置間でキャッシュ衝突等が最小と
なるようスケジュールし、入出力処理起動時に並列動作
を伴うか否かを判断し、並列処理単位をシステム特性等
より総合的に決定することにより、入出力処理時間を削
減し、システム全体としての性能を向上させるデータベ
ース処理方法を提供することにある。
The purpose of the present invention is to analyze queries from users, understand the access characteristics to the database from the created internal processing procedures, consider the number of processing devices and the performance of each processing device, and Reduces input/output processing time by scheduling to minimize cache collisions, etc., determining whether parallel operations are involved when starting input/output processing, and comprehensively determining parallel processing units based on system characteristics, etc. The object of the present invention is to provide a database processing method that improves the performance of the entire system.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために本発明では、データベースに
対する複数のユーザからの問合せを解析して対応する内
部処理手順を決定し、それを実行する1つ以上の処理装
置からなる中央処理装置と、各ユーザで共有され得るデ
ータを格納する二次記憶装置と、前記中央記憶装置と前
記二次記憶装置との間で入出力処理要求のあった複数の
レコードの転送を制御する入出力処理装置とを含む計算
機システムにおいて、入力された間合せより作成された
内部処理手順から判断して入出力処理起動時に並列処理
動作を伴うか否かを決定する過程と。
In order to achieve the above object, the present invention includes a central processing unit consisting of one or more processing units that analyze queries from a plurality of users to a database, determine a corresponding internal processing procedure, and execute the procedure; a secondary storage device that stores data that can be shared by users; and an input/output processing device that controls transfer of a plurality of records requested for input/output processing between the central storage device and the secondary storage device. A process of determining whether or not a parallel processing operation is to be performed when starting input/output processing based on an internal processing procedure created based on an input timing in a computer system including the above.

前記並列処理動作を伴う場合、入出力処理結果を像処理
可能な各処理装置で実行可能な領域へ転送する過程と、
入出力処理結果をハツシュ関数等で分割して、各処理装
置間でキャッシュ衝突が最小となるよう各入出力処理装
置をスケジュールする過程しからなることに特徴がある
If the parallel processing operation is involved, a step of transferring input/output processing results to an area executable by each processing device capable of image processing;
It is characterized by the process of dividing the input/output processing results using a hash function or the like and scheduling each input/output processing device so as to minimize cache collisions between each processing device.

〔作用〕[Effect]

本発明のデータベース処理方法によれば、予めCBMS
が予測したアクセス特性に従って、キャッシュ記憶装置
上にユーザの間合せ毎に一つあるいは複数レコード格納
領域を獲得し、処理装置数、各処理装置の性能を考慮し
、また複数の処理装置間でキャッシュ衝突等が最小とな
るよう入力処理装置をスレジュールし、入出力処理起動
時に並列動作を伴うか否かを判断し、また並列処理単位
をシステム特性等より総合的に決定し、効率よく並列処
理を行なうことによって、入出力処理時間が大幅に削減
でき、システム全体でスループットが向上する。
According to the database processing method of the present invention, the CBMS
Acquire one or more record storage areas for each user on the cache storage device according to the access characteristics predicted by Schedule input processing devices to minimize collisions, determine whether parallel operations are involved when starting input/output processing, and comprehensively determine parallel processing units based on system characteristics to efficiently perform parallel processing. By doing this, the input/output processing time can be significantly reduced and the throughput of the entire system can be improved.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面に基づいて詳細に説明す
る。
Hereinafter, one embodiment of the present invention will be described in detail based on the drawings.

第1図は、本発明が適用されたDBMSのデータベース
処理方法を示す。ただし、第1図の説明は、後述する。
FIG. 1 shows a DBMS database processing method to which the present invention is applied. However, the explanation of FIG. 1 will be given later.

第2図は、本発明が適用されたデータベースシステムの
機能的な構成例である。
FIG. 2 is an example of a functional configuration of a database system to which the present invention is applied.

データベースシステムは、ユーザが作成したアプリケー
ションプログラム(以下、APと略記する)40.41
と、間合せ処理、リソース管理等データベースシステム
全体の管理を行うDBMS50と、データベース処理に
おいて、入出力処理対象となるデータの読書きを行う入
出力管理プログラム61等システム全体の管理を受は持
つオペレーティングシステム(以下では、オペレーティ
ングシステムをO8と略記する)60と、データベース
70とから構成される。
The database system is an application program (hereinafter abbreviated as AP) 40.41 created by a user.
, a DBMS 50 that manages the entire database system such as reconciliation processing and resource management, and an operating system that manages the entire system, such as an input/output management program 61 that reads and writes data that is subject to input/output processing in database processing. It is composed of a system (hereinafter, the operating system will be abbreviated as O8) 60 and a database 70.

上記DBMS50は、システム全体の管理、制御に加え
て、入出力の管理等を行うシステム制御部51と、問合
せの構文解析、意味解析を行う間合せ解析部520.適
切な処理手順を生成する最適化部521、及び内部コー
ドの生成、当コードの解釈実行を行うコードの生成論理
処理実行部522から成る論理処理部52と、当DBM
S50で処理を行うデータベースバッファ58の管理を
行うデータベースバッファ制御部57、アクセスしたデ
ータの条件判定1編集等を実現するデータアクセス処理
部54、システムで共用するリソースの排他制御を実現
する排他制御55.及び論理的なデータベース空間(ペ
ージアクセス空間)から物理的なデータベース空間(デ
イククアクセス空間)へのマツピンクを行うマツピング
処理部56とから成るデータベースの物理処理等を実行
する物理処理部53とから構成されている。
The DBMS 50 includes a system control unit 51 that manages and controls the entire system as well as input/output management, and a timing analysis unit 520 that performs syntax analysis and semantic analysis of queries. A logic processing unit 52 consisting of an optimization unit 521 that generates an appropriate processing procedure, and a code generation logic processing execution unit 522 that generates internal code and interprets and executes this code, and the DBM.
A database buffer control unit 57 that manages the database buffer 58 that is processed in S50, a data access processing unit 54 that implements condition judgment 1 editing of accessed data, etc., and an exclusive control 55 that implements exclusive control of resources shared by the system. .. and a physical processing unit 53 that performs database physical processing, etc., and a mapping processing unit 56 that performs mapping from a logical database space (page access space) to a physical database space (daily access space). has been done.

第3図は、本発明が適用されるハードウェア構成の一例
を示すものである。具体的には、主記憶(MM)20を
保持する中央処理袋[(CPU)80と、入出力制御を
行うチャネル装[(CHU)81と、データベース処理
において選択、制約、射影、結合等の対象となるデータ
を設定するローカル記憶(LM)820を保持するイン
テリジェントファイル制御装置t (IFC)82 (
このインテリジェントファイル制御装置82は、前記の
入出力制御装置に相当する)、及びディスク30(この
ディスク30は、前記の二次記憶装置に相当する)とか
ら成る。
FIG. 3 shows an example of a hardware configuration to which the present invention is applied. Specifically, there is a central processing unit (CPU) 80 that holds the main memory (MM) 20, a channel unit (CHU) 81 that performs input/output control, and a processing unit that performs selection, constraint, projection, combination, etc. in database processing. An intelligent file control device (IFC) 82 (
This intelligent file control device 82 consists of a disk 30 (corresponding to the above-mentioned input/output control device) and a disk 30 (this disk 30 corresponds to the above-mentioned secondary storage device).

上記インテリジェントファイル制御袋@82とディスク
30との間では、゛相対ブロックアドレス及び入出力デ
ータ等が転送され、経路87が用いられる。また、上記
チャネル装置81とインテリジェントファイル制御装置
(IFC:)82との間では、フィルタリング処理結果
及び検索条件等が転送され、経路85.86が用いられ
る。さらに、中央処理装置80とチャネル装置81との
間では、データ転送、制御データ交換のために経路84
が用いられる。経路84及び経路86とも、それぞれ複
数のチャネル装置81及びインテリジェントファイル制
御装置82が接続されていても構わない。経路85は、
他システムとインテリジェントファイル制御装置82と
を共有するために用いられてもよいことを示す。
A path 87 is used to transfer relative block addresses, input/output data, etc. between the intelligent file control bag @82 and the disk 30. Further, filtering processing results, search conditions, etc. are transferred between the channel device 81 and the intelligent file control device (IFC:) 82, and routes 85 and 86 are used. Furthermore, a path 84 is provided between the central processing unit 80 and the channel device 81 for data transfer and control data exchange.
is used. A plurality of channel devices 81 and intelligent file control devices 82 may be connected to both the paths 84 and 86, respectively. The route 85 is
Indicates that it may be used to share the intelligent file controller 82 with other systems.

本構成においては、すべてのデータベース処理を、中央
処理装置80上で実現されている08MS50が実行す
る方式とは異なる。すなわち、データベース処理のうち
、08MS50のコード論理処理実行部552で生成す
る内部処理コードに対応する関係代数演算、すなわち選
択、制約、射影、結合等の諸演算をインテリジェントフ
ァイル制御装置で機能分担するものである。これは、い
わゆる入出力装置に各種演算機能(例えば、フィルタリ
ング処理装置)を付加するものに相当する。
This configuration differs from the system in which the 08MS 50 implemented on the central processing unit 80 executes all database processing. That is, among the database processing, relational algebraic operations corresponding to the internal processing code generated by the code logic processing execution unit 552 of 08MS50, that is, various operations such as selection, constraint, projection, and combination, are shared by the intelligent file control device. It is. This corresponds to what is called an input/output device with various arithmetic functions (for example, a filtering processing device) added thereto.

この基本的動作を以下に示す。This basic operation is shown below.

(1)アプリケーションプログラムから入力した問合せ
を08MS50で解析し、処理手順を決定する。
(1) The 08MS50 analyzes the inquiry input from the application program and determines the processing procedure.

(2)上記処理手順に従って、関係代数演算を切り出し
、インテリジェントファイル制御装置81に処理要求を
発行する。
(2) In accordance with the above processing procedure, a relational algebraic operation is extracted and a processing request is issued to the intelligent file control device 81.

(3)インテリジェントファイル制御装置81は、処理
要求を解釈し、ディスク30に対して物理入出力要求を
発行する。データベース7゜は、リレーション形式で格
納され、当データベースの管理単位であるページがデイ
クス30のデータ転送に同期して読み込まれ、ローカル
記憶820に設定される。
(3) The intelligent file control device 81 interprets the processing request and issues a physical input/output request to the disk 30. The database 7° is stored in a relation format, and pages, which are management units of this database, are read in synchronization with the data transfer of the disk 30 and set in the local storage 820.

(4)ローカル記憶820のデータに対して、選択、制
約、射影、結合等演算を行い、フィルタリング処理を行
う。
(4) Perform operations such as selection, constraint, projection, and combination on the data in the local storage 820, and perform filtering processing.

(5)この処理結果を、08MS50のデータベースデ
ータベースバッファ58に設定する。
(5) Set this processing result in the database database buffer 58 of the 08MS50.

(6)08MS50は、自処理結果を編集して、アプリ
ケーションプログラムに間合せ結果を出力する。
(6) 08 The MS 50 edits the self-processing results and outputs the adjustment results to the application program.

次に、第1図の説明を行う。これは、本発明が適用され
たデータベースシステムにおけるDBMSのデータベー
ス処理方法であり、データベースを格納するディスク3
0,31,32,33゜34.35とデータベースの一
時的コピーを格納するバッファ200,201,202
,203から成る主記憶20と、処理装置10,11,
12゜13とから成る。また、各ディスク30,31゜
32.33,34.35は、複数のページかな成るクラ
スタ群より構成される。具体的には、ディスク33は、
クラスタ330,331,332゜333かな成ること
を示している。この構成例では、4つの処理装置10,
11,12,13が、主記憶20を共有し、また、デー
タベースは6つのディスク30,31,32,33,3
4,35に格納されている。各処理装置10,11,1
2゜13には、主記憶20上にバッファ200゜201
.202,203が割当てられ、各処理装置時間でバッ
ファ内のデータが参照あるいは更新等で相互干渉を起こ
さないように設定する。ディスク33に格納されている
クラスタ330゜331.332,333を読み込み対
象とし、それぞれ選択、射影処理等が適用された結果が
対応するバッファ200,201,202,203へ転
送される。
Next, FIG. 1 will be explained. This is a database processing method of a DBMS in a database system to which the present invention is applied.
0, 31, 32, 33° 34. 35 and buffers 200, 201, 202 that store temporary copies of the database.
, 203, and processing devices 10, 11,
It consists of 12°13. Further, each disk 30, 31, 32, 33, 34, 35 is composed of a cluster group consisting of a plurality of pages. Specifically, the disk 33 is
It is shown that clusters 330, 331, 332 and 333 are formed. In this configuration example, four processing devices 10,
11, 12, and 13 share the main memory 20, and the database is stored on six disks 30, 31, 32, 33, and 3.
4,35. Each processing device 10, 11, 1
At 2.13, there is a buffer 200.201 on the main memory 20.
.. 202 and 203 are allocated, and settings are made so that data in the buffer does not interfere with each other when referenced or updated during each processing device time. The clusters 330, 331, 332, and 333 stored on the disk 33 are read, and the results of selection, projection, and the like are transferred to the corresponding buffers 200, 201, 202, and 203, respectively.

各ディスクに対して同様に処理が行われ、各バッファに
入出力処理結果が設定される0本構成例の変形として、
8つの処理装置が存在した場合。
As a modification of the 0-wire configuration example in which processing is performed on each disk in the same way and the input/output processing results are set in each buffer,
If there are 8 processing units.

各ディスクの各クラスタをアクセスして、その処理結果
をハツシュ関数等で各バッファへ転送するようスケジュ
ールすることが可能である。また。
It is possible to schedule access to each cluster on each disk and transfer the processing results to each buffer using a hash function or the like. Also.

2つ以上の中央処理装置が存在する場合、各ディスクの
各クラスタをアクセスして、それらの入出力処理結果を
ハツシュ関数等で各中央処理装置の各バッファへ転送す
るようスケジュールすることも可能である。
If there are two or more central processing units, it is also possible to access each cluster on each disk and schedule the I/O processing results to be transferred to each buffer of each central processing unit using a hash function. be.

この実施例では特徴は、並列にデータをアクセス可能で
あれば、処理装置数、各処理装置の性能を考慮して、複
数の処理装置間でキャッシュ衝突等が最小となるように
入出力処理要求をスケジュールすることが可能である。
The feature of this embodiment is that if data can be accessed in parallel, input/output processing requests are made in such a way that cache conflicts among multiple processing units are minimized, taking into account the number of processing units and the performance of each processing unit. It is possible to schedule.

この特徴を実現したDBMSの総合的な説明を行う。A comprehensive explanation of the DBMS that realizes this feature will be provided.

第4図は、本発明を適用したDBMSの処理のフローチ
ャートである。以下では、各処理部の詳細なフローチャ
ートの説明を行う。
FIG. 4 is a flowchart of DBMS processing to which the present invention is applied. Below, detailed flowcharts of each processing unit will be explained.

システム制御部51は、アプリケーションプログラムか
ら受は取った処理要求が、オiプン要求であれば、当コ
マンド実行に必要な制御ブロック類等を割り当て(処理
5100−5101) 、クローズ要求であれば、当コ
マンド実行に必要な制御ブロック類等の解放を行い(処
理5102−5103)、コミット要求であれば、当ト
ランザクションでロック中の全ページをアンロック処理
しく処理5104−5105) 、フェッチ要求であれ
ば、コード生成論理処理部522を呼び出しく処理51
06−5107)、セットアツプ要求であれば、論理処
理部522を呼び出しく処理5108−5109) 、
それぞれ終了する。
If the processing request received from the application program is an open request, the system control unit 51 allocates control blocks etc. necessary for executing the command (processing 5100-5101), and if the processing request is a close request, Releases control blocks etc. necessary for executing this command (processing 5102-5103), and if it is a commit request, all pages locked in this transaction are unlocked (processing 5104-5105), or if it is a fetch request. For example, the process 51 of calling the code generation logic processing unit 522
06-5107), if it is a setup request, the process of calling the logic processing unit 522 5108-5109),
Each ends.

論理処理部52は1間合せコマンドの構文解析、意味解
析を実行しく処理520)、最適データアクセス処理手
順を決定しく処理521)、当処理手順を実行形式に展
開し、解釈、実行した(処理522)、終了する。
The logic processing unit 52 executes syntactic analysis and semantic analysis of the makeshift command (process 520), determines the optimal data access processing procedure (process 521), develops this processing procedure into an executable format, interprets it, and executes it (process 520). 522), end.

物理処理部53は、データアクセス処理部54と、デー
タベースバッファ制御部57と、マツピング処理部56
と、排土制御部55とから成る。
The physical processing unit 53 includes a data access processing unit 54, a database buffer control unit 57, and a mapping processing unit 56.
and an earth discharge control section 55.

データツクセス処理部54は、読み込むべきデータの検
索範囲情報が作成済みであれば、処理5404へ進む、
それ以外であれば、当検索範囲が複数クラスタに渡れば
、すなわち並列にデータをアクせス可能か否かチエツク
しく処理5401)、可能であれば、並列アクセス可能
なディスクボリューム単位に検索範囲を作成する(処理
5401゜5402.5404)、それ以外であれば、
検索範囲を作成する(処理5401,5403゜540
4)。並列処理可能な処理装置に対応して、ハツシュ関
数評価値を割当て、主記憶上の各バッファへ入出力処理
結果を転送するようスケジュールする6次に、入力処理
の対象と成るページ集合をロック処理する(処理540
5)。さらに、入力処理の対象となるページ集合を読み
込み、入力処理要求で指定されたデータ形式、演算結果
情報等を作成する(処理5406)。入力処理の対象と
成るページ集合で、条件式を満足しないレコードだけで
ページが構成されていると、当ページ集合は、アンロッ
ク処理する(処理5407゜5408.5409)、入
力処理の対象と成るぺ一集合を読み込み、入力処理要求
で指定された条件式評価がレコードのオーバフロー等で
できないものがあれば(処理5409) 、条件式評価
ができないレコード集合を指すレコードアドレス列を用
いて、当レコード集合を格納するページ集合をロック処
理しく処理5410)、当ページ集合を格納するディス
ク格納アドレス列を作成しく処理5411)、熱データ
をアクセスし、検索条件評価し、入力処理要求で指定さ
れたデータ形式、演算結果情報等を作成しく処理541
2)、条件式を満足しないレコードだけページが構成さ
れていると(処理5413)、当ページ集合は、アンロ
ツク処理する(処理5413,5414゜5416)、
また1条件式を満足するレコード集合をアクセスし、指
定されたデータ形式でハツシュ関数評価値に従い、主記
憶上の各バッファへ処理結果を転送する(処理5415
,5416)入力処理の対象と成るページ集合ガバッフ
ァにヒツトしなければ、処理5421八進む、それ以外
であれば、バッファにヒツトしたページ集合をアクセス
し、検索条件式評価し、入力処理要求で慣定されたデー
タ形式、演算結果情報等を作成序しく処理5417)、
条件式を満足しないレコードだけでページが構成されて
いると(処理5418)、当ページ集合、をアンロック
処理する(処理5418.5420.5421)、また
1条件式を満足するレコード集合をアクセスし、指定さ
れたデータ形式でハツシュ関数評価値に従い、主記憶上
の各バッファへ処理結果を転送する(処理5419.5
421)、全検索範囲を読み終えない場合(処理542
1)、処理5400へ進む。
If the search range information for the data to be read has been created, the data access processing unit 54 proceeds to process 5404.
Otherwise, if the search range spans multiple clusters, that is, check whether data can be accessed in parallel (5401), if possible, the search range should be set in units of disk volumes that can be accessed in parallel. Create (processing 5401゜5402.5404), otherwise,
Create search range (processing 5401, 5403゜540
4). Allocate a hash function evaluation value corresponding to a processing device capable of parallel processing, and schedule the transfer of input/output processing results to each buffer in main memory 6. Next, lock the page set that is the target of input processing. (processing 540
5). Furthermore, the page set to be input processing is read, and the data format, calculation result information, etc. specified in the input processing request are created (processing 5406). If the page set that is the target of input processing is composed only of records that do not satisfy the conditional expression, this page set will undergo unlock processing (processing 5407, 5408, and 5409), and will become the target of input processing. If the conditional expression specified in the input processing request cannot be evaluated due to record overflow, etc. (processing 5409), the current record is read using the record address string pointing to the record set for which the conditional expression cannot be evaluated. Lock the page set that stores the set 5410), create a disk storage address string that stores this page set 5411), access the thermal data, evaluate the search conditions, and retrieve the data specified in the input processing request. Process to create format, calculation result information, etc. 541
2) If a page is composed of only records that do not satisfy the conditional expression (processing 5413), the page set is unlocked (processing 5413, 5414, 5416),
It also accesses the record set that satisfies one conditional expression, and transfers the processing results to each buffer in the main memory in the specified data format according to the hash function evaluation value (processing 5415).
, 5416) If the page set that is the target of input processing does not hit the buffer, the process proceeds to step 54218. Otherwise, the page set that was hit in the buffer is accessed, the search condition expression is evaluated, and the customization is performed according to the input processing request. Create and process the specified data format, calculation result information, etc. 5417),
If the page is composed only of records that do not satisfy the conditional expression (processing 5418), the page set is unlocked (processing 5418.5420.5421), and the record set that satisfies one conditional expression is accessed. , transfers the processing results to each buffer in the main memory according to the hash function evaluation value in the specified data format (processing 5419.5
421), if the entire search range has not been read (processing 542
1), proceed to process 5400.

それ以外であれば、以下の処理に従う。Otherwise, follow the process below.

1:ソート処理が指定無しの場合 ソート処理指定がないと、処理結果をアクセスし、アプ
リケーションプログラムにデータを受は渡す(処理54
22,5428)。
1: When sorting is not specified If there is no sorting specified, the processing results are accessed and the data is passed to the application program (processing 54).
22,5428).

ケース2:ソート処理が指定有りの場合各処理装置単位
でソート処理を行い、各々連を作成しく処理5422,
5423)、また多連をマージ処理し、ソート処理結果
を作成しく処理5424.5429) 、さらに当処理
結果をアクセスし、アプリケーションプログラムにデー
タを受は渡す(処理5428)。
Case 2: When sort processing is specified, sort processing is performed for each processing device, and a series is created for each process 5422,
5423), and processes for merging multiple series and creating sorting results (5424 and 5429), and further accessing the processing results and passing the data to the application program (processing 5428).

ケース3:ジョイン処理が指定有りの場合各処理装置単
位でソート処理を行い、各々連を作成しく処理5422
,5423)、次に各処理装置で作成した連同士をマー
ジ処理し、中間処理結果を作成する。(種属5424,
5425)。
Case 3: When join processing is specified, perform sort processing for each processing device and create a series for each processing 5422
, 5423), then merge the runs created by each processing device to create an intermediate processing result. (species 5424,
5425).

さらに、当中間処理結果をマージン処理し、ジョイン処
理結果を作成しく処理5426)、当処理結果をアクセ
スし、アプリケーションプログラムにデータを受は渡す
(処理5428)。
Further, the intermediate processing result is subjected to margin processing, a join processing result is created (processing 5426), the processing result is accessed, and the data is passed to the application program (processing 5428).

データベースバッファ制御部57は、主記憶20上バッ
ファ200,201,202,203へどのハツシュ関
数評価値を割当てるかを決定し、並列に読み込む入出力
処理要求単位毎にバッファ200.201,202,2
03を割当てる(処理530)、データベースバッファ
58をサーチし、入力処理対象と成るページ集合を探す
(処理571)、入力処理対象と成るページ集合が全部
見つかれば、当ページ集合を格納するバッファをロック
処理しく処理572,577)、終了する。
The database buffer control unit 57 determines which hash function evaluation value to allocate to the buffers 200, 201, 202, and 203 on the main memory 20, and assigns the buffers 200, 201, 202, and 2 for each input/output processing request unit to be read in parallel.
03 (processing 530), searches the database buffer 58 to find a page set to be input processed (processing 571), and if all page sets to be input processed are found, the buffer storing this page set is locked. Processing 572, 577) is completed.

それ以外であれば、データベースバッファ58をサーチ
した結果、見つかったページ集合を格納するバッファだ
けをロック処理しく処理573)、上記サーチの結果、
見つからなかったページ集合をディスク格納アドレス列
に変換しく処理574)。
Otherwise, as a result of searching the database buffer 58, lock only the buffer storing the page set found (573), and as a result of the above search,
The page set that was not found is converted into a disk storage address string (574).

入力処理要求で指定されたデータ形式、演算結果情報等
を格納するバッファを獲得し、並列にアクセス可能なデ
ィスク単位毎に0860の入出力管理プログラム61に
対して、入出力要求を発行しく処理575)、入力処理
要求で指定されたデータ形式、演算結果情報等の演算処
理結果を受は取り(処理576)、終了する。
Process 575 to acquire a buffer for storing the data format, calculation result information, etc. specified in the input processing request, and issue an input/output request to the input/output management program 61 of 0860 for each disk unit that can be accessed in parallel. ), the data format specified in the input processing request, calculation result information, etc. are received (process 576), and the process ends.

マツピング処理部56は、ページ集合で与えられた検索
範囲を基にして、ディスク格納アドレス列に変換しく処
理560)、当ディスク格納アドレス列が複数ディスク
に渡れば、各ディスク単位にディスク格納アドレス列を
作成しく処理561゜562)、終了する。
The mapping processing unit 56 converts the search range given by the page set into a disk storage address string (process 560), and if this disk storage address string spans multiple disks, the disk storage address string is 561, 562), and ends.

排他制御部56は、アンロック処理であれば、アンロッ
ク処理対象のリソースのDEQ処理を行う(処理560
,562)。ロック処理であれば。
If it is an unlock process, the exclusive control unit 56 performs a DEQ process on the resource to be unlocked (process 560).
, 562). For lock processing.

ロック処理対象のリソースのENQ処理を行う(処理5
60,561)。ただし、デッドロックを検出した場合
、プツトロック処理対象となるリソースを解放する(処
理561,563,564)。
Performs ENQ processing for the resource subject to lock processing (processing 5
60,561). However, if a deadlock is detected, the resources subject to the putlock processing are released (processes 561, 563, 564).

以上、処理フローを説明した。The processing flow has been explained above.

本発明は、大型計算機のソフトウェアシステムを介して
実現することも、また各処理部のために専用プロセスが
用意された複合プロセッサシステムを介して実現するこ
とも可能である。
The present invention can be realized through a software system of a large computer, or through a multiprocessor system in which a dedicated process is prepared for each processing unit.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、予めDBMSが予測したアクセス特性
に従って、キャッシュ記憶装置上にユーザの間合せ毎に
一つあるいは複数のレコード格納領域を獲得し、処理装
置数、各処理装置の性能を考慮し、また複数の処理装置
間でキャッシュ衝突等が最小となるよう入力装置をスケ
ジュールすることによって、効率よく並列を行うことが
可能となり、システム全体でスループットが向上する。
According to the present invention, one or more record storage areas are acquired for each user on the cache storage device according to the access characteristics predicted in advance by the DBMS, and the number of processing devices and the performance of each processing device are taken into consideration. In addition, by scheduling input devices to minimize cache collisions among multiple processing devices, it becomes possible to efficiently perform parallel processing, and the throughput of the entire system improves.

また、並列に入出力処理を行うので、なお入出力処理時
間の削減効果がある。
Furthermore, since input/output processing is performed in parallel, there is an effect of reducing input/output processing time.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は、本発明が適用されたDBMSのデータベース
処理例を示す図、第2図は、本発明が適用されたデータ
ベースシステムの構成例を示す図。 第3図は1本発明が適用されるハードウェア構成の一例
を示す図、第4図は、本発明を適用したDBMSの処理
フローチャートである。
FIG. 1 is a diagram showing an example of database processing of a DBMS to which the present invention is applied, and FIG. 2 is a diagram showing an example of the configuration of a database system to which the present invention is applied. FIG. 3 is a diagram showing an example of a hardware configuration to which the present invention is applied, and FIG. 4 is a processing flowchart of a DBMS to which the present invention is applied.

Claims (1)

【特許請求の範囲】 1、データーベースに対する複数のユーザからの問合せ
を解析して対応する内部処理手順を決定し、それを実行
する1つ以上の処理装置からなる中央処理装置と各ユー
ザで共有され得るデータを格納する二次記憶装置と、前
記中央記憶装置と前記二次記憶装置との間で入出力処理
要求のあつた複数のレコードの転送を制微する入出力処
理装置とを含む計算機システムにおいて、入力された問
合せより作成された内部処理手順から判断して入出力処
理起動時に並列処理動作を伴うか否かを決定する過程と
、前記並列処理動作を伴う場合、入出力処理結果を並列
処理可能な各処理装置で実行可能な領域へ転送する過程
と、入出力処理結果をハッシュ関数で分割して、各処理
装置間でキャッシュ衝突が最小となるよう各入出力処理
装置をスケジュールする過程とを含むことを特徴とする
データベース処理方法。 2、特許請求の範囲第1項において、ユーザの間合せ毎
に一つあるいは複数のレコード格納領域を獲得し、指定
された検索範囲に基づいて並列処理動作を伴う過程を含
むデータベース処理方法。 3、特許請求の範囲第1項において、読み込み対象とな
る複数のレコードを、予めロック処理によつて排他制御
を行う過程を含むことを特徴とするデータベース処理方
法。 4、特許請求の範囲第1項において、主記憶上のデータ
ベースバッファに複数のレコードを読み込む領域を確保
する過程と、当領域をシーケンシャルに置き換え制御し
、管理する過程とを含むことを特徴とするデータベース
処理方法。 5、特許請求の範囲第1項において、与えられた検索条
件式を満足するレコードを格納するアドレス列を格納す
る過程と、与えられた検索条件式を満足しないケコード
だけを含むページを格納するアドレス列を格納する過程
と、与えられた検索条件式をレコードのオーバフローで
評価できなかつたレコードを格納するアドレス列を格納
する過程と、与えられた検索条件式を満足するレコード
を少なくとも一つ以上含むページを格納するアドレス列
を格納する過程と、与えられた検索条件式を満足するレ
コードを指定されたフィールドだけページ形式に編集し
た結果を格納する過程と、与えられた検索条件式を満足
するページだけ格納する過程とを含むことを特徴とする
データベース処理方法。 6、特許請求の範囲第1項において、複数の中央処理装
置が存在する場合、各入出力処理装置を経由して各二次
記憶装置をアクセスし、上記入出力処理結果をハッシュ
関数評価値で各中央処理装置上の各データベースバッフ
ァへ転送するようスケジュールする過程を含むことを特
徴とするデータベース処理方法。 7、特許請求の範囲第1項において、検索すべきレコー
ド格納範囲から並列にアクセス可能なレコードアドレス
列に分割する過程と、当レコードアドレス列を用いて入
出力処理要求を発行する過程とを含むことを特徴とする
データベース処理方法。
[Claims] 1. A central processing unit consisting of one or more processing units that analyzes queries from multiple users to the database, determines a corresponding internal processing procedure, and executes the same, and is shared by each user. a secondary storage device that stores data that can be processed, and an input/output processing device that controls the transfer of a plurality of records requested for input/output processing between the central storage device and the secondary storage device. In the system, there is a process of determining whether or not parallel processing is to be performed at the start of input/output processing based on internal processing procedures created from an input query, and if parallel processing is involved, the process of determining whether or not the input/output processing results are to be performed. The process of transferring to an area that can be executed by each processing device that can perform parallel processing, and dividing the I/O processing results using a hash function, and scheduling each I/O processing device to minimize cache collisions between each processing device. A database processing method characterized by comprising the steps of: 2. A database processing method according to claim 1, comprising a step of acquiring one or more record storage areas for each user's arrangement, and performing parallel processing operations based on a specified search range. 3. A database processing method according to claim 1, comprising the step of performing exclusive control on a plurality of records to be read in advance through lock processing. 4. Claim 1 is characterized in that it includes a step of securing an area for reading a plurality of records into a database buffer on main memory, and a step of sequentially replacing and controlling and managing this area. Database processing method. 5. In claim 1, there is provided a process for storing an address string for storing records that satisfy a given search condition expression, and an address for storing pages containing only records that do not satisfy the given search condition expression. A process of storing columns, a process of storing an address column that stores records for which the given search condition expression could not be evaluated due to record overflow, and at least one record that satisfies the given search condition expression. The process of storing the address string that stores the page, the process of storing the results of editing the records that satisfy the given search condition expression into page format with only the specified fields, and the process of storing the results that satisfy the given search condition expression. 1. A database processing method characterized by comprising the step of storing only. 6. In claim 1, if there are multiple central processing units, each secondary storage device is accessed via each input/output processing unit, and the input/output processing result is converted into a hash function evaluation value. A database processing method comprising the step of scheduling transfer to each database buffer on each central processing unit. 7. Claim 1 includes the step of dividing the record storage range to be searched into a record address string that can be accessed in parallel, and the step of issuing an input/output processing request using the record address string. A database processing method characterized by:
JP63244170A 1988-09-30 1988-09-30 Data base processing method Pending JPH0293720A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63244170A JPH0293720A (en) 1988-09-30 1988-09-30 Data base processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63244170A JPH0293720A (en) 1988-09-30 1988-09-30 Data base processing method

Publications (1)

Publication Number Publication Date
JPH0293720A true JPH0293720A (en) 1990-04-04

Family

ID=17114811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63244170A Pending JPH0293720A (en) 1988-09-30 1988-09-30 Data base processing method

Country Status (1)

Country Link
JP (1) JPH0293720A (en)

Similar Documents

Publication Publication Date Title
JP2755390B2 (en) Database processing apparatus and database processing method
Banerjee et al. DBC—A database computer for very large databases
US5960194A (en) Method for generating a multi-tiered index for partitioned data
US5551027A (en) Multi-tiered indexing method for partitioned data
Stonebraker et al. Mariposa: A new architecture for distributed data
US5692174A (en) Query parallelism in a shared data DBMS system
US5692182A (en) Bufferpool coherency for identifying and retrieving versions of workfile data using a producing DBMS and a consuming DBMS
US6321235B1 (en) Global caching and sharing of SQL statements in a heterogeneous application environment
US6816854B2 (en) Method and apparatus for database query decomposition
US7092954B1 (en) Optimizing an equi-join operation using a bitmap index structure
US20150142733A1 (en) System and method for efficient management of big data in a database using streaming tables
Bober et al. Multiversion query locking
Bernstein et al. Optimizing optimistic concurrency control for tree-structured, log-structured databases
Cheng et al. IBM Database 2 performance: Design, implementation, and tuning
US11714794B2 (en) Method and apparatus for reading data maintained in a tree data structure
Durner et al. Crystal: a unified cache storage system for analytical databases
JP2781092B2 (en) Exclusive control method between systems
Leland et al. The silicon database machine
JPWO2004036432A1 (en) Database accelerator
Auer et al. RDBM—A relational data base machine
JPH0293720A (en) Data base processing method
von Bültzingsloewen et al. Design and implementation of KARDAMOM—A set-oriented data flow database machine
von Bultzingsloewen et al. Kardamom—a dataflow database machine for real-time applications
JP4137366B2 (en) Database management method and database management apparatus
US12086154B1 (en) Columnar cache in hybrid transactional/analytical processing (HTAP) workloads