JP3468531B2 - Database management device and record storage method thereof - Google Patents

Database management device and record storage method thereof

Info

Publication number
JP3468531B2
JP3468531B2 JP05220091A JP5220091A JP3468531B2 JP 3468531 B2 JP3468531 B2 JP 3468531B2 JP 05220091 A JP05220091 A JP 05220091A JP 5220091 A JP5220091 A JP 5220091A JP 3468531 B2 JP3468531 B2 JP 3468531B2
Authority
JP
Japan
Prior art keywords
record
area
stored
block
main area
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.)
Expired - Fee Related
Application number
JP05220091A
Other languages
Japanese (ja)
Other versions
JPH04287246A (en
Inventor
真実雄 山岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP05220091A priority Critical patent/JP3468531B2/en
Publication of JPH04287246A publication Critical patent/JPH04287246A/en
Application granted granted Critical
Publication of JP3468531B2 publication Critical patent/JP3468531B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、オンラインデ−タベ−
スシステムのデ−タブロックに対するデ−タベ−スレコ
−ドの格納方式に関し、特に新規デ−タベ−スレコ−ド
の追加要求があった場合に、多くのデ−タベ−スレコ−
ドを格納するのに好適なデ−タベ−スレコ−ド格納方式
に関する。
BACKGROUND OF THE INVENTION The present invention is an online database.
A method for storing a data base record in a data block of a data system, particularly when a new data base record is requested to be added, many data base records are stored.
The present invention relates to a database-based record storage system suitable for storing data.

【0002】[0002]

【従来の技術】従来デ−タベ−スレコ−ドの格納方式と
して、ハッシュ方式、索引ファイル方式などが知られて
いる。
2. Description of the Related Art Conventionally, a hash method, an index file method and the like have been known as a method of storing a database record.

【0003】ハッシュ方式で記憶装置に新規レコ−ドを
追加する時、その新規レコ−ドを格納すべき目的のブロ
ックに空きエリアがない場合は、新規ブロックを割当
て、ポインタで結ぶ方式がとられている。
When a new record is added to a storage device by the hash method, if there is no free area in the target block in which the new record is to be stored, the new block is allocated and connected by a pointer. ing.

【0004】このハッシュ方式でのレコ−ド格納方式に
ついては、文献「デ−タベ−ス・システムの原理」(J
EFFREY D.ULLMAN著 國井利泰、大保信
夫訳1985年日本コンピュ−タ協会)の第48頁から
第56頁に記載されている。
Regarding the record storing method by the hash method, the reference "Principle of Database System" (J.
EFFREY D. ULLMAN, Toshiyasu Kunii, Nobuo Ohbo, 1985 Japan Computer Association), p. 48-56.

【0005】また索引ファイル方式の一方式において
は、バランス・ツリ−方式でレコ−ドのキ−情報のイン
デクスを作成する。さらに複数のブロックの集りをグル
−プとし、グル−プ内にデ−タを格納する空きブロック
をファイル作成時に設ける。そして新規レコ−ドの追加
時にその新規レコ−ドを追加すべきブロックに空きエリ
アがない場合、既存のブロックを約2分割し、グル−プ
内のデ−タの空きブロックを獲得して格納する。この
時、最下位のインデクスを更新し、最下位のインデクス
からは目的のレコ−ドを格納しているブロックを直接ポ
イントするようにしている。
In the index file system, the index of the record key information is created by the balance tree system. Further, a group of a plurality of blocks is used as a group, and an empty block for storing data is provided in the group when a file is created. When a new record is added and there is no free area in the block to which the new record is to be added, the existing block is divided into about two, and the free block of the data in the group is acquired and stored. To do. At this time, the lowest index is updated, and the block storing the target record is directly pointed to from the lowest index.

【0006】また、索引ファイルのインデクスブロック
のレコ−ド追加方式として例えば特開平2−67648
号公報があるが、ツリ−構造を形成するレコ−ドのイン
デクスブロックを効率良く格納する方式であり、デ−タ
ブロックに関しては言及されていない。
Further, as a method for adding a record of an index block of an index file, for example, Japanese Patent Laid-Open No. 2-67648.
Although there is a publication, it is a method for efficiently storing the index block of a record forming a tree structure, and no reference is made to the data block.

【0007】[0007]

【発明が解決しょうとする課題】上記従来技術のハッシ
ュ方式では、同一のハッシュ値に対して新規レコ−ドの
追加が多発し、新規レコ−ドを追加すべき目的のブロッ
クに空きエリアがない場合、新たなブロックを割当てて
ポインタで結ぶ必要がある。従って、目的とするレコ−
ドを検索する時に複数のブロックを読込む必要があり、
読み出し速度が遅くなるという問題があった。
In the above-mentioned hash method of the prior art, new records are frequently added to the same hash value, and there is no empty area in the target block to which the new record should be added. In this case, it is necessary to allocate a new block and connect it with a pointer. Therefore, the target record
I need to read multiple blocks when searching for
There is a problem that the reading speed becomes slow.

【0008】また上記従来技術の索引ファイル方式で
は、グル−プ内の空きブロックがなくなり、追加すべき
ブロックに空きがない場合、新規レコ−ドの追加が行え
なくなるという問題があった(理論上既存のグル−プを
2分割し、空グル−プを割当てて格納することができる
が、その時のI/O回数と、履歴情報の取得量が多くな
り、オンラインの性能低下の要因となるためグル−プ分
割を行っていない。)。
Further, the above-mentioned conventional index file system has a problem that a new record cannot be added when there are no free blocks in the group and there is no free block to be added (theoretically). An existing group can be divided into two, and an empty group can be allocated and stored, but the number of I / Os and the amount of history information acquired at that time increase, which causes a decrease in online performance. Group division is not done.).

【0009】本発明の目的は、新規レコ−ドを追加する
時に、その新規レコ−ドを追加すべきデ−タブロックに
空きエリアがない場合に、ハッシュ方式の場合にはシノ
ニムの発生を抑止し、索引ファイル方式の場合にはブロ
ック分割の発生を抑止し、多くのレコ−ドの追加格納を
行うことができるデ−タベ−スレコ−ドの格納方式を提
供することにある。
The object of the present invention is to suppress the generation of synonyms in the case of the hash method when a new record is added when there is no free area in the data block to which the new record should be added. In the case of the index file method, however, it is an object of the present invention to provide a data base record storage method capable of suppressing the occurrence of block division and additionally storing a large number of records.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、それぞれ複数のブロックに分割されたメインエリア
とオ−バフロ−エリアから成る記憶装置に対して、管理
情報部分とセグメント部分から成るレコ−ドを格納する
デ−タベ−スシステムにおいて、新規レコ−ドを追加す
る時に、この新規レコ−ドを追加すべきメインエリアの
ブロックに新規レコ−ドの管理情報部分を格納するのに
十分な空きエリアがある場合は、管理情報部分のみをメ
インエリアのブロックに格納するとともに、新規レコ−
ドのセグメント部分をオ−バフロ−エリアに格納する。
一方、新規レコ−ドを追加すべきメインエリアのブロッ
クに新規レコ−ドの管理情報部分を格納するのに十分な
空きエリアがない場合は、このブロック内に格納された
レコ−ドのうち、そのセグメント部分と上記不十分な空
きエリアを合わせたエリアが新規レコ−ドの管理情報部
分を格納するのに十分となるセグメント部分を有するレ
コ−ドを管理情報部分とセグメント部分に分割し、この
セグメント部分をオ−バフロ−エリアに格納した後、新
規レコ−ドの管理情報部分をメインエリアに格納し、セ
グメント部分をオ−バフロ−エリアに格納するようにし
たものである。
In order to achieve the above-mentioned object, a storage device comprising a main area and an overflow area, each of which is divided into a plurality of blocks, is provided with a recording information portion and a segment portion. -When adding a new record in the database system that stores the record, it is sufficient to store the management information part of the new record in the block of the main area to which this new record should be added. If there is a free area, only the management information part is stored in the main area block and a new record is created.
The segment part of the code is stored in the overflow area.
On the other hand, if the block of the main area to which the new record is to be added does not have enough free area to store the management information portion of the new record, among the records stored in this block, A record having a segment part whose area including the segment part and the insufficient empty area is sufficient to store the management information part of the new record is divided into the management information part and the segment part. After the segment portion is stored in the overflow area, the management information portion of the new record is stored in the main area and the segment portion is stored in the overflow area.

【0011】[0011]

【作用】オンラインデ−タベ−スシステムは、トランザ
クションと呼ぶ単位で処理を行う。
The online database system performs processing in units called transactions.

【0012】上記トランザクションは、デ−タベ−スを
アクセスする時、デ−タベ−スマネジャをコ−ルする。
The above transaction calls the database manager when accessing the database.

【0013】デ−タベ−スマネジャは、デ−タベ−スの
物理ブロックをアクセスする前に、アクセスする1つの
ブロックまたはブロックのグル−プ単位にロック制御を
行い、そのブロックまたはグル−プが他のトランザクシ
ョンから同時にアクセスされることを防ぐ排他制御を行
ってから目的のブロックをアクセスする。また、デ−タ
ベ−スマネジャは、デ−タベ−スレコ−ドの格納エリア
としてのメインエリアとオ−バフロ−エリアのうち、メ
インエリアに格納できないレコ−ドをオ−バフロ−エリ
アに格納する手段を持つ。また、索引ファイル方式で
は、メインエリアに格納したレコ−ドをできるだけ少な
いI/Oで検索するために、バランス・ツリ−方式等で
インデクス情報を作成しインデクスエリアに格納する手
段を持つ。
Before accessing the physical block of the database, the database manager performs lock control for one block to be accessed or a group unit of the block, and the block or group is controlled by other units. Access the target block after performing exclusive control to prevent simultaneous access from other transactions. Further, the database manager is a means for storing, in the overflow area, a record which cannot be stored in the main area among the main area and the overflow area as the storage area for the data base record. have. Further, the index file system has means for creating index information by the balanced tree system or the like and storing it in the index area in order to search the records stored in the main area with as few I / Os as possible.

【0014】上記デ−タベ−スマネジャが管理するデ−
タベ−スレコ−ドは、複数のレコ−ドがデ−タセット
(例えば磁気ディスク装置内の論理的に区切られたエリ
ア等)内に格納され、メインエリアの1つの物理ブロッ
クにも複数のレコ−ドが格納される。上記レコ−ドは、
例えば銀行の元帳デ−タべ−スの場合では、残高を格納
するセグメント、末記帳情報を格納するセグメント、住
所情報を格納するセグメント等、複数のセグメントで構
成され、各セグメントはポインタで結ばれツリ−構造を
形成する。
The data managed by the database manager
In the tabular record, a plurality of records are stored in a data set (for example, a logically divided area in a magnetic disk device), and a plurality of records are stored in one physical block in the main area. Are stored. The above record is
For example, in the case of a ledger database of a bank, it is composed of a plurality of segments such as a segment for storing balances, a segment for storing end book information, a segment for storing address information, etc. Each segment is connected by a pointer. A tree structure is formed.

【0015】上記レコ−ドは、そのレコ−ドを識別する
キ−情報と、メインエリアに格納できずオ−バフロ−エ
リアに格納されたセグメントをポイントするオ−バフロ
−管理情報等の管理情報がメインエリアのデ−タブロッ
ク上に格納される。上記メインエリアのデ−タブロック
上に管理情報のみを格納するだけの空きエリアがない状
態でレコ−ドの追加要求が行われた場合、同一ブロック
内に格納されたレコ−ドのうち、そのセグメント部分と
上記不十分な空きエリアを合わせたエリアが新規レコ−
ドの管理情報部分を格納するのに十分となるセグメント
部分を有するレコ−ドがあるかを調べる。該当するレコ
−ドが存在したら、そのレコ−ドを管理情報部分とセグ
メント部分に分割し、このセグメント部分をオ−バフロ
−エリアに格納した後、管理情報部分をメインエリアに
格納し、メインエリアの該当デ−タブロックに空きエリ
アを作成する。その後、追加要求のあったレコ−ドのキ
−情報を含む管理情報のみのレコ−ドをメインエリアの
デ−タブロックに格納し、残りのセグメント情報をオ−
バフロ−エリアのブロックに格納する。
The record includes key information for identifying the record and management information such as overflow management information that points to a segment that cannot be stored in the main area and is stored in the overflow area. Are stored in the data block of the main area. When a record addition request is made in a state where there is no free area for storing only management information on the data block of the main area, among the records stored in the same block, that The area that combines the segment part and the above-mentioned insufficient empty area is a new record
Check if there is a record with enough segment portions to store the management information portion of the record. If the corresponding record exists, the record is divided into a management information part and a segment part, this segment part is stored in the overflow area, and then the management information part is stored in the main area, and then the main area. Create an empty area in the corresponding data block of. After that, the record of only the management information including the key information of the record requested to be added is stored in the data block of the main area, and the remaining segment information is opened.
Store in the block in the buffer area.

【0016】[0016]

【実施例】以下、本発明の一実施例を図面を用いて詳細
に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail below with reference to the drawings.

【0017】図1は、本発明が適用されるコンピュ−タ
システムを示すブロック図である。図1は、デ−タ処理
装置1上で動作するオンラインデ−タベ−ス管理システ
ム20がデ−タベ−スファイル装置61〜63をアクセ
スする例を示している。
FIG. 1 is a block diagram showing a computer system to which the present invention is applied. FIG. 1 shows an example in which an online database management system 20 operating on the data processor 1 accesses the database file devices 61-63.

【0018】デ−タ処理装置1には通信制御装置2が接
続されており、その通信制御装置2にはモデム3を介し
て端末装置4が接続されている。また、デ−タ処理装置
1には複数のデ−タベ−スファイル装置61〜63、及
びジャ−ナルファイル装置5が接続されている。デ−タ
処理装置1は通信制御装置2、モデム3を経由して端末
装置4からのメッセ−ジを受信したり、端末装置4にメ
ッセ−ジを送信したりする。
A communication control device 2 is connected to the data processing device 1, and a terminal device 4 is connected to the communication control device 2 via a modem 3. A plurality of data base file devices 61 to 63 and a journal file device 5 are connected to the data processing device 1. The data processing device 1 receives a message from the terminal device 4 via the communication control device 2 and the modem 3 and sends a message to the terminal device 4.

【0019】デ−タ処理装置1に接続されたデ−タベ−
スファイル装置61〜63は、業務処理プログラム30
からの要求でオンラインデ−タベ−ス管理システム20
がオペレ−テイングシステム10を介してアクセスす
る。
Data database connected to the data processing apparatus 1
The file processing devices 61 to 63 are the business processing programs 30.
Online database management system 20
Access through the operating system 10.

【0020】また、オンラインデ−タベ−ス管理システ
ム20は、トランザクションと呼ぶ単位で処理を行い、
トランザクションの履歴として、デ−タベ−スファイル
装置61〜63の更新履歴としてのファイルジャ−ナ
ル、業務履歴であるユ−ザ任意ジャ−ナルなどをジャ−
ナルファイル装置5に格納する。
The online database management system 20 also performs processing in units called transactions.
As a transaction history, a file journal as an update history of the database file devices 61 to 63, a user arbitrary journal as a business history, etc. are journaled.
It is stored in the null file device 5.

【0021】図2は、索引ファイル方式の場合のデ−タ
ベ−スレコ−ドの格納状態を表わした図であり、図2
(a)は新規レコ−ドとしてデ−タベ−スレコ−ドCを
追加する前のデ−タベ−スファイル装置61〜63のメ
インエリアのデ−タブロック100の内容を示した図で
ある。図2(b)は新規レコ−ドとしてデ−タベ−スレ
コ−ドCを追加した後のデ−タベ−スファイル装置61
〜63のメインエリアのデ−タブロック100′、オ−
バフロ−エリアのブロック200、300の内容を示し
た図である。
FIG. 2 is a diagram showing the storage state of the database records in the index file system.
(A) is a diagram showing the contents of a data block 100 in the main area of the data base file devices 61 to 63 before the data base record C is added as a new record. FIG. 2 (b) shows a data base file device 61 after adding a data base record C as a new record.
~ 63 main area data block 100 ',
It is the figure which showed the contents of the blocks 200 and 300 of a buffer area.

【0022】図2(a)においては、デ−タベ−スファ
イル装置61〜63のメインエリアのデ−タブロック1
00にはデ−タベ−スレコ−ドA110、デ−タベ−ス
レコ−ドB120、及びブロックの制御情報150を格
納しており、その他に空きエリア140が存在する。こ
こでレコ−ドA110、レコ−ドB120はそれぞれレ
コ−ド管理情報とセグメントA、Bを有する。このレコ
−ド管理情報はそのレコ−ドのサイズ、レコ−ドを識別
するキ−情報、オ−バフロ−エリアのポインタ情報を格
納するオ−バフロ−管理情報から成る。そしてセグメン
トA、BはそれぞれセグメントA、Bの管理情報(その
セグメントの識別子、そのセグメントが子セグメントを
保有しているか否かのステ−タス情報)、及びユ−ザ情
報から成る。そして制御情報150は、このデ−タブロ
ック100内のレコ−ド数、空きエリア140のサイズ
を格納している。
In FIG. 2A, the data block 1 in the main area of the data base file units 61-63.
00 stores a database-based record A 110, a database-based record B 120, and block control information 150, and has an empty area 140. Here, the record A 110 and the record B 120 have record management information and segments A and B, respectively. This record management information comprises the size of the record, key information for identifying the record, and overflow management information for storing pointer information of the overflow area. The segments A and B respectively include management information of the segments A and B (identifier of the segment, status information of whether or not the segment has a child segment), and user information. The control information 150 stores the number of records in the data block 100 and the size of the empty area 140.

【0023】上記図2(a)に示すデ−タブロック10
0にデ−タベ−スレコ−ドCを追加した図2(b)にお
いては、デ−タベ−スファイル装置61〜63のメイン
エリアのデ−タブロック100′にはデ−タベ−スレコ
−ドA111、デ−タベ−スレコ−ドB120、デ−タ
ベ−スレコ−ドC130、及びブロックの制御情報15
0を格納しており、その他に空きエリア141が存在す
る。ここでレコ−ドB120と制御情報150は上記図
2(a)と同じデ−タ構成であるが、レコ−ドA111
とレコ−ドC130はレコ−ドのサイズ、レコ−ドを識
別するキ−情報、オ−バフロ−エリアのポインタ情報を
格納するオ−バフロ−管理情報から成るレコ−ド管理情
報のみを有する。
The data block 10 shown in FIG.
In FIG. 2 (b) in which the data base record C is added to the data base 0, the data base 100 'in the main area of the data base file units 61 to 63 is connected to the data base record. A111, data base record B120, data base record C130, and block control information 15
0 is stored, and there is an empty area 141 in addition. Here, the record B 120 and the control information 150 have the same data structure as in FIG.
The record C130 has only record management information consisting of record size, key information for identifying the record, and overflow management information for storing pointer information of the overflow area.

【0024】デ−タブロック100′のレコ−ドA11
1は、レコ−ドCを追加した時にレコ−ドA110を変
更し格納したレコ−ドである。そして新規レコ−ドCを
追加する前にレコ−ドA110上に依存したセグメント
A、Bはレコ−ドサイズとキ−情報から成る管理情報と
共にレコ−ドA112としてオ−バフロ−エリアのブロ
ック200に格納される。追加レコ−ドCのセグメント
A、Bも同様にオ−バフロ−エリアのブロック300に
レコ−ドサイズとキ−情報から成る管理情報と共にレコ
−ドC131として格納される。
Record A11 of the data block 100 '
Reference numeral 1 is a record in which the record A110 is changed and stored when the record C is added. The segments A and B, which depend on the record A110 before adding a new record C, are stored in the overflow area block 200 as the record A112 together with the management information including the record size and the key information. Is stored. Similarly, the segments A and B of the additional record C are also stored in the block 300 of the overflow area as the record C131 together with the management information including the record size and the key information.

【0025】図3はオンラインデ−タベ−ス管理システ
ム20のデ−タベ−スレコ−ドの追加処理を説明するた
めのフロ−チャ−トである。以下では具体的に図1及び
図2に基づいて、デ−タベ−スファイル装置61〜63
のメインエリアのデ−タブロック100に新規レコ−ド
としてレコ−ドCを追加する場合について説明する。
FIG. 3 is a flow chart for explaining the process of adding a database record of the online database management system 20. Below, based on FIGS. 1 and 2, the data base file devices 61 to 63 will be described in detail.
The case of adding the record C as a new record to the data block 100 in the main area will be described.

【0026】端末装置4からメッセ−ジが入力される
と、モデム3、通信制御装置2を介してデ−タ処理装置
1にメッセ−ジが渡る。この入力メッセ−ジはオペレ−
ティングシステム10、オンラインデ−タベ−ス管理シ
ステム20を通して業務処理プログラム30に渡る。
When a message is input from the terminal device 4, the message is passed to the data processing device 1 via the modem 3 and the communication control device 2. This input message is the operation
The data is transferred to the business processing program 30 through the operating system 10 and the online database management system 20.

【0027】業務処理プログラム30は、メッセ−ジを
解析してデ−タベ−スレコ−ドCの追加が必要であれ
ば、オンラインデ−タベ−ス管理プログラム20に、デ
−タベ−スレコ−ドCの追加のストア要求を行う。
The business processing program 30 analyzes the message and, if it is necessary to add a database record C, the online database management program 20 sends a database record to the database. Make an additional store request for C.

【0028】オンラインデ−タベ−ス管理システム20
は、デ−タベ−スレコ−ドCの追加要求を受けると、目
的とするレコ−ドを格納すべきデ−タブロックの位置情
報を格納しているブロックである索引ブロックを読込
み、追加レコ−ドCを格納すべきメインエリアのデ−タ
ブロック100を読込む(ステップ301)。
Online database management system 20
When receiving a request to add the database base record C, the index block which is the block storing the position information of the data block in which the target record should be stored is read, and the additional record is read. The data block 100 in the main area in which the data C is to be stored is read (step 301).

【0029】そして追加要求を受けたレコ−ドCのキ−
情報と同じキ−情報を有するレコ−ドがデ−タブロック
100内に存在するか否か、すなわちデ−タブロック1
00内にレコ−ドCのキ−情報と同じキ−情報があるか
どうかを調べ(ステップ302)、レコ−ドCのキ−情
報と同じキ−情報がある場合はエラ−リタ−ンする。
The key of the record C which receives the additional request
Whether or not a record having the same key information as the information exists in the data block 100, that is, the data block 1
It is checked whether or not there is the same key information as the key information of record C in 00 (step 302), and if there is the same key information as the key information of record C, an error return is performed. .

【0030】デ−タブロック100内にレコ−ドCのキ
−情報と同じキ−情報がなかった場合、デ−タブロック
100内の空きエリア140がレコ−ドCのキ−情報と
オ−バフロ−管理情報から成るレコ−ドを格納するサイ
ズだけあるかを調べる(ステップ303)。
If the same key information as the key information of the record C is not present in the data block 100, the empty area 140 in the data block 100 and the key information of the record C are overlapped. It is checked whether or not there is a size for storing a record composed of buffer management information (step 303).

【0031】空きエリア140がレコ−ドCのキ−情報
とオ−バフロ−管理情報から成るレコ−ドを格納するサ
イズだけない場合は、デ−タブロック100内にレコ−
ドCのキ−情報とオ−バフロ−管理情報から成るレコ−
ドサイズの2倍以上の長いサイズのレコ−ドがあるかを
調べる(ステップ304)。長いサイズのレコ−ド(本
実施例ではレコ−ドA110が該当するとする)がある
場合は、新たにオ−バフロ−エリアのブロック200を
割当て、長いサイズのレコ−ドA110のセグメント情
報(セグメントA及びB)をオ−バフロ−エリアのブロ
ック200に編集する(ステップ305)。そしてメイ
ンエリアの長いサイズのレコ−ドA110をキ−情報と
オ−バフロ−管理情報から成るレコ−ドに編集してオ−
バフロ−エリアのポインタ情報をオ−バフロ−管理情報
部分に格納する(ステップ306)。
If the vacant area 140 is not large enough to store a record consisting of the key information of the record C and the overflow management information, the record is placed in the data block 100.
Record consisting of key information of C and overflow management information
It is checked whether or not there is a record having a size longer than twice the record size (step 304). If there is a long-sized record (record A110 in this embodiment is applicable), a block 200 of the overflow area is newly allocated, and segment information (segment) of the long-sized record A110 is allocated. A and B) are edited into the block 200 of the overflow area (step 305). Then, the long-sized record A110 in the main area is edited into a record consisting of key information and overflow management information, and then overwritten.
The pointer information of the buffer area is stored in the overflow management information portion (step 306).

【0032】その後、追加要求のあったレコ−ドCを格
納するために、新たにオ−バフロ−エリアのブロック3
00を割当て、追加要求のあったレコ−ドCのセグメン
ト部分の情報を編集する(ステップ309)。そしてメ
インエリアのデ−タブロック100′に追加要求のあっ
たレコ−ドCのキ−情報とオ−バフロ−管理情報から成
るレコ−ドを編集し、オ−バフロ−管理情報部分にオ−
バフロ−エリアのブロック300のポインタ情報を格納
する(ステップ310)。
Thereafter, in order to store the record C for which an addition request has been made, a block 3 of a new overflow area is newly added.
00 is assigned and the information of the segment portion of the record C for which the addition request is made is edited (step 309). Then, in the data block 100 'of the main area, a record composed of the key information of the record C and the overflow management information which is requested to be added is edited, and the overflow management information portion is overwritten.
The pointer information of the block 300 in the buffer area is stored (step 310).

【0033】それから、更新したブロック100′及び
新たに割当てたブロック200、300の更新履歴とし
てジャ−ナル情報をジャ−ナルファイル装置5に取得し
(ステップ311)、オ−バフロ−エリアの更新・追加
したブロック200、300をデ−タベ−スファイル装
置61〜63に書出し(ステップ312)、メインエリ
アの更新・追加したブロック100′をデ−タベ−スフ
ァイル装置61〜63に書出し(ステップ313)、処
理を終了する。
Then, the journal information is acquired in the journal file device 5 as the update history of the updated block 100 'and the newly allocated blocks 200 and 300 (step 311), and the overflow area is updated. The added blocks 200 and 300 are written to the database file devices 61 to 63 (step 312), and the updated / added block 100 'of the main area is written to the database file devices 61 to 63 (step 313). ), The processing ends.

【0034】ステップ303において、メインエリアの
デ−タブロック100の空きエリア140がレコ−ドC
のキ−情報とオ−バフロ−管理情報から成るレコ−ドを
格納するサイズだけある場合、メインエリアのデ−タブ
ロック100′にはレコ−ドCのキ−情報とオ−バフロ
−管理情報から成るレコ−ドを格納し、オ−バフロ−エ
リア300にセグメント情報を格納するためにステップ
309〜313に示す処理を行う。
In step 303, the empty area 140 of the data block 100 in the main area is recorded in the record C.
If there is only a size for storing a record consisting of the key information and the overflow management information, the data block 100 'in the main area has the key information of the record C and the overflow management information. Is stored, and the processing shown in steps 309 to 313 is performed to store the segment information in the overflow area 300.

【0035】ステップ304において、メインエリアの
デ−タブロック100に長いサイズのレコ−ドがない場
合、一定量のデ−タブロックの集合であるメインエリア
のグル−プに空きのデ−タブロックがあるかを調べる
(ステップ307)。空きのデ−タブロックがなければ
エラ−リタ−ンし、空きのデ−タブロックがある場合、
メインエリアの空きのデ−タブロックを確保し、メイン
エリアのデ−タブロックの分割処理を行う(ステップ3
08)。
In step 304, if the data block 100 in the main area does not have a record of a long size, an empty data block in the main area group, which is a set of a certain amount of data blocks. It is checked whether there is any (step 307). If there is no empty data block, error return is performed, and if there is an empty data block,
An empty data block in the main area is secured and the data block in the main area is divided (step 3).
08).

【0036】ここで行うメインエリアのデ−タブロック
の分割処理は、デ−タブロック100に格納されている
複数のレコ−ドと追加要求のあったレコ−ドCを各々い
くつかのレコ−ドから成る2つのグル−プに分けて、最
初の1つのグル−プをデ−タブロック100に、残りの
1つのグル−プを確保された空きのデ−タブロックに格
納する。
The data area division processing of the main area performed here includes a plurality of records stored in the data block 100 and a record C for which an addition request has been made, and several records each. The first group is stored in the data block 100, and the remaining one group is stored in the reserved empty data block.

【0037】メインエリアのデ−タブロックの分割処理
を行った後は、メインエリアのデ−タブロックに空きエ
リアがある場合と同じ手順で(ステップ309〜31
3)追加要求のあったレコ−ドCを格納する。
After the division processing of the data blocks in the main area is performed, the procedure is the same as that when there is an empty area in the data blocks in the main area (steps 309 to 31).
3) Store the record C for which addition has been requested.

【0038】なお本実施例においては追加要求のあった
レコ−ドCはキ−情報の昇順にレコ−ドB120の後に
追加しているが、本発明はこれに限るものではなく追加
要求のあったレコ−ドCはレコ−ドA110とレコ−ド
B120の間に追加することも可能である。この場合ス
テップ303で空きエリアが十分にある時は、レコ−ド
A110とレコ−ドB120の間に格納するレコ−ドC
のレコ−ドサイズ分だけレコ−ドB120を移動させ
て、レコ−ドA110とレコ−ドB120の間に空きエ
リアを作った後ステップ309以降の処理を実行するこ
とで可能である。またステップ303で空きエリアが十
分にない時は、ステップ304から308までの処理を
行なった後、上記同様にレコ−ドB120を移動させて
からステップ309以降の処理を実行することで可能で
ある。
In the present embodiment, the record C, which has been requested to be added, is added after the record B 120 in the ascending order of the key information, but the present invention is not limited to this and there is a request for addition. The record C can be added between the record A110 and the record B120. In this case, if there is sufficient free area in step 303, the record C to be stored between the record A 110 and the record B 120.
It is possible to move the record B120 by an amount corresponding to the record size, to create an empty area between the record A110 and the record B120, and then execute the processing from step 309. If there is not enough free area in step 303, it is possible to carry out the processing from step 304 to 308 and then move the record B 120 in the same manner as described above and then execute the processing from step 309. .

【0039】また本実施例においてはステップ305,
306で、デ−タブロック100内にレコ−ドCのキ−
情報とオ−バフロ−管理情報から成るレコ−ドサイズの
2倍以上の長いサイズのレコ−ドがあるかを調べ、該当
したレコ−ド(本実施例ではレコ−ドA110)をレコ
−ド管理情報部分とセグメント部分に分割編集している
が、本発明はこれに限るものではなくデ−タブロック内
に格納されたレコ−ドのうち、そのセグメント部分をオ
−バフロ−エリアに格納することによってメインエリア
のブロックに形成されるエリアと上記デ−タブロック内
に既存のレコ−ドCのレコ−ド管理情報部分を格納する
のに十分でない空きエリアを合わせたエリアが、新規レ
コ−ドの管理情報部分を格納するのに十分となるセグメ
ント部分を有するレコ−ドであれば他のレコ−ド(例え
ばレコ−ドB120)を分割編集するようにしてもよ
い。この場合どのレコ−ドを分割編集するかを判断する
やり方としては例えば、ステップ304でデ−タブロッ
ク100内のレコ−ドを前から順番にみて上記条件を満
たした最初のレコ−ドを分割編集する方法等がある。
In this embodiment, step 305,
At 306, the record C key is placed in the data block 100.
It is checked whether or not there is a record having a length that is twice or more the record size consisting of information and overflow management information, and the corresponding record (record A110 in this embodiment) is record managed. Although the information is divided into the information part and the segment part, the present invention is not limited to this. Of the records stored in the data block, the segment part is stored in the overflow area. The area formed by the main area block and the empty area which is not enough to store the record management information portion of the existing record C in the data block are combined into a new record. Other records (for example, record B120) may be divided and edited as long as the record has a segment part sufficient to store the management information part of the above. In this case, as a method of determining which record is to be divided and edited, for example, in step 304, the records in the data block 100 are sequentially viewed from the front and the first record satisfying the above conditions is divided. There are ways to edit.

【0040】本実施例によれば、例えばブロックサイズ
が8,192バイトで、2,000バイトのデ−タベ−ス
レコ−ドが4個格納されていて、メインエリアのキ−情
報とオ−バフロ−管理情報を含むレコ−ド管理情報部分
のレコ−ドサイズが50バイトの場合、1ブロックに約
160レコ−ドを追加できる。
According to the present embodiment, for example, the block size is 8,192 bytes, and four 2,000-byte database records are stored, and the key information and the overflow of the main area are stored. -Record including management information When the record size of the management information portion is 50 bytes, about 160 records can be added to one block.

【0041】また本実施例によれば、メインエリアのデ
−タブロックにはレコ−ド管理情報部分のみを格納して
できるだけ空きエリアを大きくすることができるため、
ハッシュ方式の場合はシノニムの発生を少なくする効果
がある。
Further, according to this embodiment, since only the record management information portion can be stored in the data block of the main area, the empty area can be enlarged as much as possible.
The hash method is effective in reducing the occurrence of synonyms.

【0042】さらに本実施例によれば、目的のブロック
を検索するための入力回数が削減できるという効果があ
る。例えば、ブロックサイズが8,192バイトで、2,
000バイトのデ−タベ−スレコ−ドが160レコ−ド
あり、160レコ−ドとも同じハッシュ値である場合、
従来のハッシュ方式では平均入力回数は160÷(81
92/2000)÷2≒20回となるが、本発明による
入力回数は、メインエリアとオ−バフロ−エリアの計2
回の入力で済む。
Further, according to this embodiment, there is an effect that the number of times of input for searching the target block can be reduced. For example, if the block size is 8,192 bytes,
If there are 160 records of 000-byte data base records, and 160 records have the same hash value,
In the conventional hash method, the average number of inputs is 160 ÷ (81
92/2000) ÷ 2≈20 times, but the total number of inputs according to the present invention is 2 in the main area and the overflow area.
It only needs to be entered once.

【0043】[0043]

【発明の効果】本発明によればデ−タベ−スレコ−ドの
レコ−ド管理情報部分をメインエリアのデ−タブロック
に格納し、その他の部分をオ−バフロ−エリアのデ−タ
ブロックに格納することにより、メインエリアのデ−タ
ブロックの空きエリアをできるだけ大きくすることがで
きるため、新規デ−タベ−スレコ−ドの追加要求があっ
た場合、多くのデ−タベ−スレコ−ドを効率よく追加で
きるという効果がある。
According to the present invention, the record management information portion of the data base record is stored in the data block of the main area, and the other portion is stored in the data block of the overflow area. By storing the data in the main area, the empty area of the data block in the main area can be made as large as possible. Therefore, when a request for adding a new data base record is made, many data base records are required. Can be added efficiently.

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

【図1】本発明が適用されるコンピュ−タシステムのブ
ロック図である。
FIG. 1 is a block diagram of a computer system to which the present invention is applied.

【図2】索引ファイル方式の場合のデ−タブロックでの
デ−タベ−スレコ−ドの格納状態を表した図である。
FIG. 2 is a diagram showing a storage state of a data base record in a data block in the case of the index file system.

【図3】本発明のデ−タベ−スレコ−ドの追加処理方式
の処理の実施例を示すフロ−チャ−トである。
FIG. 3 is a flow chart showing an embodiment of the processing of the data base record addition processing system of the present invention.

【符号の説明】[Explanation of symbols]

1…デ−タ処理装置、 2…通信制御装置、 3…モデム、 4…端末装置、 5…ジャ−ナルファイル装置、 10…オペレ−ティングシステム、 20…オンラインデ−タベ−ス管理システム、 30…業務処理プログラム、 61〜63…デ−タベ−スファイル装置、 1 ... Data processing device, 2 ... communication control device, 3 ... modem, 4 ... terminal device, 5 ... Journal file device, 10 ... Operating system, 20 ... Online database management system, 30 ... Business processing program, 61-63 ... a data base file device,

フロントページの続き (56)参考文献 特開 平2−105237(JP,A) M.M. ASTRAHAN 外,S ystem R: Relationa l Approach to Data base Management,AC M Transactions in Database Systems,米 国,ACM,1976年 6月,Vol. 1, No. 2,p. 97 −− 137(特に117 −− 122) 山谷 正己,ファイル編成入門,日 本,オーム社,1980年 7月25日,第1 版,p. 18 −− 23, 102 −− 113 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 17/30 Continuation of front page (56) Reference JP-A-2-105237 (JP, A) M. et al. M. ASTRAHAN, System R: Relational Approach to Data base Management, AC M Transactions in Database Systems, USA, ACM, June 1976, Vol. 1, No. 2, p. 97-137 (especially 117-122) Masami Yamatani, Introduction to File Organization, Nihon, Ohmsha, July 25, 1980, 1st edition, p. 18 −− 23, 102 −− 113 (58) Fields investigated (Int.Cl. 7 , DB name) G06F 12/00 G06F 17/30

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】メインエリアとオーバフローエリアとを有
する記憶装置に、管理情報とセグメントとを有するレコ
ードを複数格納するデータベース装置におけるレコード
格納方法において、前記管理情報部分と前記セグメント部分とを含むレコー
ドの前記セグメント部分を少なくとも2分割し、管理情
報部分を少なくとも含む分割されたレコードの第1の部
分レコードを前記メインエントリに格納し、該管理情報
を含まない他方の分割されたレコードである第2の分割
レコードをオーバフローエリアに格納し、 前記メインエリアに前記第1の部分レコードを格納する
場合に、メインエリアに該第1の部分レコードを格納す
る空きエリアが不足した場合、当該メインエリアに格納
されている第1の部分レコードのうちセグメント部分を
含む1以上の第1の部分レコードにおけるセグメント部
分の総容量が前記格納する第1の部分レコードより大き
い場合、当該第1の部分レコードを再分割し、該第1の
レコードに含まれる前記セグメント部分を前記オーバフ
ローエリアへ移動して前記格納する第1の部分レコード
を前記メインエリアに格納することを特徴としたレコー
ド格納方法。
1. A record storage method in a database device for storing a plurality of records having management information and a segment in a storage device having a main area and an overflow area, wherein a record including the management information part and the segment part is provided.
The segment part of the
The first part of the split record containing at least the report part
The minute record is stored in the main entry, and the management information is stored.
The second split, which is the other split record that does not contain
Store a record in the overflow area and store the first partial record in the main area
In this case, the first partial record is stored in the main area.
If there is not enough free space to store, store it in the main area
The segment part of the first partial record
Segment part in one or more first partial records containing
The total capacity of minutes is larger than the first partial record stored above.
If not, the first partial record is repartitioned and
The segment part included in the record
First partial record to be moved to the low area and stored
Is stored in the main area.
Storage method.
【請求項2】メインエリアとオーバフローエリアとを有
する記憶装置に、管理情報とセグメントとを有するレコ
ードを複数格納するデータベース装置において前記管理情報部分と前記セグメント部分とを含むレコー
ドの前記セグメント部分を少なくとも2分割し、管理情
報部分を少なくとも含む分割されたレコードの第1の部
分レコードを前記メインエントリに格納し、該管理情報
を含まない他方の分割されたレコードである第2の分割
レコードをオーバフローエリアに格納する手段と、 前記メインエリアに前記第1の部分レコードを格納する
場合に、メインエリアに該第1の部分レコードを格納す
る空きエリアが不足した場合、当該メインエリアに格納
されている第1の部分レコードのうちセグメント部分を
含む1以上の第 1の部分レコードにおけるセグメント部
分の総容量が前記格納する第1の部分レコードより大き
い場合、当該第1の部分レコードを再分割し、該第1の
レコードに含まれる前記セグメント部分を前記オーバフ
ローエリアへ移動して前記格納する第1の部分レコード
を前記メインエリアに格納する手段とを備えたことを特
徴としたデータベース管理装置。
2. A main area and an overflow area are provided.
A storage device that stores management information and segments
In a database device for storing a plurality of records, a recorder including the management information part and the segment part
The segment part of the
The first part of the split record containing at least the report part
The minute record is stored in the main entry, and the management information is stored.
The second split, which is the other split record that does not contain
A means for storing a record in an overflow area, and a means for storing the first partial record in the main area
In this case, the first partial record is stored in the main area.
If there is not enough free space to store, store it in the main area
The segment part of the first partial record
Segment part in one or more first partial records containing
The total capacity of minutes is larger than the first partial record stored above.
If not, the first partial record is repartitioned and
The segment part included in the record
First partial record to be moved to the low area and stored
Is provided in the main area.
Database management device that has been designated.
JP05220091A 1991-03-18 1991-03-18 Database management device and record storage method thereof Expired - Fee Related JP3468531B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05220091A JP3468531B2 (en) 1991-03-18 1991-03-18 Database management device and record storage method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05220091A JP3468531B2 (en) 1991-03-18 1991-03-18 Database management device and record storage method thereof

Publications (2)

Publication Number Publication Date
JPH04287246A JPH04287246A (en) 1992-10-12
JP3468531B2 true JP3468531B2 (en) 2003-11-17

Family

ID=12908145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05220091A Expired - Fee Related JP3468531B2 (en) 1991-03-18 1991-03-18 Database management device and record storage method thereof

Country Status (1)

Country Link
JP (1) JP3468531B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M.M. ASTRAHAN 外,System R: Relational Approach to Database Management,ACM Transactions in Database Systems,米国,ACM,1976年 6月,Vol. 1, No. 2,p. 97 −− 137(特に117 −− 122)
山谷 正己,ファイル編成入門,日本,オーム社,1980年 7月25日,第1版,p. 18 −− 23, 102 −− 113

Also Published As

Publication number Publication date
JPH04287246A (en) 1992-10-12

Similar Documents

Publication Publication Date Title
US8521790B2 (en) Increasing efficiency of data storage in a file system
US5317728A (en) Storage management of a first file system using a second file system containing surrogate files and catalog management information
KR940005775B1 (en) Method of opening disk file
US6023744A (en) Method and mechanism for freeing disk space in a file system
US6385612B1 (en) Method for sorting and storing data employing dynamic sort tree reconfiguration in volatile memory
US6691136B2 (en) Fast data retrieval based upon contiguous consolidation of records according to frequency of access
EP0474395A2 (en) Data storage hierarchy with shared storage level
JP2708657B2 (en) Split control method
JP2781092B2 (en) Exclusive control method between systems
JP2960297B2 (en) Database system and load distribution control method
US7797290B2 (en) Database reorganization program and method
JPH0622015B2 (en) Data processing system control method
JP3378594B2 (en) Processing unit that performs database relocation
JP3468531B2 (en) Database management device and record storage method thereof
JPS59220853A (en) Disc cache system
US7437528B1 (en) Gang blocks
JP3099429B2 (en) File data storage method in IPL processing
JP2903605B2 (en) File area management processing method
JPH02151944A (en) Data processor
JP3528500B2 (en) Computer system
JP2787107B2 (en) Buffer control system and device
JP2615046B2 (en) Record addition processing method
JPH08190501A (en) Data storing method for data base
JPS62297948A (en) Recovery system for fault of data base
JP4173147B2 (en) Database management apparatus and program

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees