JP2001043237A - Data file and data retrieving method - Google Patents

Data file and data retrieving method

Info

Publication number
JP2001043237A
JP2001043237A JP11216756A JP21675699A JP2001043237A JP 2001043237 A JP2001043237 A JP 2001043237A JP 11216756 A JP11216756 A JP 11216756A JP 21675699 A JP21675699 A JP 21675699A JP 2001043237 A JP2001043237 A JP 2001043237A
Authority
JP
Japan
Prior art keywords
records
record
group
groups
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11216756A
Other languages
Japanese (ja)
Other versions
JP3318834B2 (en
Inventor
Shigenobu Takayama
茂伸 高山
Mitsunori Kori
光則 郡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP21675699A priority Critical patent/JP3318834B2/en
Publication of JP2001043237A publication Critical patent/JP2001043237A/en
Application granted granted Critical
Publication of JP3318834B2 publication Critical patent/JP3318834B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To shorten time required for reading from a disk device by composing a data file of a transposed file for which all respective divided blocks are linked and reprogrammed into groups and these groups are linked later. SOLUTION: A block 4 is constituted by dividing M records of a preset fixed number in the respective fields of a source file storing plural records composed of plural fields and these respective blocks 4 are linked and reprogrammed into group 5. Then, all the records of the source file are reprogrammed into groups and the transposed file is prepared by linking these groups 5 later. Further, a bit map index is generated by reading only the block of an index key field required for index generation from the transposed file. Thus, time required for reading from the disk device can be shorten.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、データベース管
理システムなど大量データを格納するシステムにおい
て、その大量のデータから必要なデータだけを効率よく
取り出す処理を目的としたデータファイル及びデータ検
索方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data file and a data search method for efficiently extracting only necessary data from a large amount of data in a system for storing a large amount of data such as a database management system. is there.

【0002】[0002]

【従来の技術】従来のデータベース管理システムにおい
て、必要なデータだけを効率よく取り出すデータファィ
ルとしては、例えば日本コンピュータ協会「データベー
ス・システムの原理」49ページの図2.1に示されて
いるハッシュファイルや、B+Treeがあり、また、2次索
引としてハッシュ索引・B+Tree索引・ビットマップ索引
などを用いる検索方法などがある。
2. Description of the Related Art In a conventional database management system, as a data file for efficiently extracting only necessary data, for example, a hash file shown in FIG. And B + Tree, and a search method using a hash index, a B + Tree index, a bitmap index, or the like as a secondary index.

【0003】図24にハッシュファイルを示す。ハッシ
ュファイルは、ハッシュ関数・各ハッシュ値とそのハッ
シュ値をもつデータを格納するデータ領域情報を格納し
たパケットディレクトリからなるハッシュファイル索引
部32、おのおのハッシュ値に対応したレコードを格納す
るデータ領域33からなるハッシュファイルデータ部34か
ら構成される。レコード追加時には、投入レコード3の
キーフィールド31(FieldA)の値をハッシュ関数にかけて
ハッシュ値を取得し、パケットディレクトリを用いてハ
ッシュ値からそのレコードを格納するデータ領域33を求
めて格納する。作成されたハッシュファイルでは、各デ
ータ領域33には対応したハッシュ値をもつレコードのみ
が格納される。
FIG. 24 shows a hash file. The hash file includes a hash file index unit 32 composed of a packet directory storing a hash function, each hash value and data area information storing data having the hash value, and a data area 33 storing a record corresponding to each hash value. And a hash file data section 34. When a record is added, the value of the key field 31 (FieldA) of the input record 3 is applied to a hash function to obtain a hash value, and a data area 33 for storing the record is obtained from the hash value using a packet directory and stored. In the created hash file, only records having the corresponding hash value are stored in each data area 33.

【0004】図25では、売上表の商品番号をハッシュ
キーとして、ハッシュ関数はModulo5(5で割った余
り)とする。ハッシュ値は、0から4までの整数で、デー
タ部34のそれぞれのデータ領域33にはそれぞれのハッシ
ュ値に対応するデータが格納されている。
[0004] In FIG. 25, the product number in the sales table is used as a hash key, and the hash function is Modulo5 (the remainder after division by 5). The hash value is an integer from 0 to 4, and each data area 33 of the data section 34 stores data corresponding to each hash value.

【0005】図26にB+Treeを示す。B+Treeの場合は、
ハッシュの代わりにキーフィールド31の値の範囲で格納
するデータ領域33を決める方法である。この場合も、索
引部32の領域とデータ部34の領域をあらかじめとってお
く。レコード追加時には、投入レコード3のキーフィー
ルド31(FieldA)の値をルートノードのキー値(この例で
は56)と比較する。ノードのキー値より大きいまたは同
じならば右のポインタが指す中間ノードへ、小さければ
左のポインタが指す中間ノードへ移る。その後も順次ノ
ードにあるキー値と比較を繰り返し、最終的にリーフノ
ード(リーフページ)の格納位置、すなわちデータ領域
33を決めるものである。データ領域内では、さらにレコ
ードをキーの昇順に格納する。何れの場合もクラスタ索
引であり、データの格納順と索引順序が同じになる。
FIG. 26 shows a B + Tree. For B + Tree,
This is a method of determining the data area 33 to be stored in the range of the value of the key field 31 instead of the hash. Also in this case, the area of the index section 32 and the area of the data section 34 are set in advance. When adding a record, the value of the key field 31 (FieldA) of the input record 3 is compared with the key value of the root node (56 in this example). If it is greater than or equal to the key value of the node, the process moves to the intermediate node indicated by the right pointer, and if it is smaller than the key value, the process moves to the intermediate node indicated by the left pointer. Thereafter, the comparison with the key value in the node is repeated sequentially, and finally the storage position of the leaf node (leaf page), that is, the data area
33 is decided. In the data area, records are further stored in ascending key order. In each case, the cluster index is used, and the data storage order and the index order are the same.

【0006】図27にビットマップ索引の例を示す。こ
れは、上記二つのクラスタ索引と異なり、2次索引であ
り、別の方法であらかじめ作成されたデータ部に対し
て、後から索引を付加するものである。ビットマップ索
引は、索引キーフィールド(FieldA)31のとりうる値のビ
ットをデータ領域の数だけ確保し、データ領域内に対応
するキーのレコードが含まれているデータ領域のビット
をON(1)に、含まれていないデータ領域のビットをOF
F(0)にして作成する。この例では、索引キーフィー
ルドのとりうる値は'a','b','c','d','e'の5通りなの
で、5(ビット)×L(データ領域の数)の領域を確保し、
1番の領域にFieldA=‘a’となるレコードを含んでいた
ら、対応するビットを1に、含んでいなければ0とし、
FieldA=‘b’となるレコードを含んでいたら、対応する
ビットを1に、含んでいなければ0とする。ここでは、
1番の領域には、FieldAが'b','c'となるレコードは含
むが、FieldAが''a','d','eとなるレコードは含まない
事を示す。
FIG. 27 shows an example of a bitmap index. This is a secondary index unlike the above-mentioned two cluster indexes, in which an index is added later to a data part created in advance by another method. The bitmap index secures bits of possible values of the index key field (FieldA) 31 by the number of data areas, and turns ON the bit of the data area including the record of the corresponding key in the data area (1). Bit of data area not included
Create F (0). In this example, there are five possible values of the index key field: 'a', 'b', 'c', 'd', and 'e', so that an area of 5 (bits) × L (the number of data areas) Secure,
If the first area contains a record where FieldA = 'a', the corresponding bit is set to 1; if not, 0 is set.
If a record where FieldA = 'b' is included, the corresponding bit is set to 1; here,
The first area includes records in which FieldA is' b ',' c ', but does not include records in which FieldA is'a','d','e.

【0007】上記いずれの場合も、データはディスク装
置内のデータ部34内のデータ領域にレコード単位にまと
めてレコード順に格納し、レコード内でもそのフィール
ドの定義順に格納している。
In any of the above cases, data is stored in the data area in the data section 34 of the disk device in units of records in the order of records, and is also stored in the record in the order of definition of the fields.

【0008】図24に示す様にハッシュファイルを用い
ることで、索引キーフィールド31(FieldA)がある特定の
値をもつレコードを読み出す際には、ハッシュ関数を使
用してその特定の値から対応するハッシュ値を求め、ハ
ッシュ値とパケットディレクトリからそのレコードを格
納したデータ領域33を特定し、必要なデータ領域33のみ
読み出せばよい。そのため読込むデータ量が減るので、
読込みにかかる時間を短縮でき、処理を効率化できる。
As shown in FIG. 24, when a record having an index key field 31 (FieldA) having a specific value is read out by using a hash file, a hash function is used to perform a corresponding operation from the specific value. The hash value is obtained, the data area 33 storing the record is specified from the hash value and the packet directory, and only the necessary data area 33 may be read. Because the amount of data to read decreases,
The time required for reading can be reduced, and the processing can be made more efficient.

【0009】図26に示す様にB+Tree索引において
も、索引キーフィールド31(FieldA)がある特定の値をも
つレコードを読み出す際には、ルートノードのキー値と
その値を比較し、次にその比較結果から次の中間ノード
を特定し、さらにそれをリーフノードまで繰り返す事
で、そのレコードが含まれるデータ領域を特定できる。
そのため読込むデータ量が減るので、読込みにかかる時
間を短縮でき、処理を効率化できる。
As shown in FIG. 26, even in the B + Tree index, when reading out a record having a specific value in the index key field 31 (Field A), the key value of the root node is compared with the value, and then the value is compared. By specifying the next intermediate node from the comparison result and repeating it up to the leaf node, the data area including the record can be specified.
Therefore, the amount of data to be read is reduced, so that the time required for reading can be reduced, and the processing can be made more efficient.

【0010】図27に示す様にビットマップ索引におい
ては、索引キーフィールド31(FieldA)がある特定の値
をもつレコードを読み出す際には、その値のビットマッ
プを調べ、ビットの立っているデータ領域33のみ読めば
よい。そのため、ビットの立っているデータ領域の割合
が少ない場合には、読込むデータ量が減り、読込みにか
かる時間を短縮でき処理を効率化できる。
As shown in FIG. 27, in the bitmap index, when reading out a record having a specific value in the index key field 31 (FieldA), the bitmap of the value is examined and the data in which the bit is set is read. It is sufficient to read only the area 33. Therefore, when the ratio of the data area in which bits are set is small, the amount of data to be read is reduced, so that the time required for reading can be reduced and the processing can be made more efficient.

【0011】しかし、上記ハッシュファイルやB+Treeの
場合に、索引キーフィールド31の値が特定の値をもつレ
コードの、特定のフィールドのみ読み出したい場合で
も、キー値から特定したデータ領域33内のデータはレコ
ード単位にまとめてレコード順に格納されているため、
データ領域内の全フィールドを読みだす必要がある。図
24のハッシュファイルの例では、索引キーフィールド
31(FieldA)が特定の値(例えばハッシュ値が1)をと
るレコードのField2だけを読込みたい場合でも、ハッシ
ュ値1に対応するデータ領域33に含まれる全フィール
ド(Field1〜FieldNまで)を読まなくてはならない。す
なわち、処理に不要なフィールドも読込まなくてはなら
ないという問題点があった。
However, in the case of the above-mentioned hash file or B + Tree, even if it is desired to read only a specific field of a record having a specific value of the index key field 31, the data area 33 in the data area 33 specified from the key value is read. Since data is stored in record order in units of records,
It is necessary to read all fields in the data area. In the example of the hash file in FIG. 24, even when it is desired to read only Field 2 of a record in which the index key field 31 (Field A) takes a specific value (for example, the hash value is 1), the index key field 31 (FieldA) is included in the data area 33 corresponding to the hash value 1 All fields (from Field1 to FieldN) must be read. That is, there is a problem in that fields that are not necessary for processing must be read.

【0012】ビットマップ索引においても、索引キーフ
ィールド31の値が特定の値をもつレコードの、特定のフ
ィールドのみ読み出したい場合でも、索引キーフィール
ド31の値からビットマップを調べビットの立っている
データ領域33を特定できるが、ビットの立っているデー
タ領域内の全フィールドを読まなくてはならない。この
場合も、処理に不要なフィールドも読込まなくてはなら
ないという問題点があった。他の2次索引でも同様の問
題点があった。
In the bitmap index, even when it is desired to read out only a specific field of a record having a specific value of the index key field 31, the bitmap is checked from the value of the index key field 31 and the data in which the bit is set. Although the area 33 can be specified, all fields in the data area where bits are set must be read. Also in this case, there is a problem that fields that are not necessary for processing must be read. Other secondary indexes have similar problems.

【0013】また2次索引では、原理的には索引を生成
するフィールドのみ読込めば索引を生成できるが、ディ
スク装置内でデータがレコード順に格納され、レコード
内でもそのフィールド定義順に格納されているため、索
引を生成するフィールドのみ読込む事はできず、データ
領域内の全データを読み込む必要がある。そのため索引
生成に不要なデータまで読込まなくてはならないという
問題があった。
In the secondary index, an index can be generated in principle by reading only the field for which the index is to be generated. However, data is stored in the disk device in the order of records, and is also stored in the record in the order of field definitions. Therefore, it is not possible to read only the field for generating the index, and it is necessary to read all data in the data area. Therefore, there is a problem that data unnecessary for index generation must be read.

【0014】一方、特願平9−319527に示されて
いるように、データの格納順序を変えて、転置ファイル
を作成するファイル管理方法もある。図28を用いて、
転置ファイルを用いたファイル管理方法について説明す
る。1は複数のフィールド2から構成されるレコード3
を複数格納した元ファイルであり、各フィールドの予め
設定した一定件数、例えばLレコードを元ファイルから
分割してブロック4とする。転置ファイル6では、フィ
ールド1のブロックから順に格納して最後にフィールド
Nのブロックを格納する。フィールド1のブロックから
フィールドNのブロックまでを転置ファイル6上で再編
成したものをグループ5と呼ぶ。元ファイル1の全レコ
ード3について、上記グループ5に再編成して、それら
を連結することで転置ファイル6が生成される。
On the other hand, as shown in Japanese Patent Application No. 9-319527, there is also a file management method for creating an inverted file by changing the data storage order. Referring to FIG.
A file management method using an inverted file will be described. 1 is record 3 composed of multiple fields 2
Is stored in a plurality of files, and a predetermined number of records in each field, for example, L records are divided from the original file into blocks 4. In the transposition file 6, the field 1 is stored in order from the block, and the field
Stores N blocks. A group obtained by rearranging the blocks from the field 1 to the block of the field N on the transposition file 6 is called a group 5. All records 3 of the original file 1 are reorganized into the group 5 and connected to generate the transposed file 6.

【0015】図29に示すとおり、転置ファイル6にお
いては処理に必要なフィールド2のみ読み出すことがで
きる。すなわち処理に必要なフィールド2から構成され
るブロック4のみをグループ5から読み出して入出力バ
ッファに格納することができる。この例では、Field1、
Field4 、Field99のブロックのみ入出力バッファに格
納している。このことで、入出力バッファのサイズの節
約およびI/O時間の短縮による処理の効率化をはかるこ
とができる。
As shown in FIG. 29, in the transposed file 6, only the field 2 necessary for processing can be read. That is, only the block 4 composed of the field 2 necessary for processing can be read from the group 5 and stored in the input / output buffer. In this example, Field1,
Only the blocks of Field4 and Field99 are stored in the input / output buffer. As a result, it is possible to save the size of the input / output buffer and increase the processing efficiency by reducing the I / O time.

【0016】図30に示すとおり、転置ファイル6を用
いたファイル管理方法では、さらに処理を高速化するた
めに、データ領域33ごとに全フィールドの最大値と最小
値を格納したり、レコードの投入順序を付加することが
述べられている。その場合に、特定のフィールド2(例
えばFieldA)が特定の値を持つレコードを読み出すため
には、各データ領域のそのフィールドの最大値と最小値
の間にその値が含まれるデータ領域のみ読込めばよい。
しかし、データが各データ領域33に均等に分散している
場合であれば、結果としてほとんどのデータ領域33を
読込まなくてはならなくなるという問題点があった。
As shown in FIG. 30, in the file management method using the transposed file 6, in order to further speed up the processing, the maximum value and the minimum value of all the fields are stored for each data area 33, and the record input is performed. It is stated that the order is added. In this case, in order to read a record in which a specific field 2 (for example, FieldA) has a specific value, only a data area including the value between the maximum value and the minimum value of the field in each data area can be read. I just need.
However, if data is evenly distributed in each data area 33, there is a problem that almost all of the data area 33 must be read.

【0017】[0017]

【発明が解決しようとする課題】従来のデータファイル
及び検索方法においては、例えば、キーの値がある特定
のレコードの特定のフィールドのみ読込むためにも、キ
ーの値からデータ領域33を特定後に、データ領域内の全
てのレコードの全てのフィールドを読まなくてはならな
いという問題点があった。また、2次索引生成において
も、索引生成に不要なフィールドまで読込まなくてはな
らないという問題点があった。一方、転置ファイルを用
いたファイル管理方法に示されているデータ管理方法に
おいて、キーの値がある特定のレコードの特定のフィー
ルドのみ読込む際に、キーの値が特定の値を持つレコー
ドまたは、そのレコードを含むデータ領域をうまく特定
できない場合があり、結果として処理に必要なフィール
ドに関して、全てのレコードから読込まなくてはならな
いという問題点があった。
In the conventional data file and retrieval method, for example, in order to read only a specific field of a specific record having a key value, the data area 33 is specified from the key value. There was a problem that all fields of all records in the area had to be read. Also, in the generation of the secondary index, there is a problem that fields unnecessary for the index generation must be read. On the other hand, in the data management method shown in the file management method using an inverted file, when reading only a specific field of a specific record with a key value, the record of the key value having a specific value or In some cases, the data area including the record cannot be specified well, and as a result, there is a problem in that fields required for processing must be read from all records.

【0018】この発明は、上記のような問題点を解消す
るためになされたもので、あるキー値を含むデータ領域
を特定する方法と、データ領域特定後は処理に必要なフ
ィールドのみを読込む事でディスク装置からの読み出し
にかかる時間を減らし、処理を効率化することを目的と
している。また、2次索引生成においても索引生成に必
要なフィールドのみ読込む事で、ディスク装置からの読
み出しにかかる時間を減らし、高速に索引を生成するこ
とを目的としている。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems. A method for specifying a data area including a certain key value, and reading only fields necessary for processing after specifying the data area. The purpose of this is to reduce the time required for reading from the disk device and to increase the efficiency of processing. Also, in the secondary index generation, by reading only the fields necessary for the index generation, it is possible to reduce the time required for reading from the disk device and to generate the index at a high speed.

【0019】[0019]

【課題を解決するための手段】この発明に係るデータフ
ァイルは、元ファイルから入力されたレコードのフィー
ルドの値に基き分類しそれらの分類ごとに上記レコード
を格納する領域を示すポインタを設定する索引部、この
索引部により分類された上記レコードの予め設定した一
定件数を各フィールドごとに分割してブロックとして上
記ポインタの示す領域に格納し、それらの分割した各ブ
ロックを全て連結してグループに再編成し、上記レコー
ドの全件について上記グループに再編成後それらのグル
ープを連結した転置ファイルから構成されるものであ
る。
A data file according to the present invention is classified based on the values of fields of a record input from an original file, and an index for setting a pointer indicating an area for storing the record for each classification. A predetermined number of records of the records classified by the index unit are divided for each field and stored as blocks in the area indicated by the pointer, and the divided blocks are all connected to be regrouped. It is composed of an inverted file in which all the records are organized, reorganized into the above groups for all the records, and the groups are connected.

【0020】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイル、上記フィールドの値に基き分類しそれらの分
類ごとに上記レコードの格納領域を示す配列のアドレス
が格納された第1の索引部、上記アドレスごとに分類さ
れたレコードの格納場所を示すレコードIDが格納され
た複数の配列からなる第2の索引部から構成されるもの
である。
Further, a predetermined number of the fields described above are divided from the original file into blocks by dividing the original file from the original file storing a plurality of records composed of a plurality of fields, and all the divided blocks are connected. An inverted file in which the records are reorganized into groups and all of the records are reorganized into the groups after the reorganization into the groups, and an address of an array indicating the storage area of the records for each of the classifications classified based on the values of the fields. And a second index unit composed of a plurality of arrays in which record IDs indicating the storage locations of the records classified for each address are stored.

【0021】この発明に係るデータ検索方法は、複数の
フィールドから構成されるレコードを複数格納した元フ
ァイルから上記フィールドの予め設定した一定件数を上
記元ファイルから分割してブロックとし、それらの分割
した各ブロックを全て連結してグループに再編成し、上
記レコードの全件について上記グループに再編成後それ
らのグループを連結した転置ファイルにおいて、上記レ
コードの予め設定されたフィールドのキー値を含む上記
グループにフラグを設定したテーブルを生成し、予め設
定されたキー値に対応するレコードを検索するときはそ
のキー値に対応するフラグが設定されている上記グルー
プのレコードを検索するものである。
In the data search method according to the present invention, a predetermined number of the above-mentioned fields is divided from the original file into blocks by dividing the original file storing a plurality of records composed of a plurality of fields into blocks. In a transposed file in which all the blocks are connected and reorganized into groups and all the records are reorganized into the groups and then connected to the groups, the group including the key values of the preset fields of the records in the transposed file Is generated, and when a record corresponding to a preset key value is searched, a record of the group in which the flag corresponding to the key value is set is searched.

【0022】また、上記キー値はキーのハッシュ値から
なるものである。
The key value comprises a hash value of the key.

【0023】さらに、上記テーブルは上記グループを分
割した後のグループに上記フラグを設定したものであ
る。
Further, in the table, the flag is set for the group obtained by dividing the group.

【0024】また、上記テーブルごとに上記一定件数を
設定するものである。
Further, the fixed number is set for each table.

【0025】さらにまた、上記テーブルは予め設定され
たフィールドの第1のテーブルと予め設定されたフィー
ルドの第2のテーブルからなり、上記第1のテーブル及
び第2のテーブルそれぞれのテーブルに共通するグルー
プの対応するそれぞれのキー値のAND条件で上記グル
ープのレコードを検索するものである。
Further, the table comprises a first table of preset fields and a second table of preset fields, and a group common to each of the first table and the second table. Are searched for records in the above group under the AND condition of each corresponding key value.

【0026】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイルにおいて、上記レコードの予め設定されたフィ
ールドのグループごとに取り得るフィールド値を列挙し
てテーブルを生成し、上記フィールド値に対応するグル
ープのレコードを検索するものである。
Also, a predetermined number of the above-mentioned fields are divided from the original file into blocks by dividing the original file storing a plurality of records composed of a plurality of fields into blocks, and all the divided blocks are connected. In a transposed file in which all the records are reorganized into groups and all the records are reorganized into the groups and the groups are connected, the table lists the field values that can be taken for each group of the preset fields of the records, and creates a table. It is generated and searches for records in the group corresponding to the field value.

【0027】さらに、元ファイルから入力されたレコー
ドの予め設定されたフィールドのキー値をハッシュ関数
にかけてハッシュ値を取得し、上記フィールドを含むレ
コードの予め設定した一定件数を各フィールドごとに分
割してブロックとして上記ハッシュ値に対応するデータ
領域に格納し、それらの分割した各ブロックを全て連結
してグループに再編成し、上記レコードの全件について
上記グループに再編成後それらのグループを連結した転
置ファイルにおいて、パケットディレクトリから上記ハ
ッシュ値に対応するデータ領域へのポインタを取得し、
そのポインタの示す上記グループのレコードを検索する
ものである。
Further, a hash value is obtained by applying a key value of a predetermined field of a record of a record input from the original file to a hash function, and a predetermined fixed number of records including the above field is divided for each field. Stored as a block in the data area corresponding to the hash value, connected all the divided blocks, reorganized them into groups, and reorganized all of the records into the groups after reorganization into the groups. In the file, obtain a pointer to the data area corresponding to the hash value from the packet directory,
The record of the group indicated by the pointer is searched.

【0028】また、上記元ファイルから入力されたレコ
ードの予め設定されたフィールドのキー値を第1のハッ
シュ関数にかけて得られたハッシュ値に分類された上記
キー値を第2のハッシュ関数にかけてハッシュ値を取得
するものである。
The key value classified into a hash value obtained by applying a key value of a preset field of a record input from the original file to a first hash function is applied to a second hash function, and the hash value is applied to the hash value. Is what you get.

【0029】さらにまた、上記ポインタの示す上記グル
ープのレコードを予め設定されたフィールドのキー値を
含む上記グループの各レコードごとにフラグを設定した
テーブルに基き上記グループのレコードを検索するもの
である。
Still further, the records of the group indicated by the pointer are searched based on a table in which a flag is set for each record of the group including a key value of a preset field.

【0030】また、元ファイルから入力されたレコード
の予め設定されたフィールドのキー値の分類を判定し、
上記フィールドを含むレコードの予め設定した一定件数
を各フィールドごとに分割してブロックとして上記分類
に対応するデータ領域に格納し、それらの分割した各ブ
ロックを全て連結してグループに再編成し、上記レコー
ドの全件について上記グループに再編成後それらのグル
ープを連結した転置ファイルにおいて、キー分類ディレ
クトリから上記分類に対応するデータ領域へのポインタ
を取得し、そのポインタの示す上記グループのレコード
を検索するものである。
Also, the classification of the key value of a preset field of the record input from the original file is determined,
The predetermined number of records including the above-mentioned fields is divided into each field and stored as a block in the data area corresponding to the above-mentioned classification. In a transposed file in which all the records are reorganized into the above groups after linking the groups, a pointer to the data area corresponding to the above classification is obtained from the key classification directory, and a record of the above group indicated by the pointer is retrieved. Things.

【0031】さらに、上記グループのデータ領域が全て
格納済みになったとき新たに1グループ分のデータ領域
を連続して設定するものである。
Further, when all the data areas of the above group have been stored, a new data area of one group is continuously set.

【0032】また、元ファイルから入力されたレコード
の予め設定されたフィールドのキー値をルートノードの
キー値と比較しバランストリー構造の構成規則により中
間ノードに移り、その中間ノードにて順次予め設定され
たキー値との比較及びその結果に基く次ノードへの移行
を繰り返し、上記フィールドを含むレコードの予め設定
した一定件数を各フィールドごとに分割してブロックと
してリーフノードのデータ領域に格納し、それらの分割
した各ブロックを全て連結してグループに再編成し、上
記レコードの全件について上記グループに再編成後それ
らのグループを連結した転置ファイルにおいて、上記中
間ノードの最下位に位置する中間ノードのポインタの示
す上記グループのレコードを検索するものである。
Further, the key value of a preset field of the record input from the original file is compared with the key value of the root node, and the process moves to the intermediate node according to the configuration rules of the balance tree structure. The comparison with the key value and the transition to the next node based on the result are repeated, a predetermined number of records including the above-mentioned fields are divided for each field and stored in the data area of the leaf node as a block, An intermediate node located at the lowest level of the intermediate node in a transposed file in which all of the divided blocks are connected and reorganized into a group, and all the records are reorganized into the group and then connected to the group. Is searched for the record of the group indicated by the pointer of the above.

【0033】さらにまた、上記グループのデータ領域が
全て格納済みになったとき上記構成規則に従い上記中間
ノードまたは上記ルートノードを分割し新たなポインタ
を設定しそのポインタの示す1グループ分のデータ領域
を設定するものである。
Further, when all the data areas of the group have been stored, the intermediate node or the root node is divided according to the configuration rule, a new pointer is set, and the data area for one group indicated by the pointer is set. To set.

【0034】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイルにおいて、上記フィールドのキー値をハッシュ
関数にかけてハッシュ値を取得し、そのハッシュ値に対
応したレコードのレコードIDが格納されているレコー
ドポインタ配列から上記ハッシュ値に対応するデータ領
域へのポインタを取得し、そのポインタの示す上記グル
ープのレコードを検索するものである。
Also, a predetermined number of the fields described above are divided from the original file into blocks by dividing a predetermined number of the fields from the original file storing a plurality of records composed of a plurality of fields, and all the divided blocks are connected. After reorganizing into groups and reorganizing all of the above records into the above groups and concatenating those groups, the hash value is obtained by applying the key value of the above field to the hash function, and the record corresponding to the hash value A pointer to a data area corresponding to the hash value is obtained from a record pointer array in which the record ID of the group is stored, and a record of the group indicated by the pointer is retrieved.

【0035】さらに、複数のフィールドから構成される
レコードを複数格納した元ファイルから上記フィールド
の予め設定した一定件数を上記元ファイルから分割して
ブロックとし、それらの分割した各ブロックを全て連結
してグループに再編成し、上記レコードの全件について
上記グループに再編成後それらのグループを連結した転
置ファイルにおいて、バランストリー構造の索引のリー
フノードの各キー値に対応するポインタを取得し、その
ポインタの示すレコードポインタ配列の上記キー値に対
応するレコードIDによる上記レコードを検索するもの
である。
Further, from the original file storing a plurality of records composed of a plurality of fields, a predetermined number of the above-mentioned fields are divided from the original file into blocks, and all of the divided blocks are connected. In the transposed file in which the records are reorganized into groups and all the records are reorganized into the groups and the groups are connected, pointers corresponding to the respective key values of the leaf nodes of the index of the balance tree structure are obtained, and the pointers are obtained. Is searched for the record by the record ID corresponding to the key value in the record pointer array shown in FIG.

【0036】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイルにおいて、上記レコードのフィールドのキー値
を含む上記レコードにフラグを設定したテーブルを上記
グループごとに生成し、予め設定されたキー値に対応す
るレコードを検索するときはそのキー値に対応するフラ
グが設定されている上記レコードを上記グループごとに
検索するものである。
Also, a predetermined number of the above-mentioned fields are divided from the original file into blocks by dividing the original file from the original file storing a plurality of records each composed of a plurality of fields, and all the divided blocks are connected. In a transposed file in which all the records are reorganized into groups and the groups are linked after reorganization into the groups, a table in which flags are set for the records including the key values of the fields of the records is set for each of the groups. When searching for a record generated and corresponding to a key value set in advance, the record in which a flag corresponding to the key value is set is searched for each group.

【0037】さらにまた、複数のフィールドから構成さ
れるレコードを複数格納した元ファイルから上記フィー
ルドの予め設定した一定件数を上記元ファイルから分割
してブロックとし、それらの分割した各ブロックを全て
連結してグループに再編成し、上記レコードの全件につ
いて上記グループに再編成後それらのグループを連結し
た転置ファイルにおいて、バランストリー構造のリーフ
ノードの各キー値に対応するポインタを取得し、そのポ
インタの示すキー値に対応するフラグが設定されている
上記グループの上記レコードを検索するものである。
Furthermore, a predetermined number of the fields described above are divided from the original file into blocks by dividing a predetermined number of the fields from the original file storing a plurality of records composed of a plurality of fields, and all the divided blocks are connected. After reorganizing all the records into the above group and reconnecting them to the above group, obtain the pointers corresponding to each key value of the leaf node of the balance tree structure in the transposed file in which those groups are connected. A search is made for the record in the group in which the flag corresponding to the indicated key value is set.

【0038】[0038]

【発明の実施の形態】実施の形態1.図1は、この発明
の実施の形態1を示すビットマップ索引付き転置ファイ
ルを示すものである。このビットマップ索引は2次索引
であり、あらかじめ生成された転置ファイルに対して、
後からビットマップ索引を付加するものである。転置フ
ァイルは、複数のフィールドから構成されるレコードを
複数格納した元ファイルの、各フィールドの予め設定し
た一定件数、例えばMレコードを分割してブロック4を
構成し、各ブロックを連結してグループ5に再編成し、
元ファイルの全レコードについて上記グループに再編成
後それらのグループを連結して作成するものである。こ
の図は、フィールドおよびレコードが固定長の場合であ
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 FIG. 1 shows a bitmap indexed inverted file according to the first embodiment of the present invention. This bitmap index is a secondary index, and for a previously generated inverted file,
A bitmap index is added later. The transposed file is composed of a predetermined number of records in each field, for example, M records are divided into blocks 4 of the original file storing a plurality of records composed of a plurality of fields, and the blocks are connected to form a group 5. Reorganized into
After reorganizing all the records of the original file into the above groups, these groups are linked and created. This figure shows a case where fields and records have a fixed length.

【0039】ビットマップ索引は、索引キーフィールド
(FieldA)31のとりうる値のビットをデータ領域の数だけ
確保し、データ領域のビットマップを作成するフィール
ドのブロックを順次読込み、対応する索引キーフィール
ドの値が含まれているデータ領域のビットをON(1)
に、含まれていないデータ領域のビットをOFF(0)に
して作成する。ただし、ここでの索引キーフィールドの
キーは必ずしも主キーを意味するものではなく、索引を
生成するフィールドという広い意味で使用する。この図
では、索引キーフィールド(FieldA)31のとりうる値は'
a','b','c','d','e'の5通りで、データ領域とグループ
が1対1に対応する場合であり、5(ビット)×L(転置フ
ァイルのグループ数)の領域を確保する。次に、1番の
グループのFieldAのブロックに ‘a’を含んでいたら、
対応するビットをON(1)に、含んでいなければOFF
(0)とする。同様に‘b’を含んでいたら、対応する
ビットをON(1)に、含んでいなければOFF(0)とす
る。この図は、1番のグループには、FieldAが'b','c'
となるレコードは含むが、FieldAが'a','d','eとなるレ
コードは含まない場合である。同様にしてすべてのグル
ープに対してビットマップ索引を生成する。
The bitmap index is an index key field
(FieldA) Secures the bits of the possible value of 31 by the number of data areas, sequentially reads the blocks of the field for creating the bitmap of the data area, and reads the bits of the data area containing the value of the corresponding index key field. ON (1)
Then, the bit of the data area not included is set to OFF (0). However, the key of the index key field here does not necessarily mean a primary key, but is used in a broad sense as a field for generating an index. In this figure, the possible values of the index key field (FieldA) 31 are '
a ',' b ',' c ',' d ', and' e ', where data areas and groups correspond one-to-one, and 5 (bits) × L (number of groups of transposed files ). Next, if the first group contains 'a' in the FieldA block,
ON (1) for the corresponding bit, OFF if not included
(0). Similarly, if "b" is included, the corresponding bit is set to ON (1), and if not, OFF (0). In this figure, in the first group, FieldA is 'b', 'c'
This is the case where the records that include Field A are 'a', 'd', and 'e, but are not included. Similarly, bitmap indexes are generated for all groups.

【0040】図2は、ビットマップ索引付き転置ファイ
ルを用いて、索引キーフィールド31が特定の値をもつレ
コードを処理する時の読込みの処理フローを示すもの
で、読込みたい索引キーフィールドの値のビットマップ
を読込み(ステップS10)、グループのビットがONか調べ
る(ステップS11)。ビットがON(1)であれば、その
グループから処理に必要なフィールドのブロックを読込
み(ステップS12)、そのグループがビットマップ上の最
後のグループか調べ(ステップS13)、最後であれば処理
を終了する。最後のグループでない場合には、次のグル
ープのビットマップを読込む処理(ステップS10)から
繰り返す。ステップS11がNOであった場合つまりビッ
トがOFF(0)の時には、ステップS12はとばし、ステ
ップS13から処理を続ける。この処理フローはビットマ
ップをグループ単位に作成する場合である。
FIG. 2 shows a read processing flow when processing a record in which the index key field 31 has a specific value using a transposed file with a bitmap index. The bit map is read (step S10), and it is checked whether the group bit is ON (step S11). If the bit is ON (1), a block of a field required for processing is read from the group (step S12), and it is checked whether the group is the last group on the bit map (step S13). finish. If it is not the last group, the process is repeated from the process of reading the bitmap of the next group (step S10). When step S11 is NO, that is, when the bit is OFF (0), step S12 is skipped, and the process is continued from step S13. This processing flow is for a case where a bitmap is created for each group.

【0041】索引キーフィールド31が特定の値をもつ
レコードの特定のフィールドを読込む場合は、上記特定
の値のビットマップを調べてビットがON(1)になって
いるグループのグループ番号を取得し、そのグループの
なかの処理に必要なフィールドのブロックのみ読込めば
よいので、読み込み量を削減でき、読み込み時間を短縮
でき処理を効率化できる。また、小さい入出力バッファ
で処理できる効果もある。
When reading a specific field of a record in which the index key field 31 has a specific value, the bit map of the specific value is checked to obtain the group number of the group whose bit is ON (1). Since only the blocks of the fields necessary for the processing in the group need to be read, the amount of reading can be reduced, the reading time can be reduced, and the processing can be more efficient. Also, there is an effect that processing can be performed with a small input / output buffer.

【0042】更には、ビットマップ索引を生成する場合
に、転置ファイルになっているため索引生成に必要な索
引キーフィールドのブロックのみ読込めば生成できるの
で、レコード中の他のフィールドは読込む必要がなく、
通常の格納形式に比べて高速に生成できる効果を有す
る。
Furthermore, when a bitmap index is generated, it can be generated by reading only the block of the index key field necessary for index generation because the file is an inverted file, so that other fields in the record need to be read. Without
This has the effect that it can be generated faster than in a normal storage format.

【0043】図1では、グループ単位にビットマップを
作成したが、複数のグループをまとめてビットマップ索
引を作成したり、一つのグループを複数に分割した単位
でビットマップ索引を生成することも可能である。図3
では、グループを二つに分割した単位にビットマップを
作成している。図4は、その場合の読み取りの模式図で
ある。グループの半分の単位にビットマップを作成した
ため、読み込みの単位もグループの半分となる。この図
では、キー値'd'のビットがON(1)になっている、グ
ループ2−1/2(グループ2の前半部分)のフィールドF
ield1、FieldA、FieldNを読込むことを示している。
In FIG. 1, a bitmap is created for each group. However, it is also possible to create a bitmap index by grouping a plurality of groups, or to create a bitmap index by dividing one group into a plurality. It is. FIG.
In, a bitmap is created in units of dividing a group into two. FIG. 4 is a schematic diagram of reading in that case. Since the bitmap was created in half the unit of the group, the read unit is also half of the group. In this figure, the field F of the group 2-1 / 2 (the first half of the group 2) in which the bit of the key value 'd' is ON (1)
Indicates that ield1, FieldA, and FieldN are to be read.

【0044】ビットマップ索引ではOFF(0)になっ
ているビットの割合が多いほど処理を効率化できるた
め、ビットマップ索引生成の単位を調節する必要があ
る。ビットマップ索引生成単位の目安は、ビットマップ
索引生成単位に含まれるレコード数がビットマップ生成
フィールドのとりうる値の種類(カーディナリティ)と
同じまたはそれより少なくすればよい。そうすること
で、最低でも1つはOFF(0)のビットができる。図4
では、ブロックの半分単位でビットマップを生成するこ
とで、FieldAが'd'となるレコードを読込む場合には、
グループ番号2のデータ領域に関して後半部分(2/
2)を読む必要がなくなり、読込むデータ量を減らす効
果がある。
In the bitmap index, the greater the proportion of bits that are OFF (0), the more efficient the processing. Therefore, it is necessary to adjust the unit of bitmap index generation. As a guideline of the bitmap index generation unit, the number of records included in the bitmap index generation unit may be the same as or smaller than the type (cardinality) of the possible value of the bitmap generation field. By doing so, at least one OFF (0) bit is created. FIG.
Then, by generating a bitmap in half a block, when reading a record where FieldA is 'd',
The latter half of the data area of group number 2 (2 /
There is no need to read 2), which has the effect of reducing the amount of data to be read.

【0045】ビットマップ索引は、複数の任意の索引キ
ーフィールドに対して作成することができるので、特定
のフィールドの組み合わせが特定の値の組合わせとなる
レコードを検索する際にも使用できる。その場合は、組
となる複数のフィールドに対してビットマップ索引を生
成し、それぞれのフィールドのビットマップ索引のそれ
ぞれの値のビットマップを読み込み、それらの論理和
(AND)をとることで、求めるデータ領域を示すビット
マップを構成することができる。図5は、FieldAとFiel
dBに対してビットマップ索引を生成し、FieldA、FieldB
の組み合わせがキー値‘e’,‘x’のそれぞれの値の組
み合わせであるレコードを読込む場合を示しており、両
方のビットが立っているグループ番号3のみ読込めば良
い。例えば、‘e’が商品名で‘x’がその商品の色彩を
表している場合である。 実施の形態2.図6は、この発明の実施の形態2を示
す、データ列挙型索引付き転置ファイルを示すものであ
る。このデータ列挙型索引も2次索引であり、あらかじ
め作成された転置ファイル6に対して、後からデータ列
挙型索引を付加するものである。データ列挙型索引は、
索引対象となるデータ領域ごとに索引キーフィールド(F
ieldA)31のとりうる値を列挙するものであり、索引対象
領域の数だけデータ列挙領域を確保し、索引対象領域の
ブロックを順次読込み、索引キーフィールド(FieldA)31
がとる値が新しいもの、つまり索引対象領域で初めて出
現する値であればその値をデータ列挙領域に追加して作
成する。ある索引対象領域用のデータ列挙領域が満杯に
なったら、新たな領域を確保してデータ列挙領域とす
る。この図は、索引対象領域をグループとした場合で、
まずグループ番号1のFieldAのブロックを読み込み、新
しいデータが出現したらデータ列挙領域に追加してい
く。グループ番号1には、FieldAが'b'となるレコード
と'c'となるレコードを含むことを示してあり、途中省
略してグループ番号Lには、FieldAが'a'となるレコード
と'e'となるレコードを含むことを示している。
Since a bitmap index can be created for a plurality of arbitrary index key fields, it can also be used when searching for a record in which a specific field combination is a specific value combination. In such a case, a bitmap index is generated for a plurality of fields that form a pair, a bitmap of each value of the bitmap index of each field is read, and a logical sum (AND) is obtained. A bitmap indicating the data area can be configured. Figure 5 shows FieldA and Fiel
Generate bitmap index for dB, FieldA, FieldB
Shows a case where a record is read in which the combination of the key values 'e' and 'x' is a combination of the key values 'e' and 'x'. Only the group number 3 where both bits are set needs to be read. For example, “e” represents a product name and “x” represents the color of the product. Embodiment 2 FIG. FIG. 6 shows a data enumeration type indexed transposed file according to the second embodiment of the present invention. This data enumeration type index is also a secondary index, and adds a data enumeration type index to the transposed file 6 created in advance. The data enumeration index is
Index key fields (F
ieldA) 31 to enumerate the possible values, secure the data enumeration area by the number of index target areas, sequentially read the blocks of the index target area, index key field (FieldA) 31
If the value taken by is a new value, that is, a value that first appears in the index target area, the value is added to the data enumeration area and created. When the data enumeration area for a certain index target area becomes full, a new area is reserved and used as a data enumeration area. In this figure, the index target area is grouped.
First, the block of FieldA of group number 1 is read, and when new data appears, it is added to the data enumeration area. It is shown that the group number 1 includes a record in which FieldA is 'b' and a record in which it is 'c'. 'Is included.

【0046】図7は、データ列挙型索引付き転置ファイ
ルを用いて、索引キーフィールド31が特定の値をもつレ
コードを処理する時の読込みの処理フローを示すもの
で、グループのデータ列挙型索引を読込み(ステップS2
0)、読込みたい索引キーフィールドの値が列挙されて
いるか調べ (ステップS21)、列挙されていればそのグル
ープから処理に必要なフィールドのブロックを読込み
(ステップS22)、そのグループがデータ列挙索引上の最
後のグループか調べ(ステップS23)、最後であれば処理
を終了する。最後のグループでない場合には、次のグル
ープのデータ列挙型索引を読込む処理(ステップS20)
から繰り返す。ステップS21がNOであった場合つまり
データが列挙されていない時には、ステップS22はとば
し、ステップS23から処理を続ける。この処理フローは
索引対象領域をグループとした場合である。
FIG. 7 shows a reading process flow when processing a record in which the index key field 31 has a specific value using a transposition file with a data enumeration type index. Read (Step S2
0), check whether the value of the index key field to be read is enumerated (step S21), and if enumerated, read the block of the field required for processing from the group
(Step S22), it is checked whether the group is the last group on the data enumeration index (Step S23). If it is the last group, the process is terminated. If it is not the last group, the process of reading the data enumeration type index of the next group (step S20)
Repeat from If step S21 is NO, that is, if no data is listed, step S22 is skipped and the process is continued from step S23. This processing flow is for the case where the index target areas are grouped.

【0047】索引キーフィールドが特定の値をもつレコ
ードの特定のフィールドを読込む場合は、上記特定の値
とデータ列挙索引に列挙されている値を比較し、その値
が含まれているグループから処理に必要な特定フィール
ドのブロックのみ読込めば良く、読み込み量を削減で
き、読み込み時間を短縮できるので処理を効率化でき
る。また、小さい入出力バッファで処理できる効果もあ
る。実施の形態1と実施の形態2は、いずれも転置ファ
イルのグループもしくはグループを結合または分割した
索引対象領域に、索引キーフィールドが特定の値をもつ
レコードが存在するかどうかを示した索引を利用して転
置ファイルを検索する方式である。これらの変形例とし
ては、より一般的に、索引キーフィールドのそれぞれの
値に対して、転置ファイルのグループもしくはグループ
を結合または分割したそれぞれの索引対象領域に存在す
る値と存在しない値もしくは、存在する可能性のある値
と存在する可能性のない値を判別する手段を提供する索
引を生成し、その索引を用いた転置ファイルの検索方式
として実施することが可能である。上記判別する手段と
しては例えば、索引キーフィールドの値そのものを保持
するのではなく、索引キーフィールドのそれぞれの値を
ある変換規則で変換した値を保持する方法が考えられ
る。図8では、索引キーフィールドのそれぞれの値をハ
ッシュ関数(Module5)にかけてハッシュ値を取得し、
索引対象領域ごとにハッシュ値を保持する方法を示して
いる。このような索引を用いることで、索引キーフィー
ルドが特定の値をもつレコードの特定のフィールドを読
込む際に、読込む必要のあるデータ領域を絞り込むこと
ができ、読み込み時間を短縮できるので処理を効率化で
きる。また、小さい入出力バッファで処理できる効果も
ある。 実施の形態3.図9は、この発明の実施の形態3を示す
転置ハッシュファイル生成方法を示すものである。転置
ハッシュファイルは、ハッシュ関数・各ハッシュ値とそ
のハッシュ値をもつデータを格納するデータ領域情報を
格納したパケットディレクトリから構成される転置ハッ
シュファイル索引部32、それぞれのハッシュ値に対応し
たレコードを格納するデータ領域からなる転置ハッシュ
ファイルデータ部34から構成される。この図は、データ
領域とグループ5が1対1に対応する場合である。レコ
ード追加時には、投入レコード3の索引キーフィールド3
1(FieldA)の値をハッシュ関数にかけてハッシュ値を取
得し、パケットディレクトリからハッシュ値に対応する
データ領域33へのポインタを取得し、そのレコードを格
納するデータ領域、すなわちグループ5を求めてレコー
ドを転置して順次追加して格納する。作成された転置ハ
ッシュファイルでは、各グループ5に対応したハッシュ
値をもつレコードがブロック4単位に転置されて格納さ
れている。
When reading a specific field of a record in which the index key field has a specific value, the specific value is compared with the value listed in the data enumeration index, and the value is read from the group including the value. Only blocks of specific fields required for processing need to be read, the amount of reading can be reduced, and the reading time can be shortened, so that processing can be made more efficient. Also, there is an effect that processing can be performed with a small input / output buffer. Embodiments 1 and 2 both use an index indicating whether or not a record having a specific value in an index key field exists in a group of transposed files or an index target area obtained by combining or dividing groups. This is a method of searching for an inverted file. More generally, these modified examples include, for each value of the index key field, a value that exists in each index target area obtained by combining or dividing the group of the transposed file or the group, or a value that does not exist or exists. It is possible to generate an index that provides a means for determining a value that is likely to be present and a value that is not likely to exist, and implement the method as a search method of an inverted file using the index. As a means for the determination, for example, a method of holding a value obtained by converting each value of the index key field according to a certain conversion rule, instead of holding the value of the index key field itself, can be considered. In FIG. 8, a hash function (Module 5) is applied to each value of the index key field to obtain a hash value.
A method of holding a hash value for each index target area is shown. By using such an index, when reading a specific field of a record where the index key field has a specific value, the data area that needs to be read can be narrowed down, and the reading time can be shortened. Can be more efficient. Also, there is an effect that processing can be performed with a small input / output buffer. Embodiment 3 FIG. FIG. 9 shows an inverted hash file generation method according to the third embodiment of the present invention. The transposed hash file is a transposed hash file index unit 32 composed of a packet directory storing a hash function, each hash value and data area information for storing data having the hash value, and stores records corresponding to the respective hash values. And a transposed hash file data section 34 comprising a data area to be transferred. This figure shows a case where the data area and the group 5 correspond one-to-one. When adding a record, index key field 3 of input record 3
The value of 1 (FieldA) is multiplied by a hash function to obtain a hash value, a pointer to a data area 33 corresponding to the hash value is obtained from the packet directory, and a data area for storing the record, that is, a group 5 is obtained, and the record is obtained. Transpose and add sequentially and store. In the created transposed hash file, records having a hash value corresponding to each group 5 are transposed and stored in block 4 units.

【0048】図10は、データ領域とグループ5が1対N
(N>= 1)に対応する場合の模式図である。転置ハッシ
ュファイルに新たにレコードを追加する時に、あたらに
レコードを追加するデータ領域のグループが一杯でレコ
ードを追加できない場合には、新たにグループ用の領域
を確保しパケットディレクトリ内のデータ領域情報に新
たに確保したグループ情報を書き加え、あらたに確保し
たグループの先頭に転置して格納する。この例は、ハッ
シュ値=0の領域が一杯になったために、2つ目のグル
ープを格納する領域を確保した場合である。1つのハッ
シュ値に対応するグループが複数ある場合に、パケット
ディレクトリには先頭のグループの情報(ポインタ)の
み格納し、各グループにヘッダ領域を設けてヘッダ領域
に次グループの情報(ポインタ)を格納してもよい。
FIG. 10 shows that the data area and the group 5 have a 1: N ratio.
It is a schematic diagram in the case corresponding to (N> = 1). When adding a new record to the transposed hash file, if the data area group to which the record is to be added is full and the record cannot be added, a new area for the group is secured and the data area information in the packet directory is added. The newly secured group information is added and transposed and stored at the head of the newly secured group. In this example, the area for storing the second group is secured because the area of hash value = 0 is full. When there are a plurality of groups corresponding to one hash value, only the information (pointer) of the first group is stored in the packet directory, a header area is provided in each group, and the information (pointer) of the next group is stored in the header area. May be.

【0049】転置ハッシュファイルを用いて、索引キー
フィールド31が特定の値をもつレコードを処理する時の
読込みの処理フローを図11に示す。読込みたい索引キ
ーフィールドの値からハッシュ関数を用いてハッシュ値
を取得し(ステップS1)、そのハッシュ値からデータ領域
のポインタを得るパケットディレクトリ情報を取得し
(ステップS2)、パケットディレクトリからグループ情報
を取得し(ステップS3)、グループ5のなかから処理に
必要なフィールド2のブロック4を読込み(ステップS
4)、そのグループがS2で求めたパケットディレクトリの
最後のグループか調べ(ステップS5)、最後であれば処
理を終了する。最後のグループでない場合には、次のグ
ループ情報を取得し(ステップS3)、処理を繰り返す。こ
のフローは、複数のグループ情報をパケットディレクト
リに格納する場合である。
FIG. 11 shows a reading processing flow when processing a record in which the index key field 31 has a specific value using the transposed hash file. A hash value is obtained from the value of the index key field to be read using a hash function (step S1), and packet directory information for obtaining a data area pointer is obtained from the hash value.
(Step S2), the group information is obtained from the packet directory (Step S3), and the block 4 of the field 2 necessary for processing is read from the group 5 (Step S2).
4), it is checked whether the group is the last group of the packet directory obtained in S2 (step S5), and if it is the last, the process is terminated. If it is not the last group, the next group information is obtained (step S3), and the process is repeated. This flow is for storing a plurality of group information in the packet directory.

【0050】図12は、転置ハッシュファイルからデー
タを読込む模式図である。転置ハッシュファイルでは、
索引キーフィールドが特定の値をもつレコードの特定の
フィールドを読む際に、上記特定の値からハッシュ関数
を用いて取得したハッシュ値(例えばハッシュ値が1)か
ら、そのレコードが含まれるデータ領域を特定し、その
データ領域内のグループ毎に特定のフィールド(例えば
Field1とFieldN)のブロックのみ読み出すことができる
ため、入出力バッファの節約および読込み処理の効率化
をはかることができる。 実施の形態4 図13は、本発明の実施の形態4を示す、転置レンジフ
ァイルを示すものである。転置レンジファイルは、キー
レンジ判定部と各キーレンジとそのキーレンジの値をも
つデータを格納するデータ領域情報を格納したキーレン
ジディレクトリから構成される転置レンジファイル索引
部32、それぞれのキーレンジに対応したレコードを格納
するデータ領域からなる転置レンジファイルデータ部34
から構成される。この図は、データ領域とグループ5が
1対1に対応する場合である。レコード追加時には、投
入レコード3の索引キーフィールド31(FieldA)の値が含
まれるキーレンジを特定し、キーレンジディレクトリか
ら対応するデータ領域33へのポインタを取得し、そのレ
コードを格納するデータ領域、すなわちグループ5を求
めてレコードを転置して順次追加して格納する。作成さ
れた転置レンジファイルでは、各グループ5には対応し
たキーレンジをもつレコードがブロック4単位に転置さ
れて格納されている。
FIG. 12 is a schematic diagram for reading data from an inverted hash file. In the transposed hash file,
When reading a specific field of a record in which an index key field has a specific value, a data area including the record is obtained from a hash value (for example, a hash value of 1) obtained by using a hash function from the specific value. Identify and specify specific fields (eg,
Since only the blocks of (Field1 and FieldN) can be read, the input / output buffer can be saved and the read processing can be made more efficient. Fourth Embodiment FIG. 13 shows an inverted range file according to a fourth embodiment of the present invention. The transposed range file is a transposed range file index unit 32 composed of a key range determining unit and a key range directory storing each key range and data area information storing data having the value of the key range. Transposed range file data section 34 consisting of a data area for storing the corresponding records
Consists of This figure shows a case where the data area and the group 5 correspond one-to-one. At the time of record addition, a key range including the value of the index key field 31 (FieldA) of the input record 3 is specified, a pointer to the corresponding data area 33 is obtained from the key range directory, and a data area for storing the record, That is, the records are transposed for the group 5 and sequentially added and stored. In the created transposition range file, records having the corresponding key ranges are transposed and stored in units of blocks 4 in each group 5.

【0051】レコード追加時にキーレンジに対応するデ
ータ領域があふれた場合は、新たにグループ用の領域を
確保し、キーレンジディレクトリに新たに確保したグル
ープ情報を追加後、新たに確保したグループの先頭から
転置して追加する。この場合は、データ領域とグループ
が1対N(N>=1)に対応する。1つのキーレンジに対応
するグループが複数ある場合に、キーレンジディレクト
リには先頭のグループの情報(ポインタ)のみ格納し、
各グループにヘッダ領域を設けてヘッダ領域に次グルー
プの情報(ポインタ)を格納してもよい。
If the data area corresponding to the key range overflows at the time of adding a record, a new area for the group is secured, the newly secured group information is added to the key range directory, and the top of the newly secured group is added. Transpose from and add. In this case, the data area and the group correspond to 1: N (N> = 1). When there are a plurality of groups corresponding to one key range, only the information (pointer) of the first group is stored in the key range directory,
A header area may be provided in each group, and information (pointer) of the next group may be stored in the header area.

【0052】キーレンジファイルを用いて、索引キーフ
ィールド31が特定の値をもつレコードを処理する時の読
込みの処理フローを図14に示す。索引キーフィールド
が特定の値であるレコードの特定のフィールドを読込む
ためには、索引キーフィールドの上記特定の値からレン
ジ判定部を用いてキーレンジを取得し(ステップS41)、
そのキーレンジからキーレンジディレクトリ情報を取得
し(ステップS42)、キーレンジディレクトリからグルー
プ情報を取得し(ステップS43)、グループ5のなかか
ら処理に必要なフィールド2のブロック4を読込み(ス
テップS44)、そのグループがS42で求めたキーレンジデ
ィレクトリの最後のグループか調べ(ステップS45)、最
後であれば処理を終了する。最後のグループでない場合
には、次のグループ情報を取得し(ステップS43)、処理
を繰り返す。
FIG. 14 shows a reading processing flow when processing a record in which the index key field 31 has a specific value using the key range file. In order to read a specific field of the record where the index key field has a specific value, a key range is obtained from the specific value of the index key field using a range determination unit (step S41).
Key range directory information is obtained from the key range (step S42), group information is obtained from the key range directory (step S43), and block 4 of field 2 necessary for processing is read from group 5 (step S44). It is checked whether the group is the last group in the key range directory obtained in S42 (step S45). If it is the last group, the process is terminated. If it is not the last group, the next group information is obtained (step S43), and the process is repeated.

【0053】レコード追加時に対応するキーレンジが存
在しない場合は、新たなキーレンジを追加する。キーレ
ンジの追加は、新たにデータ領域(グループ)を一つ確
保し、キーレンジディレクトリに新たなキーレンジ用の
領域を確保して、追加するキーレンジと新たに確保した
データ領域の情報を追加して行なう。
If a corresponding key range does not exist when a record is added, a new key range is added. To add a key range, secure a new data area (group), secure an area for a new key range in the key range directory, and add information on the key range to be added and the newly secured data area. And do it.

【0054】転置レンジファイルでは、索引キーフィー
ルドが特定の値をもつレコードの特定のフィールドを読
む際に、上記特定の値からレンジ判定部を用いて取得し
たキーレンジ値から、そのレコードが含まれるデータ領
域を特定し、そのデータ領域内の特定のフィールドのブ
ロックのみ読み出すことができるため、入出力バッファ
の節約および読込み処理の効率化を図ることができる。
In the inverted range file, when reading a specific field of a record whose index key field has a specific value, the record is included from the key range value obtained by using the range determination unit from the specific value. Since the data area can be specified and only the block of the specific field in the data area can be read, the input / output buffer can be saved and the read processing can be made more efficient.

【0055】実施の形態3と実施の形態4は、何れも索
引キーフィールドの値でレコードを分類し、分類ごとに
格納するデータ領域を別けて、それぞれのレコードを転
置して格納したものである。これらの変形例としては、
より一般的に、索引キーフィールドの値でレコードを分
類する手段を提供する索引部と、分類ごとにデータを転
置して格納したデータ領域からなるデータ部から構成さ
れるデータ格納方式である。例えばレコードを分類する
手段として、索引キーフィールドの値をあらかじめ分類
しておいて、その分類にしたがってレコードを分類して
格納する方法がある。図15は、索引キーフィールドを
都道府県名とし、北海道・東北地方、関東地方、中部地
方などのように索引キーフィールドを分類しておき、そ
の分類ごとにデータ格納領域を用意して、レコードを都
道府県の属する地方別に格納する場合である。
In both the third and fourth embodiments, records are classified by the value of the index key field, and the records are transposed and stored separately for each classification in a data area to be stored. . These variants include:
More generally, it is a data storage method including an index unit that provides a unit for classifying records by the value of an index key field, and a data unit including a data area in which data is transposed and stored for each classification. For example, as a means for classifying records, there is a method in which the values of the index key fields are classified in advance, and the records are classified and stored according to the classification. FIG. 15 shows that the index key fields are the names of prefectures, the index key fields are classified as in Hokkaido / Tohoku region, Kanto region, Chubu region, etc., a data storage area is prepared for each classification, and records are stored. This is a case where the information is stored for each region to which the prefecture belongs.

【0056】このようなデータ格納方法にすることで、
索引キーフィールドが特定の値をもつレコードの特定の
フィールドを読む際に、上記特定の値から索引部を用い
てレコードが含まれるデータ領域を特定し、そのデータ
領域内の特定のフィールドのブロックのみ読み出すこと
ができるため、入出力バッファの節約および読込み処理
の効率化を図ることができる。 実施の形態5.図16は、この発明の実施の形態5を示
す、転置B+Treeの生成方法を示すものである。転置B+Tr
eeは索引部32の領域とデータ部34の領域から構成され
る。索引部は1つのルートノードと0個以上の中間ノー
ドから構成される。データ部は1つ以上のリーフノード
から構成される。ルートノードおよび中間ノードにはキ
ー値と次ノードへのポインタのみ格納し、リーフノード
にはキー値を含む全フィールドを格納し、以下の規則で
構成する。正整数dに対して、d次の転置B+Treeとは、 (イ)ルートノードからリーフノードまでの高さは同じ
である。 (ロ)ルートノードには、i個(1<= i <= 2d)のキー値
を順に格納する (ハ)中間ノードには、i個(d <= i <= 2d)のキー値
を順に格納する (ニ)リーフノードには、i個(d <= i <= 2d)のレコ
ードを転置して格納する。 (ホ)i個のキー値Key(1)〜Key(i)をもつ非リーフノー
ドは、i +1個の子ノードへのポインタP(1)〜P(i+1)を
もち、ポインタP( j ) ( 1<= j <= i+1 )の指す子ノー
ドに含まれるキーの値PK( j )は以下を満たす。 (1) PK(1)<Key(1) (2) Key( i )<=PK( i+1 ) (3) 上記以外は、Key( j )< PK( j ) <=Key( j+1 )
(1 < j < i+1) ただし、 Key( j ) =Key( j+1 )の場合は、PK( j )= Ke
y( j ) (ヘ)必要であれば、リーフノードにヘッダ領域を確保
し、値がとなりあうリーフノード間の片方向または両方
向のチェーンを格納する。図16はINT[ L/2 ]次(Lは
ブロックを形成するレコード数)の転置B+Treeである。
ただし、INT[X]はXを超えない最大の整数を表す。レコ
ード追加時には、投入レコード3の索引キーフィールド3
1(FieldA)の値をルートノードのキー値(この例では5
6)と比較する。上記構成規則(ホ)より、ノードのキ
ー値より大きいまたは同じならば右のポインタが指す中
間ノードへ、小さければ左のポインタが指す中間ノード
へ移る。その後も順次ノードにあるキー値と比較を繰り
返し上記構成規則(ホ)より子ノードを求め、最終的に
リーフノード(リーフページ)の格納位置、すなわちデ
ータ領域33を決めるものである。この図は、データ領域
33とグループが1対1に対応する場合である。求めたデ
ータ領域中のグループ(ここではSとする)に空きがあ
れば、グループの最後にレコードを転置して追加して終
了する。転置ファイルでは、ブロック単位の読み込みを
行なうので、データ領域内でデータを昇順または降順に
ならべなくても良い。データ領域中のグループが一杯の
場合には、上記構成規則(ホ)に従って、ノードの分割
が発生する。すなわち、ます新たなグループTを用意す
る。求めたグループSのL個のレコード(ブロックを形成
する単位)と挿入レコードを合わせたL+1個のレコー
ドのうち、キー値の小さい順に INT[(L+1)/2]個を転置
してグループSに、残りを転置してグループTに格納す
る。さらに、Tの中のレコードの索引キーフィールドの
最小値とTへのポインタをペアにして、Sを指す中間ノー
ドへ挿入する。
By adopting such a data storage method,
When reading a specific field of a record whose index key field has a specific value, use the index part to specify the data area that contains the record from the specific value, and only block the specific field in that data area. Since reading can be performed, input / output buffers can be saved and the reading process can be performed more efficiently. Embodiment 5 FIG. FIG. 16 shows a method of generating a transposed B + Tree according to the fifth embodiment of the present invention. Transpose B + Tr
ee is composed of an area of the index section 32 and an area of the data section 34. The index unit is composed of one root node and zero or more intermediate nodes. The data section is composed of one or more leaf nodes. Only the key value and the pointer to the next node are stored in the root node and the intermediate node, and all the fields including the key value are stored in the leaf node. For a positive integer d, the d-order transpose B + Tree is as follows: (a) The height from the root node to the leaf node is the same. (B) In the root node, i (1 <= i <= 2d) key values are stored in order. (C) In the intermediate node, i (d <= i <= 2d) key values are stored in order. Storing (d) In the leaf node, i records (d <= i <= 2d) are transposed and stored. (E) A non-leaf node having i key values Key (1) to Key (i) has pointers P (1) to P (i + 1) to i + 1 child nodes, and a pointer P (j) The key value PK (j) included in the child node pointed to by (1 <= j <= i + 1) satisfies the following. (1) PK (1) <Key (1) (2) Key (i) <= PK (i + 1) (3) Other than the above, Key (j) <PK (j) <= Key (j + 1) )
(1 <j <i + 1) However, if Key (j) = Key (j + 1), PK (j) = Ke
y (j) (f) If necessary, a header area is secured in the leaf node, and a one-way or two-way chain between the leaf nodes having the same value is stored. FIG. 16 shows a transposed B + Tree of order INT [L / 2] (L is the number of records forming a block).
Here, INT [X] represents the largest integer not exceeding X. When adding a record, index key field 3 of input record 3
Set the value of 1 (FieldA) to the key value of the root node (5 in this example)
Compare with 6). According to the construction rule (e), if the key value is greater than or equal to the key value of the node, the process moves to the intermediate node indicated by the right pointer, and if smaller, the process moves to the intermediate node indicated by the left pointer. Thereafter, the comparison with the key value in the node is repeated in order to obtain the child node based on the above configuration rule (e), and finally, the storage position of the leaf node (leaf page), that is, the data area 33 is determined. This figure shows the data area
This is the case where 33 and the group correspond one to one. If there is a vacancy in the group (S in this case) in the obtained data area, the record is transposed to the end of the group, added, and the processing ends. In an inverted file, data is read in units of blocks, so that it is not necessary to arrange data in ascending or descending order in the data area. When the group in the data area is full, node division occurs according to the above configuration rule (e). That is, an increasingly new group T is prepared. Transpose INT [(L + 1) / 2] records in ascending order of key value, out of L + 1 records obtained by combining the L records (units that form the block) and the inserted records of group S that were found. Transpose the rest into S and store in group T. Further, the minimum value of the index key field of the record in T is paired with the pointer to T and inserted into the intermediate node pointing to S.

【0057】図17は、転置B+Treeを用いて、索引キー
フィールド31が特定の値をもつレコードを処理する時の
読込みの処理フローを示すもので、まず、読込みたい索
引キーフィールドの値をルートノードのキー値と比較し
(ステップS31)、上記構成規則(ホ)に従って次ノー
ドを取得する。取得した次ノードがリーフノードか調べ
(ステップS32)、リーフノードであれば、リーフノー
ドのグループから必要なブロックを読込み(ステップS3
4)、キー値に対応するグループが他にないか調べるた
めに、親ノードをもう一度調べて(ステップS35)、な
ければ終了する。あれば、次のリーフノードのグループ
から必要なブロックを読込みステップS35以降の処理を
繰り返す。ステップS32で次ノードがリーフノードでな
い場合は、中間ノードを読込み上記構成規則(ホ)に従
って次ノードを取得し(ステップS33)、次のノードを
読込みステップS32以降の処理を繰り返す。
FIG. 17 shows a read processing flow when processing a record in which the index key field 31 has a specific value using the transposed B + Tree. First, the value of the index key field to be read is determined. The key value is compared with the key value of the root node (step S31), and the next node is obtained according to the above configuration rule (e). It is checked whether the acquired next node is a leaf node (step S32). If it is a leaf node, a necessary block is read from a group of leaf nodes (step S3).
4) In order to check if there is any other group corresponding to the key value, the parent node is checked again (step S35), and if not, the process ends. If there is, the necessary block is read from the next group of leaf nodes, and the processing from step S35 is repeated. If the next node is not a leaf node in step S32, an intermediate node is read and the next node is acquired in accordance with the above configuration rule (e) (step S33), the next node is read, and the processing from step S32 is repeated.

【0058】転置ハッシュファイルと同様に、転置B+Tr
eeでも、索引キーフィールドが特定の値をもつレコード
の特定のフィールドを読む際に、索引キーフィールドの
値から索引部を利用してその値をもつレコードが含まれ
るデータ領域を特定し、そのデータ領域内の特定のフィ
ールドのブロックのみ読み出すことができるため、入出
力バッファの節約および読込み処理の効率化を図ること
ができる。
Similarly to the transposed hash file, the transposed B + Tr
Even in ee, when reading a specific field of a record whose index key field has a specific value, the data area containing the record having that value is specified using the index part from the value of the index key field, and the data area Since only a block of a specific field in the area can be read, the input / output buffer can be saved and the read processing can be made more efficient.

【0059】本実施の形態の変形例としてはより一般的
に、階層構造(木構造)をもった、索引キーフィールド
の値でレコードを分類する手段を提供する索引部と、分
類ごとにデータを転置して格納したデータ領域から構成
されるデータ格納方法である。図18は、階層構造(木
構造)をもった索引部として第1のハッシュ関数として
の「ハッシュ関数1」と第2のハッシュ関数としての
「ハッシュ関数2」との2階層の別々のハッシュ関数を
用いる場合を示している。また、住所を索引キーフィー
ルドとして索引を3階層にして、最上位レベルの分類と
して地方(関東地方、中部地方など)とし、中位レベル
の分類として都道府県とし、最下位レベルの分類として
市町村とし、レコードを市町村ごとに分類してそれぞれ
を転置して格納する方法もある。
As a modification of the present embodiment, more generally, an index unit having a hierarchical structure (tree structure) and providing means for classifying records by the value of an index key field, and data for each classification are provided. This is a data storage method including a transposed and stored data area. FIG. 18 shows two different hash functions of “Hash function 1” as a first hash function and “Hash function 2” as a second hash function as index parts having a hierarchical structure (tree structure). Is used. Also, the address is used as an index key field, and the index is divided into three layers. The highest level is classified into regions (Kanto, Chubu, etc.), the middle level is classified into prefectures, and the lowest level is classified as municipalities. There is also a method of classifying records according to municipalities and transposing and storing the records.

【0060】このようなデータ格納方式にすることで、
索引キーフィールドが特定の値をもつレコードの特定の
フィールドを読む際に、上記特定の値から索引部を階層
的に用いてレコードが含まれるデータ領域を特定し、そ
のデータ領域内の特定のフィールドのブロックのみ読み
出すことができるため、入出力バッファの節約および 読込み処理の効率化をはかることができる。実施の形態
6.図19は、この発明の実施の形態6を示す、ハッシ
ュ索引付き転置ファイルである。この実施の形態6も実
施の形態1と同様2次索引であり、何らかの方法で生成
された転置ファイルに対して、後からハッシュ索引を付
加するものである。索引部は、ハッシュ関数、ハッシュ
値とレコードポインタ配列へのポインタを格納したパケ
ットディレクトリ、各ハッシュ値のレコードポインタ配
列から構成される。レコードポインタ配列には、各ハッ
シュ値に対応したレコードのレコードIDが格納されてい
る。各レコードIDは、(グループ番号・グループ内オフ
セット)の組で構成される。ハッシュ索引は、索引を生
成するフィールドのブロックを各グループから順次読込
み、ブロック内のフィールドの値ごとに、その値とハッ
シュ関数を利用してハッシュ値を取得し、取得したハッ
シュ値用のパケットディレクトリから、そのハッシュ値
用のレコードポインタ配列のアドレスを取得して、そこ
にレコードID(グループ番号・グループ内オフセット)を
追加して作成していき、この操作を全グループの対応す
るブロックについて行なって作成する。
By adopting such a data storage method,
When reading a specific field of a record in which an index key field has a specific value, a data area including a record is specified by using the index part hierarchically from the specific value, and a specific field in the data area is specified. Can read only the blocks, so that I / O buffers can be saved and the read processing can be made more efficient. Embodiment 6 FIG. FIG. 19 shows an inverted file with a hash index according to the sixth embodiment of the present invention. The sixth embodiment is also a secondary index like the first embodiment, in which a hash index is added later to an inverted file generated by any method. The index unit includes a hash function, a packet directory storing a hash value and a pointer to a record pointer array, and a record pointer array of each hash value. The record pointer array stores the record ID of the record corresponding to each hash value. Each record ID is composed of a group (group number / intra-group offset). The hash index reads a block of fields for generating an index sequentially from each group, obtains a hash value by using the value and a hash function for each field value in the block, and obtains a packet directory for the obtained hash value. From there, obtain the address of the record pointer array for that hash value, add the record ID (group number / offset within the group) to that address, create it, and perform this operation for the corresponding blocks in all groups. create.

【0061】転置ファイルにハッシュ索引を付加するこ
とで、索引キーフィールドが特定の値を持つレコードを
読み出す時には、その特定の値からハッシュ関数を用い
てハッシュ値を取得し、ハッシュ値から対応するパケッ
トディレクトリのレコードポインタ配列を取得し、そこ
に列挙されているレコード(または対応するグループ)
のみ読込めばよく、読込み時間を短縮して処理を効率化
できる。
When a record having a specific value in the index key field is read by adding a hash index to the transposed file, a hash value is obtained from the specific value using a hash function, and a corresponding packet is read from the hash value. Gets the record pointer array of the directory and records (or corresponding groups) listed there
Only reading is necessary, and the reading time can be shortened to improve the processing efficiency.

【0062】実施の形態6では、レコードIDとして、
(グループ番号・グループ内オフセット)の組としたが、
読込み単位がブロックであるので、グループ内オフセッ
トを記述せず、グループ番号のみとして処理を効率化す
ることが可能である。
In the sixth embodiment, the record ID is
(Group number / offset within group)
Since the read unit is a block, it is possible to improve the processing efficiency by using only the group number without describing the intra-group offset.

【0063】通常のファイルにハッシュ索引を付加する
場合は、全てのデータ領域の全てのフィールドを読込む
必要があるが、転置ファイルの場合には、索引を作成す
るフィールドのブロックのみ読込めばハッシュ索引をで
きるので、索引生成時間を短縮できる効果がある。 実施の形態7.図20は、この発明の実施の形態7を示
す、B+Tree索引付き転置ファイルである。この実施の形
態7も実施の形態1、6と同様2次索引であり、何らか
の方法で生成された転置ファイルに対して、後からB+Tr
ee索引を付加するものである。索引部は、1つのルート
ノード、0個以上の中間ノードと1つ以上のリーフノー
ドから構成され、ルートノードと中間ノードにはキー値
と次ノードへのポインタを格納し、リーフノードにはキ
ー値とそのキー値のレコードポインタIDを格納したレコ
ードポインタ配列へのポインタを格納する。レコードポ
インタ配列には、各キー値に対応したレコードのレコー
ドIDが格納されている。レコードIDは、(グループ番号
・グループ内オフセット)の組で構成される。
When a hash index is added to a normal file, all fields in all data areas must be read. In the case of an inverted file, a hash index can be obtained by reading only a block of a field to be indexed. Since the index can be created, there is an effect that the index generation time can be reduced. Embodiment 7 FIG. FIG. 20 shows a transposed file with a B + Tree index according to the seventh embodiment of the present invention. This Embodiment 7 is also a secondary index like Embodiments 1 and 6, and B + Tr is added to an inverted file generated by some method later.
An ee index is added. The index unit is composed of one root node, zero or more intermediate nodes, and one or more leaf nodes. The root node and the intermediate nodes store a key value and a pointer to the next node. Stores a pointer to a record pointer array that stores the value and the record pointer ID of the key value. The record pointer array stores the record ID of the record corresponding to each key value. The record ID is composed of a group (group number / intra-group offset).

【0064】正整数dに対して、d次のB+Tree索引付き
転置ファイルの構成規則は、転置B+Treeのリーフノード
の規則(ニ)を除き実施の形態5と同様である。リーフ
ノードの構成規則は以下のとおりである。 (ニ ’) リーフノードには、i個(d <= i <= 2d)の
レコードポインタを格納したレコードポインタ配列を格
納する。B+Tree索引は、索引を生成するフィールドのブ
ロックを各グループから順次読込み、ブロック内のフィ
ールドの値ごとに、その値とルートノードのキー値を比
較し、実施の形態5の構成規則(ホ)に従って次ノード
を取得する。次ノードがリーフノードでなければ、リー
フノードになるまで繰り返す。キー値に対応するリーフ
ノードを取得したら、リーフノードからレコードポイン
タ配列を取得し、そこにレコードID(グループ番号・領
域内オフセット)を追加する。レコードポインタ配列に
格納されているレコード数が一杯(2d個)になったら構
成規則に従ってノードの分割が発生する。
With respect to the positive integer d, the construction rule of the d-th order B + Tree indexed transposed file is the same as that of the fifth embodiment except for the rule (d) of the transposed B + Tree leaf node. The configuration rules for leaf nodes are as follows. (D ′) In the leaf node, a record pointer array storing i (d <= i <= 2d) record pointers is stored. The B + Tree index reads sequentially the blocks of the field for which the index is generated from each group, compares the value of the field in the block with the key value of the root node, and compares the value with the key value of the root node. ) To get the next node. If the next node is not a leaf node, repeat until the node becomes a leaf node. When the leaf node corresponding to the key value is obtained, a record pointer array is obtained from the leaf node, and a record ID (group number / offset within the area) is added thereto. When the number of records stored in the record pointer array becomes full (2d), node division occurs according to the configuration rules.

【0065】転置ファイルに、B+Tree索引を付加するこ
とで、索引キーフィールドが特定の値を持つレコードを
読み出す時には、その特定の値をルートノードのキー値
と比較して次ノードを取得し、実施の形態5の構成規則
(ホ)に従って次ノードがリーフノードになるまで比較
を繰り返し、リーフノードから対応するレコードポイン
タ配列を取得し、そこに列挙されているグループのみ読
込めばよく、読込み時間を短縮して処理を効率化でき
る。
By adding a B + Tree index to the transposed file, when reading out a record whose index key field has a specific value, the specific value is compared with the key value of the root node to acquire the next node. According to the configuration rule (e) of the fifth embodiment, the comparison is repeated until the next node becomes a leaf node, a corresponding record pointer array is obtained from the leaf node, and only the groups listed therein need to be read. Processing time can be shortened and processing efficiency can be improved.

【0066】実施の形態7では、レコードIDとして、
(グループ番号・グループ内オフセット)の組としたが、
読込み単位がブロックであるので、グループ内オフセッ
トを記述せず、グループ番号のみとしても読み込み時間
を短縮することが可能である。
In the seventh embodiment, the record ID is
(Group number / offset within group)
Since the read unit is a block, it is possible to shorten the read time by using only the group number without describing the intra-group offset.

【0067】実施の形態6と形態7はいずれも、あらか
じめ存在する転置ファイルに対して、索引キーフィール
ドの値ごとに、レコードが格納されている場所を特定す
る手段を提供する索引を後から生成し、その索引を用い
てデータを検索する方法である。図21は、これらの変
形例としてレコードが格納されている場所を特定する手
段として、レコードIDごとに索引キーフィールドの値の
ビットマップを作成する方法を示している。また、B+Tr
ee以外の木構造の索引を用いる方法もある。
In both the sixth embodiment and the seventh embodiment, an index that provides a means for specifying a location where a record is stored is generated for each of the values of the index key fields for the existing transposed file later. Then, data is searched using the index. FIG. 21 shows a method of creating a bitmap of the value of the index key field for each record ID as means for specifying the location where a record is stored as a modification of the above. Also, B + Tr
There is also a method using a tree-structured index other than ee.

【0068】転置ファイルに、これらの索引を付加する
ことで、索引キーフィールドが特定の値を持つレコード
を読み出す時には、その特定の値から索引を用いてレコ
ードが格納されている場所を特定しそのレコードを含む
グループの特定のフィールドのブロックのみ読込めばよ
く、読込み時間を短縮して処理を効率化できる。
By adding these indexes to the transposed file, when reading a record having a specific value in the index key field, the location where the record is stored is specified using the index from the specific value, and the index is used. Only the block of the specific field of the group including the record needs to be read, so that the reading time can be reduced and the processing can be made more efficient.

【0069】これまで述べてきた全ての実施の形態の変
形例としては、それらの組み合わを考えることができ
る。図22は、実施の形態3で示した転置ハッシュファ
イルとビットマップ索引の組み合わせを示すもので、ハ
ッシュファイルによって索引キーフィールドが特定の値
をもつレコードが存在するデータ領域を決定し、データ
領域内のそれぞれのレコードに対して、索引キーフィー
ルドの値をビットマップでもつことを示している。この
ことによって、索引キーフィールドが特定の値をもつレ
コードのランダムアクセスを効率的に行なうことができ
る。
As a modification of all the embodiments described above, a combination thereof can be considered. FIG. 22 shows a combination of the transposed hash file and the bitmap index shown in the third embodiment. A data area in which a record whose index key field has a specific value exists is determined based on the hash file. Indicates that the value of the index key field is provided in a bitmap for each record of. As a result, it is possible to efficiently perform random access to a record whose index key field has a specific value.

【0070】図23は、実施の形態1で示したビットマ
ップ索引とB+Tree索引を組み合わせたもので、索引キー
フィールドが特定の値をもつレコードを検索する時の、
上記特定の値のビットマップを取得する部分にB+Tree索
引を用いることで、より効率的にビットマップを取得で
き処理を効率化できる。
FIG. 23 shows a combination of the bitmap index and the B + Tree index shown in the first embodiment, and is used to search for a record whose index key field has a specific value.
By using the B + Tree index for the part where the bitmap of the specific value is obtained, the bitmap can be obtained more efficiently and the processing can be made more efficient.

【0071】[0071]

【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に示すような効果を奏する。
Since the present invention is configured as described above, it has the following effects.

【0072】レコードを格納する領域を示すポインタを
設定する索引部により分類されたレコードの予め設定し
た一定件数を転置ファイルとして構成したので、検索時
の入出力効率が良く検索効率の高いデータファイルを得
ることができる。
Since a predetermined fixed number of records classified by the index unit for setting a pointer indicating an area for storing records is configured as a transposed file, a data file with high input / output efficiency and high search efficiency at the time of retrieval can be obtained. Obtainable.

【0073】また、転置ファイルのフィールドの値に基
き分類しそれらの分類ごとに配列のアドレスが格納され
た第1の索引部と、上記アドレスごとに分類されたレコ
ードIDが格納された複数の配列からなる第2の索引部
とにより構成したので、検索方法が可変で検索効率の高
いデータファイルを得ることができる。
Further, a first index section in which the addresses of the arrays are stored based on the values of the fields of the transposed file, and a plurality of arrays storing the record IDs classified in each of the addresses are stored. And a second index unit made up of the above, it is possible to obtain a data file with a variable search method and high search efficiency.

【0074】さらに、転置ファィルのレコードの予め設
定されたフィールドのキー値を含むグループにフラグを
設定したテーブルを生成し、予め設定されたキー値に対
応するレコードを検索するときはそのキー値に対応する
フラグが設定されている上記グループのレコードを検索
するように構成したので、検索時に必要なフィールドの
み読込むことにより読み出しにかかる時間を減らすこと
ができる。
Further, a table in which a flag is set in a group including a key value of a preset field of the record of the transposed file is generated, and when a record corresponding to the preset key value is searched, the key value is used. Since a search is made for records in the above-mentioned group in which the corresponding flag is set, it is possible to reduce the time required for reading by reading only the fields necessary for the search.

【0075】また、キー値はキーのハッシュ値からなる
ように構成したので、検索効率の高い検索方法を得るこ
とができる。
Further, since the key value is constituted by the hash value of the key, a search method with high search efficiency can be obtained.

【0076】さらにまた、テーブルはグループを分割し
た後のグループにフラグを設定するように構成したの
で、検索効率の高い検索方法を得ることができる。
Furthermore, since the table is configured to set a flag for the group after the group is divided, a search method with high search efficiency can be obtained.

【0077】また、テーブルごとに一定件数を設定する
ように構成したので、検索効率の高い検索方法を得るこ
とができる。
Further, since a fixed number is set for each table, a search method with high search efficiency can be obtained.

【0078】さらに、テーブルは予め設定されたフィー
ルドの第1のテーブルと予め設定されたフィールドの第
2のテーブルからなり、対応するそれぞれのキー値のA
ND条件でグループのレコードを検索するように構成し
たので、検索効率の高い検索方法を得ることができる。
Further, the table is composed of a first table of preset fields and a second table of preset fields.
Since the group records are searched under the ND condition, a search method with high search efficiency can be obtained.

【0079】また、レコードの予め設定されたフィール
ドのグループごとに取り得るフィールド値を列挙してテ
ーブルを生成し、上記フィールド値に対応するグループ
のレコードを検索する様に構成したので、検索効率の高
い検索方法を得ることができる。
Further, a table is generated by listing field values that can be taken for each group of preset fields of the record, and the record of the group corresponding to the above-mentioned field value is searched. A high search method can be obtained.

【0080】さらにまた、パケットディレクトリからハ
ッシュ値に対応するデータ領域へのポインタを取得し、
そのポインタの示すグループのレコードを検索するよう
に構成したので、検索効率の高い検索方法を得ることが
できる。
Further, a pointer to a data area corresponding to the hash value is obtained from the packet directory,
Since the record of the group indicated by the pointer is configured to be searched, a search method with high search efficiency can be obtained.

【0081】また、フィールドのキー値を第1のハッシ
ュ関数にかけて得られたハッシュ値に分類された上記キ
ー値を第2のハッシュ関数にかけてハッシュ値を取得す
るように構成したので、検索効率の高い検索方法を得る
ことができる。
Further, since the key value classified into the hash value obtained by applying the key value of the field to the first hash function is applied to the second hash function to obtain the hash value, the retrieval efficiency is improved. You can get a search method.

【0082】さらに、ポインタの示すグループのレコー
ドを予め設定されたフィールドのキー値を含む上記グル
ープの各レコードごとにフラグを設定したテーブルに基
き上記グループのレコードを検索するように構成したの
で、検索効率の高い検索方法を得ることができる。
Further, since the record of the group indicated by the pointer is configured to be searched based on a table in which a flag is set for each record of the group including a key value of a field set in advance, the record of the group is searched. A highly efficient search method can be obtained.

【0083】また、転置ファイルのキー分類ディレクト
リから分類に対応するデータ領域へのポインタを取得
し、そのポインタの示すグループのレコードを検索する
ように構成したので、検索効率の高い検索方法を得るこ
とができる。
Further, since a pointer to the data area corresponding to the classification is obtained from the key classification directory of the transposed file and the record of the group indicated by the pointer is searched, a search method with high search efficiency can be obtained. Can be.

【0084】さらにまた、グループのデータ領域が全て
格納済みになったとき新たに1グループ分のデータ領域
を連続して設定するように構成したので、検索効率の高
い検索方法を得ることができる。
Furthermore, when all the data areas of the group have been stored, a new data area for one group is continuously set, so that a search method with high search efficiency can be obtained.

【0085】また、バランストリー構造における中間ノ
ードの最下位に位置する中間ノードのポインタの示すグ
ループのレコードを検索するように構成したので、検索
効率の高い検索方法を得ることができる。
Also, since the record of the group indicated by the pointer of the intermediate node located at the lowest position of the intermediate node in the balance tree structure is searched, a search method with high search efficiency can be obtained.

【0086】さらに、グループのデータ領域が全て格納
済みになったとき構成規則に従い中間ノードまたはルー
トノードを分割し新たなポインタを設定しそのポインタ
の示す1グループ分のデータ領域を設定するように構成
したので、検索効率の高い検索方法を得ることができ
る。
Further, when all the data areas of the group have been stored, the intermediate node or the root node is divided according to the configuration rule, a new pointer is set, and the data area for one group indicated by the pointer is set. Therefore, a search method with high search efficiency can be obtained.

【0087】また、転置ファイルのフィールドのキー値
をハッシュ関数にかけてハッシュ値を取得し、そのハッ
シュ値に対応したレコードのレコードIDが格納されて
いるレコードポインタ配列から上記ハッシュ値に対応す
るデータ領域へのポインタを取得し、そのポインタの示
す上記グループのレコードを検索するように構成したの
で、検索効率の高い検索方法を得ることができる。
The hash value is obtained by applying the key value of the field of the transposed file to the hash function, and the record area corresponding to the hash value is transferred from the record pointer array storing the record ID of the record corresponding to the hash value to the data area corresponding to the hash value. Is obtained and the record of the group indicated by the pointer is searched, so that a search method with high search efficiency can be obtained.

【0088】さらにまた、転置ファイルにおけるバラン
ストリー構造の索引のリーフノードの各キー値に対応す
るポインタを取得し、そのポインタの示すレコードポイ
ンタ配列の上記キー値に対応するレコードIDによるレ
コードを検索するように構成したので、検索効率の高い
検索方法を得ることができる。
Further, a pointer corresponding to each key value of the leaf node of the index of the balance tree structure in the transposed file is obtained, and a record is searched by the record ID corresponding to the key value in the record pointer array indicated by the pointer. With such a configuration, a search method with high search efficiency can be obtained.

【0089】また、転置ファイルにおいて、レコードの
フィールドのキー値を含むレコードにフラグを設定した
テーブルを上記グループごとに生成し、予め設定された
キー値に対応するレコードを検索するときはそのキー値
に対応するフラグが設定されている上記レコードを上記
グループごとに検索するように構成したので、検索効率
の高い検索方法を得ることができる。
In the transposed file, a table in which a flag is set for a record including a key value of a field of a record is generated for each group, and when a record corresponding to a preset key value is searched, the key value is used. Since the record in which the flag corresponding to is set is searched for each group, a search method with high search efficiency can be obtained.

【0090】さらに、転置ファイルにおいて、バランス
トリー構造のリーフノードの各キー値に対応するポイン
タを取得し、そのポインタの示すキー値に対応するフラ
グが設定されているグループのレコードを検索するよう
に構成したので、検索効率の高い検索方法を得ることが
できる。
Further, in the transposed file, a pointer corresponding to each key value of the leaf node of the balance tree structure is obtained, and a record of a group in which a flag corresponding to the key value indicated by the pointer is set is searched. With this configuration, a search method with high search efficiency can be obtained.

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

【図1】本発明の実施の形態1を示すビットマップ索引
付き転置ファイルの構成図である。
FIG. 1 is a configuration diagram of a transposed file with a bitmap index according to the first embodiment of the present invention.

【図2】本発明の実施の形態1を示すビットマップ索引
付き転置ファイルの読み込み処理フロー図である。
FIG. 2 is a flowchart of a reading process of an inverted file with a bitmap index according to the first embodiment of the present invention;

【図3】本発明の実施の形態1を示すグループを分割し
て作成したビットマップ索引を示す構成図である。
FIG. 3 is a configuration diagram showing a bitmap index created by dividing a group according to the first embodiment of the present invention;

【図4】本発明の実施の形態1を示すグループを分割し
て作成したビットマップ索引の読み込み模式図である。
FIG. 4 is a schematic diagram of reading a bitmap index created by dividing a group according to the first embodiment of the present invention;

【図5】本発明の実施の形態1を示す複数のビットマッ
プ索引の組み合わせを示す模式図である。
FIG. 5 is a schematic diagram showing a combination of a plurality of bitmap indexes according to the first embodiment of the present invention.

【図6】この発明の実施の形態2を示すデータ列挙型索
引付き転置ファイルの構成図である。
FIG. 6 is a configuration diagram of a data enumeration type indexed transposed file according to the second embodiment of the present invention.

【図7】この発明の実施の形態2を示すデータ列挙型索
引付き転置ファイルの読み込み処理フロー図である。
FIG. 7 is a flowchart of a reading process of a data enumeration type indexed transposed file according to the second embodiment of the present invention;

【図8】実施の形態1及び2の変形例を示すハッシュ値
ビットマップ索引付き転置ファイルの構成図である。
FIG. 8 is a configuration diagram of a transposition file with a hash value bitmap index showing a modification of the first and second embodiments.

【図9】本発明の実施の形態3を示す転置ハッシュファ
イルの構成図である。
FIG. 9 is a configuration diagram of an inverted hash file according to the third embodiment of the present invention.

【図10】本発明の実施の形態3を示すデータ領域に複
数のグループが含まれる転置ハッシュファイルの構成図
である。
FIG. 10 is a configuration diagram of an inverted hash file in which a data area includes a plurality of groups according to the third embodiment of the present invention.

【図11】本発明の実施の形態3を示す転置ハッシュフ
ァイルの読み込み処理フローである。
FIG. 11 is a flow of a process of reading an inverted hash file according to the third embodiment of the present invention.

【図12】本発明の実施の形態3を示す転置ハッシュフ
ァイルの読み込み模式図である。
FIG. 12 is a schematic diagram of reading an inverted hash file according to the third embodiment of the present invention.

【図13】本発明の実施の形態4を示す転置レンジファ
イルの構成図である。
FIG. 13 is a configuration diagram of an inverted range file according to the fourth embodiment of the present invention.

【図14】本発明の実施の形態4を示す転置レンジファ
イルの読み込み処理フロー図である。
FIG. 14 is a flowchart of a process of reading an inverted range file according to the fourth embodiment of the present invention.

【図15】実施の形態3及び4の変形例である転置分類
ファイルの構成図である。
FIG. 15 is a configuration diagram of a transposition classification file according to a modification of the third and fourth embodiments.

【図16】この発明の実施の形態5を示す転置B+Treeの
構成図である。
FIG. 16 is a configuration diagram of a transposed B + Tree showing the fifth embodiment of the present invention.

【図17】この発明の実施の形態5を示す転置B+Treeの
読み込み処理フロー図である。
FIG. 17 is a flowchart illustrating a transposed B + Tree reading process according to the fifth embodiment of the present invention;

【図18】この発明の実施の形態5の変形例であるハッ
シュTreeの構成図である。
FIG. 18 is a configuration diagram of a hash tree that is a modification of the fifth embodiment of the present invention.

【図19】本発明の実施の形態6を示すハッシュ索引付
き転置ファイルの構成図である。
FIG. 19 is a configuration diagram of an inverted file with a hash index according to the sixth embodiment of the present invention.

【図20】本発明の実施の形態7を示すB+Treer索引付
き転置ファイルの構成図である。
FIG. 20 is a configuration diagram of a B + Treer indexed transposed file according to the seventh embodiment of the present invention.

【図21】本発明の実施の形態6及び7の変形例である
レコード単位のビットマップ索引を示す構成図である。
FIG. 21 is a configuration diagram showing a bitmap index for each record, which is a modification of the sixth and seventh embodiments of the present invention.

【図22】ハッシュファイルとビットマップ索引の組み
合わせを示す模式図である。
FIG. 22 is a schematic diagram showing a combination of a hash file and a bitmap index.

【図23】ビットマップ索引とB+Tree索引の組み合わせ
を示す模式図である。
FIG. 23 is a schematic diagram showing a combination of a bitmap index and a B + Tree index.

【図24】従来のハッシュファイルの構成図を示す。FIG. 24 shows a configuration diagram of a conventional hash file.

【図25】従来のハッシュファイルを示す。FIG. 25 shows a conventional hash file.

【図26】従来のB+Treeを示す。FIG. 26 shows a conventional B + Tree.

【図27】従来のビットマップ索引を示す。FIG. 27 shows a conventional bitmap index.

【図28】従来の転置ファイルを示す。FIG. 28 shows a conventional transposition file.

【図29】従来の転置ファイル読み込みを示す模式図で
ある。
FIG. 29 is a schematic diagram showing conventional transposition file reading.

【図30】従来の転置ファイルに最大値・最小値を用い
た構成図である。
FIG. 30 is a configuration diagram using a maximum value / minimum value for a conventional transposition file.

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

1:元ファイル 2:フィールド 3:レコード 4:ブロック 5:グループ 6:転置ファイル 31:キー値 33:データ領域 1: Original file 2: Field 3: Record 4: Block 5: Group 6: Inverted file 31: Key value 33: Data area

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】 元ファイルから入力されたレコードのフ
ィールドの値に基き分類しそれらの分類ごとに上記レコ
ードを格納する領域を示すポインタを設定する索引部、
この索引部により分類された上記レコードの予め設定し
た一定件数を各フィールドごとに分割してブロックとし
て上記ポインタの示す領域に格納し、それらの分割した
各ブロックを全て連結してグループに再編成し、上記レ
コードの全件について上記グループに再編成後それらの
グループを連結した転置ファイルから構成されることを
特徴とするデータファイル。
An index unit for classifying based on field values of a record input from an original file and setting a pointer indicating an area for storing the record for each of the classifications;
A predetermined number of records of the records classified by the index part are divided for each field, stored as blocks in the area indicated by the pointer, and all the divided blocks are connected and reorganized into a group. And a data file comprising an inverted file in which all the records are reorganized into the groups and connected to the groups.
【請求項2】 複数のフィールドから構成されるレコー
ドを複数格納した元ファイルから上記フィールドの予め
設定した一定件数を上記元ファイルから分割してブロッ
クとし、それらの分割した各ブロックを全て連結してグ
ループに再編成し、上記レコードの全件について上記グ
ループに再編成後それらのグループを連結した転置ファ
イル、上記フィールドの値に基き分類しそれらの分類ご
とに上記レコードの格納領域を示す配列のアドレスが格
納された第1の索引部、上記アドレスごとに分類された
レコードの格納場所を示すレコードIDが格納された複
数の配列からなる第2の索引部から構成されることを特
徴とするデータファイル。
2. A method according to claim 1, wherein a predetermined number of fields in said field are divided from said original file into blocks, and said divided blocks are connected to each other. An inverted file in which the records are reorganized into groups and all of the records are reorganized into the groups after the reorganization into the groups, and an address of an array indicating the storage area of the records for each of the classifications classified based on the values of the fields. A data file comprising: a first index unit storing a plurality of arrays in which record IDs indicating storage locations of records classified by the addresses are stored; .
【請求項3】 複数のフィールドから構成されるレコー
ドを複数格納した元ファイルから上記フィールドの予め
設定した一定件数を上記元ファイルから分割してブロッ
クとし、それらの分割した各ブロックを全て連結してグ
ループに再編成し、上記レコードの全件について上記グ
ループに再編成後それらのグループを連結した転置ファ
イルにおいて、上記レコードの予め設定されたフィール
ドのキー値を含む上記グループにフラグを設定したテー
ブルを生成し、予め設定されたキー値に対応するレコー
ドを検索するときはそのキー値に対応するフラグが設定
されている上記グループのレコードを検索することを特
徴とするデータ検索方法。
3. An original file storing a plurality of records composed of a plurality of fields, dividing a predetermined number of predetermined fields in the field from the original file into blocks, and connecting all of the divided blocks. In a transposed file in which the records are reorganized into groups and all the records are reorganized into the groups after the reorganization into the groups, a table in which flags are set for the groups including key values of preset fields of the records is stored. A data search method comprising: generating a record corresponding to a preset key value; and searching a record of the group in which a flag corresponding to the key value is set.
【請求項4】 上記キー値はキーのハッシュ値からなる
ことを特徴とする請求項3記載のデータ検索方法。
4. The data search method according to claim 3, wherein said key value comprises a hash value of the key.
【請求項5】 上記テーブルは上記グループを分割した
後のグループに上記フラグを設定したことを特徴とする
請求項3又は請求項4に記載のデータ検索方法。
5. The data search method according to claim 3, wherein the flag is set in the group after the group is divided in the table.
【請求項6】 上記テーブルごとに上記一定件数を設定
することを特徴とする請求項3又は請求項4に記載のデ
ータ検索方法。
6. The data search method according to claim 3, wherein the fixed number is set for each of the tables.
【請求項7】 上記テーブルは予め設定されたフィール
ドの第1のテーブルと予め設定されたフィールドの第2
のテーブルからなり、上記第1のテーブル及び第2のテ
ーブルそれぞれのテーブルに共通するグループの対応す
るそれぞれのキー値のAND条件で上記グループのレコ
ードを検索することを特徴とする請求項3〜請求項6の
いずれかに記載のデータ検索方法。
7. The method according to claim 1, wherein the table is a first table of predetermined fields and a second table of predetermined fields.
The record of the said group is searched by the AND condition of each corresponding key value of the group common to each of said 1st table and said 2nd table. Item 7. The data search method according to any one of Items 6.
【請求項8】 複数のフィールドから構成されるレコー
ドを複数格納した元ファイルから上記フィールドの予め
設定した一定件数を上記元ファイルから分割してブロッ
クとし、それらの分割した各ブロックを全て連結してグ
ループに再編成し、上記レコードの全件について上記グ
ループに再編成後それらのグループを連結した転置ファ
イルにおいて、上記レコードの予め設定されたフィール
ドのグループごとに取り得るフィールド値を列挙してテ
ーブルを生成し、上記フィールド値に対応するグループ
のレコードを検索することを特徴とするデータ検索方
法。
8. An original file storing a plurality of records composed of a plurality of fields, dividing a predetermined number of predetermined fields in the field from the original file into blocks, and connecting all of the divided blocks. In a transposed file in which all the records are reorganized into groups and all the records are reorganized into the groups and the groups are connected, the table lists the field values that can be taken for each group of the preset fields of the records, and creates a table. A data search method, comprising: generating and searching a record of a group corresponding to the field value.
【請求項9】 元ファイルから入力されたレコードの予
め設定されたフィールドのキー値をハッシュ関数にかけ
てハッシュ値を取得し、上記フィールドを含むレコード
の予め設定した一定件数を各フィールドごとに分割して
ブロックとして上記ハッシュ値に対応するデータ領域に
格納し、それらの分割した各ブロックを全て連結してグ
ループに再編成し、上記レコードの全件について上記グ
ループに再編成後それらのグループを連結した転置ファ
イルにおいて、パケットディレクトリから上記ハッシュ
値に対応するデータ領域へのポインタを取得し、そのポ
インタの示す上記グループのレコードを検索することを
特徴とするデータ検索方法。
9. A hash value is obtained by applying a key value of a predetermined field of a record of a record input from an original file to a hash function, and a predetermined fixed number of records including the field is divided for each field. Stored as a block in the data area corresponding to the hash value, connected all the divided blocks, reorganized them into groups, and reorganized all of the records into the groups after reorganization into the groups. A data search method comprising: obtaining a pointer to a data area corresponding to the hash value from a packet directory in a file; and searching a record of the group indicated by the pointer.
【請求項10】 上記元ファイルから入力されたレコー
ドの予め設定されたフィールドのキー値を第1のハッシ
ュ関数にかけて得られたハッシュ値に分類された上記キ
ー値を第2のハッシュ関数にかけてハッシュ値を取得す
ることを特徴とする請求項9記載のデータ検索方法。
10. A hash value obtained by subjecting a key value of a preset field of a record input from the original file to a hash value obtained by subjecting the key value to a first hash function and subjecting the key value to a second hash function. 10. The data search method according to claim 9, further comprising:
【請求項11】 上記ポインタの示す上記グループのレ
コードを予め設定されたフィールドのキー値を含む上記
グループの各レコードごとにフラグを設定したテーブル
に基き上記グループのレコードを検索することを特徴と
する請求項9記載のデータ検索方法。
11. The record of the group indicated by the pointer is searched based on a table in which a flag is set for each record of the group including a key value of a preset field. The data search method according to claim 9.
【請求項12】 元ファイルから入力されたレコードの
予め設定されたフィールドのキー値の分類を判定し、上
記フィールドを含むレコードの予め設定した一定件数を
各フィールドごとに分割してブロックとして上記分類に
対応するデータ領域に格納し、それらの分割した各ブロ
ックを全て連結してグループに再編成し、上記レコード
の全件について上記グループに再編成後それらのグルー
プを連結した転置ファイルにおいて、キー分類ディレク
トリから上記分類に対応するデータ領域へのポインタを
取得し、そのポインタの示す上記グループのレコードを
検索することを特徴とするデータ検索方法。
12. A classification of a key value of a preset field of a record input from a source file is determined, and a preset fixed number of records including the field are divided for each field and classified as blocks. Are stored in the data area corresponding to the above, all the divided blocks are connected and reorganized into a group, and all the records are reorganized into the group after the reorganization into the group, and the key classification is performed in the transposed file in which the groups are connected. A data retrieval method, comprising: acquiring a pointer to a data area corresponding to the classification from a directory; and retrieving a record of the group indicated by the pointer.
【請求項13】 上記グループのデータ領域が全て格納
済みになったとき新たに1グループ分のデータ領域を連
続して設定することを特徴とする請求項11又は請求項
12に記載のデータ検索方法。
13. The data search method according to claim 11, wherein when all the data areas of the group have been stored, a new data area for one group is continuously set. .
【請求項14】 元ファイルから入力されたレコードの
予め設定されたフィールドのキー値をルートノードのキ
ー値と比較しバランストリー構造の構成規則により中間
ノードに移り、その中間ノードにて順次予め設定された
キー値との比較及びその結果に基く次ノードへの移行を
繰り返し、上記フィールドを含むレコードの予め設定し
た一定件数を各フィールドごとに分割してブロックとし
てリーフノードのデータ領域に格納し、それらの分割し
た各ブロックを全て連結してグループに再編成し、上記
レコードの全件について上記グループに再編成後それら
のグループを連結した転置ファイルにおいて、上記中間
ノードの最下位に位置する中間ノードのポインタの示す
上記グループのレコードを検索することを特徴とするデ
ータ検索方法。
14. A key value of a preset field of a record input from an original file is compared with a key value of a root node, and is shifted to an intermediate node according to a configuration rule of a balance tree structure, and is sequentially set in the intermediate node. The comparison with the key value and the transition to the next node based on the result are repeated, a predetermined number of records including the above-mentioned fields are divided for each field and stored in the data area of the leaf node as a block, An intermediate node located at the lowest level of the intermediate node in a transposed file in which all of the divided blocks are connected and reorganized into a group, and all the records are reorganized into the group and then connected to the group. A data search method for searching records in the group indicated by the pointer.
【請求項15】 上記グループのデータ領域が全て格納
済みになったとき上記構成規則に従い上記中間ノードま
たは上記ルートノードを分割し新たなポインタを設定し
そのポインタの示す1グループ分のデータ領域を設定す
ることを特徴とする請求項14記載のデータ検索方法。
15. When all the data areas of the group have been stored, the intermediate node or the root node is divided according to the configuration rule, a new pointer is set, and a data area for one group indicated by the pointer is set. The data search method according to claim 14, wherein the data search is performed.
【請求項16】 複数のフィールドから構成されるレコ
ードを複数格納した元ファイルから上記フィールドの予
め設定した一定件数を上記元ファイルから分割してブロ
ックとし、それらの分割した各ブロックを全て連結して
グループに再編成し、上記レコードの全件について上記
グループに再編成後それらのグループを連結した転置フ
ァイルにおいて、上記フィールドのキー値をハッシュ関
数にかけてハッシュ値を取得し、そのハッシュ値に対応
したレコードのレコードIDが格納されているレコード
ポインタ配列から上記ハッシュ値に対応するデータ領域
へのポインタを取得し、そのポインタの示す上記グルー
プのレコードを検索することを特徴とするデータ検索方
法。
16. An original file storing a plurality of records composed of a plurality of fields, a predetermined number of the fields are divided from the original file into blocks, and all of the divided blocks are connected. After reorganizing into groups and reorganizing all of the records into the above groups and linking those groups, a hash function is applied to the key values of the above fields to obtain a hash value, and a record corresponding to the hash value is obtained. Acquiring a pointer to a data area corresponding to the hash value from a record pointer array in which the record ID is stored, and searching for a record of the group indicated by the pointer.
【請求項17】 複数のフィールドから構成されるレコ
ードを複数格納した元ファイルから上記フィールドの予
め設定した一定件数を上記元ファイルから分割してブロ
ックとし、それらの分割した各ブロックを全て連結して
グループに再編成し、上記レコードの全件について上記
グループに再編成後それらのグループを連結した転置フ
ァイルにおいて、バランストリー構造の索引のリーフノ
ードの各キー値に対応するポインタを取得し、そのポイ
ンタの示すレコードポインタ配列の上記キー値に対応す
るレコードIDによる上記レコードを検索することを特
徴とするデータ検索方法。
17. A pre-determined fixed number of the above fields are divided into blocks from an original file storing a plurality of records composed of a plurality of fields from the original file, and all the divided blocks are connected. In the transposed file in which the records are reorganized into groups and all the records are reorganized into the groups and the groups are connected, pointers corresponding to the respective key values of the leaf nodes of the index of the balance tree structure are obtained, and the pointers are obtained. A data search method for searching for the record by a record ID corresponding to the key value of the record pointer array indicated by the following.
【請求項18】 複数のフィールドから構成されるレコ
ードを複数格納した元ファイルから上記フィールドの予
め設定した一定件数を上記元ファイルから分割してブロ
ックとし、それらの分割した各ブロックを全て連結して
グループに再編成し、上記レコードの全件について上記
グループに再編成後それらのグループを連結した転置フ
ァイルにおいて、上記レコードのフィールドのキー値を
含む上記レコードにフラグを設定したテーブルを上記グ
ループごとに生成し、予め設定されたキー値に対応する
レコードを検索するときはそのキー値に対応するフラグ
が設定されている上記レコードを上記グループごとに検
索することを特徴とするデータ検索方法。
18. An original file storing a plurality of records each consisting of a plurality of fields, a predetermined number of records in the field are divided from the original file into blocks, and all of the divided blocks are connected. In a transposed file in which all the records are reorganized into groups and the groups are linked after reorganization into the groups, a table in which flags are set for the records including the key values of the fields of the records is set for each of the groups. A data search method comprising: generating a record corresponding to a preset key value; and searching for the record in which a flag corresponding to the key value is set for each of the groups.
【請求項19】 複数のフィールドから構成されるレコ
ードを複数格納した元ファイルから上記フィールドの予
め設定した一定件数を上記元ファイルから分割してブロ
ックとし、それらの分割した各ブロックを全て連結して
グループに再編成し、上記レコードの全件について上記
グループに再編成後それらのグループを連結した転置フ
ァイルにおいて、バランストリー構造のリーフノードの
各キー値に対応するポインタを取得し、そのポインタの
示すキー値に対応するフラグが設定されている上記グル
ープの上記レコードを検索することを特徴とするデータ
検索方法。
19. An original file storing a plurality of records composed of a plurality of fields, dividing a predetermined number of predetermined fields in the field from the original file into blocks, and connecting all of the divided blocks. In the transposed file in which the records are reorganized into groups and all the records are reorganized into the groups and the groups are connected, the pointers corresponding to the respective key values of the leaf nodes of the balance tree structure are obtained and indicated by the pointers. A data search method comprising: searching for the record in the group in which a flag corresponding to a key value is set.
JP21675699A 1999-07-30 1999-07-30 Data file system and data retrieval method Expired - Fee Related JP3318834B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21675699A JP3318834B2 (en) 1999-07-30 1999-07-30 Data file system and data retrieval method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21675699A JP3318834B2 (en) 1999-07-30 1999-07-30 Data file system and data retrieval method

Publications (2)

Publication Number Publication Date
JP2001043237A true JP2001043237A (en) 2001-02-16
JP3318834B2 JP3318834B2 (en) 2002-08-26

Family

ID=16693436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21675699A Expired - Fee Related JP3318834B2 (en) 1999-07-30 1999-07-30 Data file system and data retrieval method

Country Status (1)

Country Link
JP (1) JP3318834B2 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316817A (en) * 2002-04-23 2003-11-07 Sc Grainger Co Ltd Researching method, researching device, researching system, computer program and recording medium
JP2007531115A (en) * 2004-03-26 2007-11-01 オラクル インターナショナル コーポレーション Database management system with persistent and user accessible bitmap values
JP2007317138A (en) * 2006-05-29 2007-12-06 Nomura Research Institute Ltd Data storage system, file retrieval device, and program
JP2010262379A (en) * 2009-04-30 2010-11-18 Nippon Telegr & Teleph Corp <Ntt> Information retrieval method, device, program, and computer-readable recording medium
JP2011233014A (en) * 2010-04-28 2011-11-17 Fujitsu Ltd Search program, search device, and search method
JP2011233016A (en) * 2010-04-28 2011-11-17 Fujitsu Ltd Management program, management device, and management method
JP2011233015A (en) * 2010-04-28 2011-11-17 Fujitsu Ltd Management program, management device, and management method
US8209297B2 (en) 2009-06-30 2012-06-26 Hitachi, Ltd. Data processing device and method
JP2012252658A (en) * 2011-06-06 2012-12-20 Fujitsu Ltd Retrieval program, retrieval method, retrieval device and node
JP2013003653A (en) * 2011-06-13 2013-01-07 Fujitsu Ltd Retrieval program, retrieval method, retrieval device, and node
JP2013525881A (en) * 2010-04-06 2013-06-20 ジャストワン・データベース・インコーポレイテッド Database model independent, schema independent and workload independent data storage and data storage and / or retrieval based on access model
KR20140014155A (en) * 2011-01-28 2014-02-05 아브 이니티오 테크놀로지 엘엘시 Generating data pattern information
KR101358793B1 (en) * 2012-07-20 2014-02-10 유넷시스템주식회사 Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium
US8959122B2 (en) 2010-03-08 2015-02-17 Hitachi, Ltd. Data processing device
US9323802B2 (en) 2003-09-15 2016-04-26 Ab Initio Technology, Llc Data profiling
US9323749B2 (en) 2012-10-22 2016-04-26 Ab Initio Technology Llc Profiling data with location information
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US9971798B2 (en) 2014-03-07 2018-05-15 Ab Initio Technology Llc Managing data profiling operations related to data type
CN108694229A (en) * 2017-04-10 2018-10-23 富士通株式会社 String data analytical equipment and string data analysis method
CN111258966A (en) * 2020-01-14 2020-06-09 软通动力信息技术有限公司 Data deduplication method, device, equipment and storage medium
JP2020528606A (en) * 2017-07-17 2020-09-24 アルテリックス インコーポレイテッド Performing hash joins using parallel processing
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods
JP2022522214A (en) * 2019-03-01 2022-04-14 アイオー タホ エルエルシー Data processing technology on the move
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
CN115309947A (en) * 2022-08-15 2022-11-08 北京欧拉认知智能科技有限公司 Method and system for realizing online analysis engine based on graph

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237723A (en) * 1988-03-17 1989-09-22 Sharp Corp Information registering and retrieving method
JPH03230270A (en) * 1990-02-05 1991-10-14 Nec Corp Keyword retrieving system
JPH05334165A (en) * 1992-05-29 1993-12-17 Hitachi Ltd Parallel data base processing system and its secondary key retrieving method
JPH07191891A (en) * 1993-10-20 1995-07-28 Microsoft Corp Computer method and storage structure for storage of, and access to, multidimensional data
JPH0962696A (en) * 1995-08-28 1997-03-07 Hitachi Ltd Data base managing system
JPH11154155A (en) * 1997-11-20 1999-06-08 Mitsubishi Electric Corp File managing method
JP2001022617A (en) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp File managing method
JP2001022622A (en) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp File managing method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237723A (en) * 1988-03-17 1989-09-22 Sharp Corp Information registering and retrieving method
JPH03230270A (en) * 1990-02-05 1991-10-14 Nec Corp Keyword retrieving system
JPH05334165A (en) * 1992-05-29 1993-12-17 Hitachi Ltd Parallel data base processing system and its secondary key retrieving method
JPH07191891A (en) * 1993-10-20 1995-07-28 Microsoft Corp Computer method and storage structure for storage of, and access to, multidimensional data
JPH0962696A (en) * 1995-08-28 1997-03-07 Hitachi Ltd Data base managing system
JPH11154155A (en) * 1997-11-20 1999-06-08 Mitsubishi Electric Corp File managing method
JP2001022617A (en) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp File managing method
JP2001022622A (en) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp File managing method

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316817A (en) * 2002-04-23 2003-11-07 Sc Grainger Co Ltd Researching method, researching device, researching system, computer program and recording medium
US9323802B2 (en) 2003-09-15 2016-04-26 Ab Initio Technology, Llc Data profiling
JP2007531115A (en) * 2004-03-26 2007-11-01 オラクル インターナショナル コーポレーション Database management system with persistent and user accessible bitmap values
JP2007317138A (en) * 2006-05-29 2007-12-06 Nomura Research Institute Ltd Data storage system, file retrieval device, and program
JP2010262379A (en) * 2009-04-30 2010-11-18 Nippon Telegr & Teleph Corp <Ntt> Information retrieval method, device, program, and computer-readable recording medium
US8209297B2 (en) 2009-06-30 2012-06-26 Hitachi, Ltd. Data processing device and method
US8959122B2 (en) 2010-03-08 2015-02-17 Hitachi, Ltd. Data processing device
US9965481B2 (en) 2010-04-06 2018-05-08 Edge Intelligence Software, Inc. Apparatus, systems and methods for data storage and/or retrieval based on a database model-agnostic, schema-agnostic and workload-agnostic data storage and access models
JP2013525881A (en) * 2010-04-06 2013-06-20 ジャストワン・データベース・インコーポレイテッド Database model independent, schema independent and workload independent data storage and data storage and / or retrieval based on access model
JP2011233014A (en) * 2010-04-28 2011-11-17 Fujitsu Ltd Search program, search device, and search method
JP2011233016A (en) * 2010-04-28 2011-11-17 Fujitsu Ltd Management program, management device, and management method
JP2011233015A (en) * 2010-04-28 2011-11-17 Fujitsu Ltd Management program, management device, and management method
KR101889120B1 (en) * 2011-01-28 2018-08-16 아브 이니티오 테크놀로지 엘엘시 Generating data pattern information
JP2014511587A (en) * 2011-01-28 2014-05-15 アビニシオ テクノロジー エルエルシー Generation of data pattern information
US9449057B2 (en) 2011-01-28 2016-09-20 Ab Initio Technology Llc Generating data pattern information
KR20140014155A (en) * 2011-01-28 2014-02-05 아브 이니티오 테크놀로지 엘엘시 Generating data pattern information
US9652513B2 (en) 2011-01-28 2017-05-16 Ab Initio Technology, Llc Generating data pattern information
JP2012252658A (en) * 2011-06-06 2012-12-20 Fujitsu Ltd Retrieval program, retrieval method, retrieval device and node
JP2013003653A (en) * 2011-06-13 2013-01-07 Fujitsu Ltd Retrieval program, retrieval method, retrieval device, and node
KR101358793B1 (en) * 2012-07-20 2014-02-10 유넷시스템주식회사 Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium
US10719511B2 (en) 2012-10-22 2020-07-21 Ab Initio Technology Llc Profiling data with source tracking
US9323748B2 (en) 2012-10-22 2016-04-26 Ab Initio Technology Llc Profiling data with location information
US9323749B2 (en) 2012-10-22 2016-04-26 Ab Initio Technology Llc Profiling data with location information
US9569434B2 (en) 2012-10-22 2017-02-14 Ab Initio Technology Llc Profiling data with source tracking
US9990362B2 (en) 2012-10-22 2018-06-05 Ab Initio Technology Llc Profiling data with location information
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US10241900B2 (en) 2013-02-01 2019-03-26 Ab Initio Technology Llc Data records selection
US11163670B2 (en) 2013-02-01 2021-11-02 Ab Initio Technology Llc Data records selection
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
US9971798B2 (en) 2014-03-07 2018-05-15 Ab Initio Technology Llc Managing data profiling operations related to data type
CN108694229A (en) * 2017-04-10 2018-10-23 富士通株式会社 String data analytical equipment and string data analysis method
JP2020528606A (en) * 2017-07-17 2020-09-24 アルテリックス インコーポレイテッド Performing hash joins using parallel processing
US11334524B2 (en) 2017-07-17 2022-05-17 Alteryx, Inc. Performing hash joins using parallel processing
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods
JP2022522214A (en) * 2019-03-01 2022-04-14 アイオー タホ エルエルシー Data processing technology on the move
JP7433335B2 (en) 2019-03-01 2024-02-19 ヒタチ ヴァンタラ エルエルシー Technology for processing data in motion
CN111258966A (en) * 2020-01-14 2020-06-09 软通动力信息技术有限公司 Data deduplication method, device, equipment and storage medium
CN115309947A (en) * 2022-08-15 2022-11-08 北京欧拉认知智能科技有限公司 Method and system for realizing online analysis engine based on graph

Also Published As

Publication number Publication date
JP3318834B2 (en) 2002-08-26

Similar Documents

Publication Publication Date Title
JP3318834B2 (en) Data file system and data retrieval method
US5710915A (en) Method for accelerating access to a database clustered partitioning
US7523288B2 (en) Dynamic fragment mapping
Sacks-Davis et al. A two level superimposed coding scheme for partial match retrieval
JP5377318B2 (en) Storage management of individually accessible data units
US7899796B1 (en) Batch automated blocking and record matching
US7702619B2 (en) Methods and systems for joining database tables using indexing data structures
JP3844370B2 (en) Computer method and storage structure for storing and accessing multidimensional data
US7287033B2 (en) Efficient traversals over hierarchical data and indexing semistructured data
JP2009543224A (en) Adaptive index with variable compression
US20220253419A1 (en) Multi-record index structure for key-value stores
JPH09245043A (en) Information retrieval device
Lu et al. Labeling and querying dynamic XML trees
US7313567B1 (en) Schemaless XML payload generation
US8745035B1 (en) Multistage pipeline for feeding joined tables to a search system
US10628396B1 (en) Batch automated blocking and record matching
KR20010109665A (en) Multi-Path Index Method for The Efficient Retrieval of XML Data
JPH11232283A (en) Information retrieving method
JP3980326B2 (en) Data management method and computer-readable recording medium
JPH10240741A (en) Managing method for tree structure type data
CN108959308A (en) A kind of reply can supplemental data indexing means
JPH11306183A (en) Data base retrieval system
JPS62287350A (en) Index integrally updating system
JPH06103134A (en) Constructing method for index
JPH05108717A (en) Index file structure and data base retrieving system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees