JP3318834B2 - データファイルシステム及びデータ検索方法 - Google Patents

データファイルシステム及びデータ検索方法

Info

Publication number
JP3318834B2
JP3318834B2 JP21675699A JP21675699A JP3318834B2 JP 3318834 B2 JP3318834 B2 JP 3318834B2 JP 21675699 A JP21675699 A JP 21675699A JP 21675699 A JP21675699 A JP 21675699A JP 3318834 B2 JP3318834 B2 JP 3318834B2
Authority
JP
Japan
Prior art keywords
record
records
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.)
Expired - Fee Related
Application number
JP21675699A
Other languages
English (en)
Other versions
JP2001043237A (ja
Inventor
茂伸 高山
光則 郡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Publication of JP2001043237A publication Critical patent/JP2001043237A/ja
Application granted granted Critical
Publication of JP3318834B2 publication Critical patent/JP3318834B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データベース管
理システムなど大量データを格納するシステムにおい
て、その大量のデータから必要なデータだけを効率よく
取り出す処理を目的としたデータファイル及びデータ検
索方法に関するものである。
【0002】
【従来の技術】従来のデータベース管理システムにおい
て、必要なデータだけを効率よく取り出すデータファィ
ルとしては、例えば日本コンピュータ協会「データベー
ス・システムの原理」49ページの図2.1に示されて
いるハッシュファイルや、B+Treeがあり、また、2次索
引としてハッシュ索引・B+Tree索引・ビットマップ索引
などを用いる検索方法などがある。
【0003】図24にハッシュファイルを示す。ハッシ
ュファイルは、ハッシュ関数・各ハッシュ値とそのハッ
シュ値をもつデータを格納するデータ領域情報を格納し
たパケットディレクトリからなるハッシュファイル索引
部32、おのおのハッシュ値に対応したレコードを格納す
るデータ領域33からなるハッシュファイルデータ部34か
ら構成される。レコード追加時には、投入レコード3の
キーフィールド31(FieldA)の値をハッシュ関数にかけて
ハッシュ値を取得し、パケットディレクトリを用いてハ
ッシュ値からそのレコードを格納するデータ領域33を求
めて格納する。作成されたハッシュファイルでは、各デ
ータ領域33には対応したハッシュ値をもつレコードのみ
が格納される。
【0004】図25では、売上表の商品番号をハッシュ
キーとして、ハッシュ関数はModulo5(5で割った余
り)とする。ハッシュ値は、0から4までの整数で、デー
タ部34のそれぞれのデータ領域33にはそれぞれのハッシ
ュ値に対応するデータが格納されている。
【0005】図26にB+Treeを示す。B+Treeの場合は、
ハッシュの代わりにキーフィールド31の値の範囲で格納
するデータ領域33を決める方法である。この場合も、索
引部32の領域とデータ部34の領域をあらかじめとってお
く。レコード追加時には、投入レコード3のキーフィー
ルド31(FieldA)の値をルートノードのキー値(この例で
は56)と比較する。ノードのキー値より大きいまたは同
じならば右のポインタが指す中間ノードへ、小さければ
左のポインタが指す中間ノードへ移る。その後も順次ノ
ードにあるキー値と比較を繰り返し、最終的にリーフノ
ード(リーフページ)の格納位置、すなわちデータ領域
33を決めるものである。データ領域内では、さらにレコ
ードをキーの昇順に格納する。何れの場合もクラスタ索
引であり、データの格納順と索引順序が同じになる。
【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となるレコードは含まない
事を示す。
【0007】上記いずれの場合も、データはディスク装
置内のデータ部34内のデータ領域にレコード単位にまと
めてレコード順に格納し、レコード内でもそのフィール
ドの定義順に格納している。
【0008】図24に示す様にハッシュファイルを用い
ることで、索引キーフィールド31(FieldA)がある特定の
値をもつレコードを読み出す際には、ハッシュ関数を使
用してその特定の値から対応するハッシュ値を求め、ハ
ッシュ値とパケットディレクトリからそのレコードを格
納したデータ領域33を特定し、必要なデータ領域33のみ
読み出せばよい。そのため読込むデータ量が減るので、
読込みにかかる時間を短縮でき、処理を効率化できる。
【0009】図26に示す様にB+Tree索引において
も、索引キーフィールド31(FieldA)がある特定の値をも
つレコードを読み出す際には、ルートノードのキー値と
その値を比較し、次にその比較結果から次の中間ノード
を特定し、さらにそれをリーフノードまで繰り返す事
で、そのレコードが含まれるデータ領域を特定できる。
そのため読込むデータ量が減るので、読込みにかかる時
間を短縮でき、処理を効率化できる。
【0010】図27に示す様にビットマップ索引におい
ては、索引キーフィールド31(FieldA)がある特定の値
をもつレコードを読み出す際には、その値のビットマッ
プを調べ、ビットの立っているデータ領域33のみ読めば
よい。そのため、ビットの立っているデータ領域の割合
が少ない場合には、読込むデータ量が減り、読込みにか
かる時間を短縮でき処理を効率化できる。
【0011】しかし、上記ハッシュファイルやB+Treeの
場合に、索引キーフィールド31の値が特定の値をもつレ
コードの、特定のフィールドのみ読み出したい場合で
も、キー値から特定したデータ領域33内のデータはレコ
ード単位にまとめてレコード順に格納されているため、
データ領域内の全フィールドを読みだす必要がある。図
24のハッシュファイルの例では、索引キーフィールド
31(FieldA)が特定の値(例えばハッシュ値が1)をと
るレコードのField2だけを読込みたい場合でも、ハッシ
ュ値1に対応するデータ領域33に含まれる全フィール
ド(Field1〜FieldNまで)を読まなくてはならない。す
なわち、処理に不要なフィールドも読込まなくてはなら
ないという問題点があった。
【0012】ビットマップ索引においても、索引キーフ
ィールド31の値が特定の値をもつレコードの、特定のフ
ィールドのみ読み出したい場合でも、索引キーフィール
ド31の値からビットマップを調べビットの立っている
データ領域33を特定できるが、ビットの立っているデー
タ領域内の全フィールドを読まなくてはならない。この
場合も、処理に不要なフィールドも読込まなくてはなら
ないという問題点があった。他の2次索引でも同様の問
題点があった。
【0013】また2次索引では、原理的には索引を生成
するフィールドのみ読込めば索引を生成できるが、ディ
スク装置内でデータがレコード順に格納され、レコード
内でもそのフィールド定義順に格納されているため、索
引を生成するフィールドのみ読込む事はできず、データ
領域内の全データを読み込む必要がある。そのため索引
生成に不要なデータまで読込まなくてはならないという
問題があった。
【0014】一方、特願平9−319527に示されて
いるように、データの格納順序を変えて、転置ファイル
を作成するファイル管理方法もある。図28を用いて、
転置ファイルを用いたファイル管理方法について説明す
る。1は複数のフィールド2から構成されるレコード3
を複数格納した元ファイルであり、各フィールドの予め
設定した一定件数、例えばLレコードを元ファイルから
分割してブロック4とする。転置ファイル6では、フィ
ールド1のブロックから順に格納して最後にフィールド
Nのブロックを格納する。フィールド1のブロックから
フィールドNのブロックまでを転置ファイル6上で再編
成したものをグループ5と呼ぶ。元ファイル1の全レコ
ード3について、上記グループ5に再編成して、それら
を連結することで転置ファイル6が生成される。
【0015】図29に示すとおり、転置ファイル6にお
いては処理に必要なフィールド2のみ読み出すことがで
きる。すなわち処理に必要なフィールド2から構成され
るブロック4のみをグループ5から読み出して入出力バ
ッファに格納することができる。この例では、Field1、
Field4 、Field99のブロックのみ入出力バッファに格
納している。このことで、入出力バッファのサイズの節
約およびI/O時間の短縮による処理の効率化をはかるこ
とができる。
【0016】図30に示すとおり、転置ファイル6を用
いたファイル管理方法では、さらに処理を高速化するた
めに、データ領域33ごとに全フィールドの最大値と最小
値を格納したり、レコードの投入順序を付加することが
述べられている。その場合に、特定のフィールド2(例
えばFieldA)が特定の値を持つレコードを読み出すため
には、各データ領域のそのフィールドの最大値と最小値
の間にその値が含まれるデータ領域のみ読込めばよい。
しかし、データが各データ領域33に均等に分散している
場合であれば、結果としてほとんどのデータ領域33を
読込まなくてはならなくなるという問題点があった。
【0017】
【発明が解決しようとする課題】従来のデータファイル
及び検索方法においては、例えば、キーの値がある特定
のレコードの特定のフィールドのみ読込むためにも、キ
ーの値からデータ領域33を特定後に、データ領域内の全
てのレコードの全てのフィールドを読まなくてはならな
いという問題点があった。また、2次索引生成において
も、索引生成に不要なフィールドまで読込まなくてはな
らないという問題点があった。一方、転置ファイルを用
いたファイル管理方法に示されているデータ管理方法に
おいて、キーの値がある特定のレコードの特定のフィー
ルドのみ読込む際に、キーの値が特定の値を持つレコー
ドまたは、そのレコードを含むデータ領域をうまく特定
できない場合があり、結果として処理に必要なフィール
ドに関して、全てのレコードから読込まなくてはならな
いという問題点があった。
【0018】この発明は、上記のような問題点を解消す
るためになされたもので、あるキー値を含むデータ領域
を特定する方法と、データ領域特定後は処理に必要なフ
ィールドのみを読込む事でディスク装置からの読み出し
にかかる時間を減らし、処理を効率化することを目的と
している。また、2次索引生成においても索引生成に必
要なフィールドのみ読込む事で、ディスク装置からの読
み出しにかかる時間を減らし、高速に索引を生成するこ
とを目的としている。
【0019】
【課題を解決するための手段】この発明に係るデータフ
ァイルは、元ファイルから入力されたレコードのフィー
ルドの値に基き分類しそれらの分類ごとに上記レコード
を格納する領域を示すポインタを設定する索引部、この
索引部により分類された上記レコードの予め設定した一
定件数を各フィールドごとに分割してブロックとして上
記ポインタの示す領域に格納し、それらの分割した各ブ
ロックを全て連結してグループに再編成し、上記レコー
ドの全件について上記グループに再編成後それらのグル
ープを連結した転置ファイルから構成されるものであ
る。
【0020】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイル、上記フィールドの値に基き分類しそれらの分
類ごとに上記レコードの格納領域を示す配列のアドレス
が格納された第1の索引部、上記アドレスごとに分類さ
れたレコードの格納場所を示すレコードIDが格納され
た複数の配列からなる第2の索引部から構成されるもの
である。
【0021】この発明に係るデータ検索方法は、複数の
フィールドから構成されるレコードを複数格納した元フ
ァイルから上記フィールドの予め設定した一定件数を上
記元ファイルから分割してブロックとし、それらの分割
した各ブロックを全て連結してグループに再編成し、上
記レコードの全件について上記グループに再編成後それ
らのグループを連結した転置ファイルにおいて、上記レ
コードの予め設定されたフィールドのキー値を含む上記
グループにフラグを設定したテーブルを生成し、予め設
定されたキー値に対応するレコードを検索するときはそ
のキー値に対応するフラグが設定されている上記グルー
プのレコードを検索するものである。
【0022】また、上記キー値はキーのハッシュ値から
なるものである。
【0023】さらに、上記テーブルは上記グループを分
割した後のグループに上記フラグを設定したものであ
る。
【0024】また、上記テーブルごとに上記一定件数を
設定するものである。
【0025】さらにまた、上記テーブルは予め設定され
たフィールドの第1のテーブルと予め設定されたフィー
ルドの第2のテーブルからなり、上記第1のテーブル及
び第2のテーブルそれぞれのテーブルに共通するグルー
プの対応するそれぞれのキー値のAND条件で上記グル
ープのレコードを検索するものである。
【0026】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイルにおいて、上記レコードの予め設定されたフィ
ールドのグループごとに取り得るフィールド値を列挙し
てテーブルを生成し、上記フィールド値に対応するグル
ープのレコードを検索するものである。
【0027】さらに、元ファイルから入力されたレコー
ドの予め設定されたフィールドのキー値をハッシュ関数
にかけてハッシュ値を取得し、上記フィールドを含むレ
コードの予め設定した一定件数を各フィールドごとに分
割してブロックとして上記ハッシュ値に対応するデータ
領域に格納し、それらの分割した各ブロックを全て連結
してグループに再編成し、上記レコードの全件について
上記グループに再編成後それらのグループを連結した転
置ファイルにおいて、パケットディレクトリから上記ハ
ッシュ値に対応するデータ領域へのポインタを取得し、
そのポインタの示す上記グループのレコードを検索する
ものである。
【0028】また、上記元ファイルから入力されたレコ
ードの予め設定されたフィールドのキー値を第1のハッ
シュ関数にかけて得られたハッシュ値に分類された上記
キー値を第2のハッシュ関数にかけてハッシュ値を取得
するものである。
【0029】さらにまた、上記ポインタの示す上記グル
ープのレコードを予め設定されたフィールドのキー値を
含む上記グループの各レコードごとにフラグを設定した
テーブルに基き上記グループのレコードを検索するもの
である。
【0030】また、元ファイルから入力されたレコード
の予め設定されたフィールドのキー値の分類を判定し、
上記フィールドを含むレコードの予め設定した一定件数
を各フィールドごとに分割してブロックとして上記分類
に対応するデータ領域に格納し、それらの分割した各ブ
ロックを全て連結してグループに再編成し、上記レコー
ドの全件について上記グループに再編成後それらのグル
ープを連結した転置ファイルにおいて、キー分類ディレ
クトリから上記分類に対応するデータ領域へのポインタ
を取得し、そのポインタの示す上記グループのレコード
を検索するものである。
【0031】さらに、上記グループのデータ領域が全て
格納済みになったとき新たに1グループ分のデータ領域
を連続して設定するものである。
【0032】また、元ファイルから入力されたレコード
の予め設定されたフィールドのキー値をルートノードの
キー値と比較しバランストリー構造の構成規則により中
間ノードに移り、その中間ノードにて順次予め設定され
たキー値との比較及びその結果に基く次ノードへの移行
を繰り返し、上記フィールドを含むレコードの予め設定
した一定件数を各フィールドごとに分割してブロックと
してリーフノードのデータ領域に格納し、それらの分割
した各ブロックを全て連結してグループに再編成し、上
記レコードの全件について上記グループに再編成後それ
らのグループを連結した転置ファイルにおいて、上記中
間ノードの最下位に位置する中間ノードのポインタの示
す上記グループのレコードを検索するものである。
【0033】さらにまた、上記グループのデータ領域が
全て格納済みになったとき上記構成規則に従い上記中間
ノードまたは上記ルートノードを分割し新たなポインタ
を設定しそのポインタの示す1グループ分のデータ領域
を設定するものである。
【0034】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイルにおいて、上記フィールドのキー値をハッシュ
関数にかけてハッシュ値を取得し、そのハッシュ値に対
応したレコードのレコードIDが格納されているレコー
ドポインタ配列から上記ハッシュ値に対応するデータ領
域へのポインタを取得し、そのポインタの示す上記グル
ープのレコードを検索するものである。
【0035】さらに、複数のフィールドから構成される
レコードを複数格納した元ファイルから上記フィールド
の予め設定した一定件数を上記元ファイルから分割して
ブロックとし、それらの分割した各ブロックを全て連結
してグループに再編成し、上記レコードの全件について
上記グループに再編成後それらのグループを連結した転
置ファイルにおいて、バランストリー構造の索引のリー
フノードの各キー値に対応するポインタを取得し、その
ポインタの示すレコードポインタ配列の上記キー値に対
応するレコードIDによる上記レコードを検索するもの
である。
【0036】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから上記フィールドの
予め設定した一定件数を上記元ファイルから分割してブ
ロックとし、それらの分割した各ブロックを全て連結し
てグループに再編成し、上記レコードの全件について上
記グループに再編成後それらのグループを連結した転置
ファイルにおいて、上記レコードのフィールドのキー値
を含む上記レコードにフラグを設定したテーブルを上記
グループごとに生成し、予め設定されたキー値に対応す
るレコードを検索するときはそのキー値に対応するフラ
グが設定されている上記レコードを上記グループごとに
検索するものである。
【0037】さらにまた、複数のフィールドから構成さ
れるレコードを複数格納した元ファイルから上記フィー
ルドの予め設定した一定件数を上記元ファイルから分割
してブロックとし、それらの分割した各ブロックを全て
連結してグループに再編成し、上記レコードの全件につ
いて上記グループに再編成後それらのグループを連結し
た転置ファイルにおいて、バランストリー構造のリーフ
ノードの各キー値に対応するポインタを取得し、そのポ
インタの示すキー値に対応するフラグが設定されている
上記グループの上記レコードを検索するものである。
【0038】
【発明の実施の形態】実施の形態1.図1は、この発明
の実施の形態1を示すビットマップ索引付き転置ファイ
ルを示すものである。このビットマップ索引は2次索引
であり、あらかじめ生成された転置ファイルに対して、
後からビットマップ索引を付加するものである。転置フ
ァイルは、複数のフィールドから構成されるレコードを
複数格納した元ファイルの、各フィールドの予め設定し
た一定件数、例えばMレコードを分割してブロック4を
構成し、各ブロックを連結してグループ5に再編成し、
元ファイルの全レコードについて上記グループに再編成
後それらのグループを連結して作成するものである。こ
の図は、フィールドおよびレコードが固定長の場合であ
る。
【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となるレ
コードは含まない場合である。同様にしてすべてのグル
ープに対してビットマップ索引を生成する。
【0040】図2は、ビットマップ索引付き転置ファイ
ルを用いて、索引キーフィールド31が特定の値をもつレ
コードを処理する時の読込みの処理フローを示すもの
で、読込みたい索引キーフィールドの値のビットマップ
を読込み(ステップS10)、グループのビットがONか調べ
る(ステップS11)。ビットがON(1)であれば、その
グループから処理に必要なフィールドのブロックを読込
み(ステップS12)、そのグループがビットマップ上の最
後のグループか調べ(ステップS13)、最後であれば処理
を終了する。最後のグループでない場合には、次のグル
ープのビットマップを読込む処理(ステップS10)から
繰り返す。ステップS11がNOであった場合つまりビッ
トがOFF(0)の時には、ステップS12はとばし、ステ
ップS13から処理を続ける。この処理フローはビットマ
ップをグループ単位に作成する場合である。
【0041】索引キーフィールド31が特定の値をもつ
レコードの特定のフィールドを読込む場合は、上記特定
の値のビットマップを調べてビットがON(1)になって
いるグループのグループ番号を取得し、そのグループの
なかの処理に必要なフィールドのブロックのみ読込めば
よいので、読み込み量を削減でき、読み込み時間を短縮
でき処理を効率化できる。また、小さい入出力バッファ
で処理できる効果もある。
【0042】更には、ビットマップ索引を生成する場合
に、転置ファイルになっているため索引生成に必要な索
引キーフィールドのブロックのみ読込めば生成できるの
で、レコード中の他のフィールドは読込む必要がなく、
通常の格納形式に比べて高速に生成できる効果を有す
る。
【0043】図1では、グループ単位にビットマップを
作成したが、複数のグループをまとめてビットマップ索
引を作成したり、一つのグループを複数に分割した単位
でビットマップ索引を生成することも可能である。図3
では、グループを二つに分割した単位にビットマップを
作成している。図4は、その場合の読み取りの模式図で
ある。グループの半分の単位にビットマップを作成した
ため、読み込みの単位もグループの半分となる。この図
では、キー値'd'のビットがON(1)になっている、グ
ループ2−1/2(グループ2の前半部分)のフィールドF
ield1、FieldA、FieldNを読込むことを示している。
【0044】ビットマップ索引ではOFF(0)になっ
ているビットの割合が多いほど処理を効率化できるた
め、ビットマップ索引生成の単位を調節する必要があ
る。ビットマップ索引生成単位の目安は、ビットマップ
索引生成単位に含まれるレコード数がビットマップ生成
フィールドのとりうる値の種類(カーディナリティ)と
同じまたはそれより少なくすればよい。そうすること
で、最低でも1つはOFF(0)のビットができる。図4
では、ブロックの半分単位でビットマップを生成するこ
とで、FieldAが'd'となるレコードを読込む場合には、
グループ番号2のデータ領域に関して後半部分(2/
2)を読む必要がなくなり、読込むデータ量を減らす効
果がある。
【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'となるレコードを含むことを示している。
【0046】図7は、データ列挙型索引付き転置ファイ
ルを用いて、索引キーフィールド31が特定の値をもつレ
コードを処理する時の読込みの処理フローを示すもの
で、グループのデータ列挙型索引を読込み(ステップS2
0)、読込みたい索引キーフィールドの値が列挙されて
いるか調べ (ステップS21)、列挙されていればそのグル
ープから処理に必要なフィールドのブロックを読込み
(ステップS22)、そのグループがデータ列挙索引上の最
後のグループか調べ(ステップS23)、最後であれば処理
を終了する。最後のグループでない場合には、次のグル
ープのデータ列挙型索引を読込む処理(ステップS20)
から繰り返す。ステップS21がNOであった場合つまり
データが列挙されていない時には、ステップS22はとば
し、ステップS23から処理を続ける。この処理フローは
索引対象領域をグループとした場合である。
【0047】索引キーフィールドが特定の値をもつレコ
ードの特定のフィールドを読込む場合は、上記特定の値
とデータ列挙索引に列挙されている値を比較し、その値
が含まれているグループから処理に必要な特定フィール
ドのブロックのみ読込めば良く、読み込み量を削減で
き、読み込み時間を短縮できるので処理を効率化でき
る。また、小さい入出力バッファで処理できる効果もあ
る。実施の形態1と実施の形態2は、いずれも転置ファ
イルのグループもしくはグループを結合または分割した
索引対象領域に、索引キーフィールドが特定の値をもつ
レコードが存在するかどうかを示した索引を利用して転
置ファイルを検索する方式である。これらの変形例とし
ては、より一般的に、索引キーフィールドのそれぞれの
値に対して、転置ファイルのグループもしくはグループ
を結合または分割したそれぞれの索引対象領域に存在す
る値と存在しない値もしくは、存在する可能性のある値
と存在する可能性のない値を判別する手段を提供する索
引を生成し、その索引を用いた転置ファイルの検索方式
として実施することが可能である。上記判別する手段と
しては例えば、索引キーフィールドの値そのものを保持
するのではなく、索引キーフィールドのそれぞれの値を
ある変換規則で変換した値を保持する方法が考えられ
る。図8では、索引キーフィールドのそれぞれの値をハ
ッシュ関数(Module5)にかけてハッシュ値を取得し、
索引対象領域ごとにハッシュ値を保持する方法を示して
いる。このような索引を用いることで、索引キーフィー
ルドが特定の値をもつレコードの特定のフィールドを読
込む際に、読込む必要のあるデータ領域を絞り込むこと
ができ、読み込み時間を短縮できるので処理を効率化で
きる。また、小さい入出力バッファで処理できる効果も
ある。 実施の形態3.図9は、この発明の実施の形態3を示す
転置ハッシュファイル生成方法を示すものである。転置
ハッシュファイルは、ハッシュ関数・各ハッシュ値とそ
のハッシュ値をもつデータを格納するデータ領域情報を
格納したパケットディレクトリから構成される転置ハッ
シュファイル索引部32、それぞれのハッシュ値に対応し
たレコードを格納するデータ領域からなる転置ハッシュ
ファイルデータ部34から構成される。この図は、データ
領域とグループ5が1対1に対応する場合である。レコ
ード追加時には、投入レコード3の索引キーフィールド3
1(FieldA)の値をハッシュ関数にかけてハッシュ値を取
得し、パケットディレクトリからハッシュ値に対応する
データ領域33へのポインタを取得し、そのレコードを格
納するデータ領域、すなわちグループ5を求めてレコー
ドを転置して順次追加して格納する。作成された転置ハ
ッシュファイルでは、各グループ5に対応したハッシュ
値をもつレコードがブロック4単位に転置されて格納さ
れている。
【0048】図10は、データ領域とグループ5が1対N
(N>= 1)に対応する場合の模式図である。転置ハッシ
ュファイルに新たにレコードを追加する時に、あたらに
レコードを追加するデータ領域のグループが一杯でレコ
ードを追加できない場合には、新たにグループ用の領域
を確保しパケットディレクトリ内のデータ領域情報に新
たに確保したグループ情報を書き加え、あらたに確保し
たグループの先頭に転置して格納する。この例は、ハッ
シュ値=0の領域が一杯になったために、2つ目のグル
ープを格納する領域を確保した場合である。1つのハッ
シュ値に対応するグループが複数ある場合に、パケット
ディレクトリには先頭のグループの情報(ポインタ)の
み格納し、各グループにヘッダ領域を設けてヘッダ領域
に次グループの情報(ポインタ)を格納してもよい。
【0049】転置ハッシュファイルを用いて、索引キー
フィールド31が特定の値をもつレコードを処理する時の
読込みの処理フローを図11に示す。読込みたい索引キ
ーフィールドの値からハッシュ関数を用いてハッシュ値
を取得し(ステップS1)、そのハッシュ値からデータ領域
のポインタを得るパケットディレクトリ情報を取得し
(ステップS2)、パケットディレクトリからグループ情報
を取得し(ステップS3)、グループ5のなかから処理に
必要なフィールド2のブロック4を読込み(ステップS
4)、そのグループがS2で求めたパケットディレクトリの
最後のグループか調べ(ステップS5)、最後であれば処
理を終了する。最後のグループでない場合には、次のグ
ループ情報を取得し(ステップS3)、処理を繰り返す。こ
のフローは、複数のグループ情報をパケットディレクト
リに格納する場合である。
【0050】図12は、転置ハッシュファイルからデー
タを読込む模式図である。転置ハッシュファイルでは、
索引キーフィールドが特定の値をもつレコードの特定の
フィールドを読む際に、上記特定の値からハッシュ関数
を用いて取得したハッシュ値(例えばハッシュ値が1)か
ら、そのレコードが含まれるデータ領域を特定し、その
データ領域内のグループ毎に特定のフィールド(例えば
Field1とFieldN)のブロックのみ読み出すことができる
ため、入出力バッファの節約および読込み処理の効率化
をはかることができる。 実施の形態4 図13は、本発明の実施の形態4を示す、転置レンジフ
ァイルを示すものである。転置レンジファイルは、キー
レンジ判定部と各キーレンジとそのキーレンジの値をも
つデータを格納するデータ領域情報を格納したキーレン
ジディレクトリから構成される転置レンジファイル索引
部32、それぞれのキーレンジに対応したレコードを格納
するデータ領域からなる転置レンジファイルデータ部34
から構成される。この図は、データ領域とグループ5が
1対1に対応する場合である。レコード追加時には、投
入レコード3の索引キーフィールド31(FieldA)の値が含
まれるキーレンジを特定し、キーレンジディレクトリか
ら対応するデータ領域33へのポインタを取得し、そのレ
コードを格納するデータ領域、すなわちグループ5を求
めてレコードを転置して順次追加して格納する。作成さ
れた転置レンジファイルでは、各グループ5には対応し
たキーレンジをもつレコードがブロック4単位に転置さ
れて格納されている。
【0051】レコード追加時にキーレンジに対応するデ
ータ領域があふれた場合は、新たにグループ用の領域を
確保し、キーレンジディレクトリに新たに確保したグル
ープ情報を追加後、新たに確保したグループの先頭から
転置して追加する。この場合は、データ領域とグループ
が1対N(N>=1)に対応する。1つのキーレンジに対応
するグループが複数ある場合に、キーレンジディレクト
リには先頭のグループの情報(ポインタ)のみ格納し、
各グループにヘッダ領域を設けてヘッダ領域に次グルー
プの情報(ポインタ)を格納してもよい。
【0052】キーレンジファイルを用いて、索引キーフ
ィールド31が特定の値をもつレコードを処理する時の読
込みの処理フローを図14に示す。索引キーフィールド
が特定の値であるレコードの特定のフィールドを読込む
ためには、索引キーフィールドの上記特定の値からレン
ジ判定部を用いてキーレンジを取得し(ステップS41)、
そのキーレンジからキーレンジディレクトリ情報を取得
し(ステップS42)、キーレンジディレクトリからグルー
プ情報を取得し(ステップS43)、グループ5のなかか
ら処理に必要なフィールド2のブロック4を読込み(ス
テップS44)、そのグループがS42で求めたキーレンジデ
ィレクトリの最後のグループか調べ(ステップS45)、最
後であれば処理を終了する。最後のグループでない場合
には、次のグループ情報を取得し(ステップS43)、処理
を繰り返す。
【0053】レコード追加時に対応するキーレンジが存
在しない場合は、新たなキーレンジを追加する。キーレ
ンジの追加は、新たにデータ領域(グループ)を一つ確
保し、キーレンジディレクトリに新たなキーレンジ用の
領域を確保して、追加するキーレンジと新たに確保した
データ領域の情報を追加して行なう。
【0054】転置レンジファイルでは、索引キーフィー
ルドが特定の値をもつレコードの特定のフィールドを読
む際に、上記特定の値からレンジ判定部を用いて取得し
たキーレンジ値から、そのレコードが含まれるデータ領
域を特定し、そのデータ領域内の特定のフィールドのブ
ロックのみ読み出すことができるため、入出力バッファ
の節約および読込み処理の効率化を図ることができる。
【0055】実施の形態3と実施の形態4は、何れも索
引キーフィールドの値でレコードを分類し、分類ごとに
格納するデータ領域を別けて、それぞれのレコードを転
置して格納したものである。これらの変形例としては、
より一般的に、索引キーフィールドの値でレコードを分
類する手段を提供する索引部と、分類ごとにデータを転
置して格納したデータ領域からなるデータ部から構成さ
れるデータ格納方式である。例えばレコードを分類する
手段として、索引キーフィールドの値をあらかじめ分類
しておいて、その分類にしたがってレコードを分類して
格納する方法がある。図15は、索引キーフィールドを
都道府県名とし、北海道・東北地方、関東地方、中部地
方などのように索引キーフィールドを分類しておき、そ
の分類ごとにデータ格納領域を用意して、レコードを都
道府県の属する地方別に格納する場合である。
【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を指す中間ノー
ドへ挿入する。
【0057】図17は、転置B+Treeを用いて、索引キー
フィールド31が特定の値をもつレコードを処理する時の
読込みの処理フローを示すもので、まず、読込みたい索
引キーフィールドの値をルートノードのキー値と比較し
(ステップS31)、上記構成規則(ホ)に従って次ノー
ドを取得する。取得した次ノードがリーフノードか調べ
(ステップS32)、リーフノードであれば、リーフノー
ドのグループから必要なブロックを読込み(ステップS3
4)、キー値に対応するグループが他にないか調べるた
めに、親ノードをもう一度調べて(ステップS35)、な
ければ終了する。あれば、次のリーフノードのグループ
から必要なブロックを読込みステップS35以降の処理を
繰り返す。ステップS32で次ノードがリーフノードでな
い場合は、中間ノードを読込み上記構成規則(ホ)に従
って次ノードを取得し(ステップS33)、次のノードを
読込みステップS32以降の処理を繰り返す。
【0058】転置ハッシュファイルと同様に、転置B+Tr
eeでも、索引キーフィールドが特定の値をもつレコード
の特定のフィールドを読む際に、索引キーフィールドの
値から索引部を利用してその値をもつレコードが含まれ
るデータ領域を特定し、そのデータ領域内の特定のフィ
ールドのブロックのみ読み出すことができるため、入出
力バッファの節約および読込み処理の効率化を図ること
ができる。
【0059】本実施の形態の変形例としてはより一般的
に、階層構造(木構造)をもった、索引キーフィールド
の値でレコードを分類する手段を提供する索引部と、分
類ごとにデータを転置して格納したデータ領域から構成
されるデータ格納方法である。図18は、階層構造(木
構造)をもった索引部として第1のハッシュ関数として
の「ハッシュ関数1」と第2のハッシュ関数としての
「ハッシュ関数2」との2階層の別々のハッシュ関数を
用いる場合を示している。また、住所を索引キーフィー
ルドとして索引を3階層にして、最上位レベルの分類と
して地方(関東地方、中部地方など)とし、中位レベル
の分類として都道府県とし、最下位レベルの分類として
市町村とし、レコードを市町村ごとに分類してそれぞれ
を転置して格納する方法もある。
【0060】このようなデータ格納方式にすることで、
索引キーフィールドが特定の値をもつレコードの特定の
フィールドを読む際に、上記特定の値から索引部を階層
的に用いてレコードが含まれるデータ領域を特定し、そ
のデータ領域内の特定のフィールドのブロックのみ読み
出すことができるため、入出力バッファの節約および 読込み処理の効率化をはかることができる。実施の形態
6.図19は、この発明の実施の形態6を示す、ハッシ
ュ索引付き転置ファイルである。この実施の形態6も実
施の形態1と同様2次索引であり、何らかの方法で生成
された転置ファイルに対して、後からハッシュ索引を付
加するものである。索引部は、ハッシュ関数、ハッシュ
値とレコードポインタ配列へのポインタを格納したパケ
ットディレクトリ、各ハッシュ値のレコードポインタ配
列から構成される。レコードポインタ配列には、各ハッ
シュ値に対応したレコードのレコードIDが格納されてい
る。各レコードIDは、(グループ番号・グループ内オフ
セット)の組で構成される。ハッシュ索引は、索引を生
成するフィールドのブロックを各グループから順次読込
み、ブロック内のフィールドの値ごとに、その値とハッ
シュ関数を利用してハッシュ値を取得し、取得したハッ
シュ値用のパケットディレクトリから、そのハッシュ値
用のレコードポインタ配列のアドレスを取得して、そこ
にレコードID(グループ番号・グループ内オフセット)を
追加して作成していき、この操作を全グループの対応す
るブロックについて行なって作成する。
【0061】転置ファイルにハッシュ索引を付加するこ
とで、索引キーフィールドが特定の値を持つレコードを
読み出す時には、その特定の値からハッシュ関数を用い
てハッシュ値を取得し、ハッシュ値から対応するパケッ
トディレクトリのレコードポインタ配列を取得し、そこ
に列挙されているレコード(または対応するグループ)
のみ読込めばよく、読込み時間を短縮して処理を効率化
できる。
【0062】実施の形態6では、レコードIDとして、
(グループ番号・グループ内オフセット)の組としたが、
読込み単位がブロックであるので、グループ内オフセッ
トを記述せず、グループ番号のみとして処理を効率化す
ることが可能である。
【0063】通常のファイルにハッシュ索引を付加する
場合は、全てのデータ領域の全てのフィールドを読込む
必要があるが、転置ファイルの場合には、索引を作成す
るフィールドのブロックのみ読込めばハッシュ索引をで
きるので、索引生成時間を短縮できる効果がある。 実施の形態7.図20は、この発明の実施の形態7を示
す、B+Tree索引付き転置ファイルである。この実施の形
態7も実施の形態1、6と同様2次索引であり、何らか
の方法で生成された転置ファイルに対して、後からB+Tr
ee索引を付加するものである。索引部は、1つのルート
ノード、0個以上の中間ノードと1つ以上のリーフノー
ドから構成され、ルートノードと中間ノードにはキー値
と次ノードへのポインタを格納し、リーフノードにはキ
ー値とそのキー値のレコードポインタIDを格納したレコ
ードポインタ配列へのポインタを格納する。レコードポ
インタ配列には、各キー値に対応したレコードのレコー
ドIDが格納されている。レコードIDは、(グループ番号
・グループ内オフセット)の組で構成される。
【0064】正整数dに対して、d次のB+Tree索引付き
転置ファイルの構成規則は、転置B+Treeのリーフノード
の規則(ニ)を除き実施の形態5と同様である。リーフ
ノードの構成規則は以下のとおりである。 (ニ ’) リーフノードには、i個(d <= i <= 2d)の
レコードポインタを格納したレコードポインタ配列を格
納する。B+Tree索引は、索引を生成するフィールドのブ
ロックを各グループから順次読込み、ブロック内のフィ
ールドの値ごとに、その値とルートノードのキー値を比
較し、実施の形態5の構成規則(ホ)に従って次ノード
を取得する。次ノードがリーフノードでなければ、リー
フノードになるまで繰り返す。キー値に対応するリーフ
ノードを取得したら、リーフノードからレコードポイン
タ配列を取得し、そこにレコードID(グループ番号・領
域内オフセット)を追加する。レコードポインタ配列に
格納されているレコード数が一杯(2d個)になったら構
成規則に従ってノードの分割が発生する。
【0065】転置ファイルに、B+Tree索引を付加するこ
とで、索引キーフィールドが特定の値を持つレコードを
読み出す時には、その特定の値をルートノードのキー値
と比較して次ノードを取得し、実施の形態5の構成規則
(ホ)に従って次ノードがリーフノードになるまで比較
を繰り返し、リーフノードから対応するレコードポイン
タ配列を取得し、そこに列挙されているグループのみ読
込めばよく、読込み時間を短縮して処理を効率化でき
る。
【0066】実施の形態7では、レコードIDとして、
(グループ番号・グループ内オフセット)の組としたが、
読込み単位がブロックであるので、グループ内オフセッ
トを記述せず、グループ番号のみとしても読み込み時間
を短縮することが可能である。
【0067】実施の形態6と形態7はいずれも、あらか
じめ存在する転置ファイルに対して、索引キーフィール
ドの値ごとに、レコードが格納されている場所を特定す
る手段を提供する索引を後から生成し、その索引を用い
てデータを検索する方法である。図21は、これらの変
形例としてレコードが格納されている場所を特定する手
段として、レコードIDごとに索引キーフィールドの値の
ビットマップを作成する方法を示している。また、B+Tr
ee以外の木構造の索引を用いる方法もある。
【0068】転置ファイルに、これらの索引を付加する
ことで、索引キーフィールドが特定の値を持つレコード
を読み出す時には、その特定の値から索引を用いてレコ
ードが格納されている場所を特定しそのレコードを含む
グループの特定のフィールドのブロックのみ読込めばよ
く、読込み時間を短縮して処理を効率化できる。
【0069】これまで述べてきた全ての実施の形態の変
形例としては、それらの組み合わを考えることができ
る。図22は、実施の形態3で示した転置ハッシュファ
イルとビットマップ索引の組み合わせを示すもので、ハ
ッシュファイルによって索引キーフィールドが特定の値
をもつレコードが存在するデータ領域を決定し、データ
領域内のそれぞれのレコードに対して、索引キーフィー
ルドの値をビットマップでもつことを示している。この
ことによって、索引キーフィールドが特定の値をもつレ
コードのランダムアクセスを効率的に行なうことができ
る。
【0070】図23は、実施の形態1で示したビットマ
ップ索引とB+Tree索引を組み合わせたもので、索引キー
フィールドが特定の値をもつレコードを検索する時の、
上記特定の値のビットマップを取得する部分にB+Tree索
引を用いることで、より効率的にビットマップを取得で
き処理を効率化できる。
【0071】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に示すような効果を奏する。
【0072】レコードを格納する領域を示すポインタを
設定する索引部により分類されたレコードの予め設定し
た一定件数を転置ファイルとして構成したので、検索時
の入出力効率が良く検索効率の高いデータファイルを得
ることができる。
【0073】また、転置ファイルのフィールドの値に基
き分類しそれらの分類ごとに配列のアドレスが格納され
た第1の索引部と、上記アドレスごとに分類されたレコ
ードIDが格納された複数の配列からなる第2の索引部
とにより構成したので、検索方法が可変で検索効率の高
いデータファイルを得ることができる。
【0074】さらに、転置ファィルのレコードの予め設
定されたフィールドのキー値を含むグループにフラグを
設定したテーブルを生成し、予め設定されたキー値に対
応するレコードを検索するときはそのキー値に対応する
フラグが設定されている上記グループのレコードを検索
するように構成したので、検索時に必要なフィールドの
み読込むことにより読み出しにかかる時間を減らすこと
ができる。
【0075】また、キー値はキーのハッシュ値からなる
ように構成したので、検索効率の高い検索方法を得るこ
とができる。
【0076】さらにまた、テーブルはグループを分割し
た後のグループにフラグを設定するように構成したの
で、検索効率の高い検索方法を得ることができる。
【0077】また、テーブルごとに一定件数を設定する
ように構成したので、検索効率の高い検索方法を得るこ
とができる。
【0078】さらに、テーブルは予め設定されたフィー
ルドの第1のテーブルと予め設定されたフィールドの第
2のテーブルからなり、対応するそれぞれのキー値のA
ND条件でグループのレコードを検索するように構成し
たので、検索効率の高い検索方法を得ることができる。
【0079】また、レコードの予め設定されたフィール
ドのグループごとに取り得るフィールド値を列挙してテ
ーブルを生成し、上記フィールド値に対応するグループ
のレコードを検索する様に構成したので、検索効率の高
い検索方法を得ることができる。
【0080】さらにまた、パケットディレクトリからハ
ッシュ値に対応するデータ領域へのポインタを取得し、
そのポインタの示すグループのレコードを検索するよう
に構成したので、検索効率の高い検索方法を得ることが
できる。
【0081】また、フィールドのキー値を第1のハッシ
ュ関数にかけて得られたハッシュ値に分類された上記キ
ー値を第2のハッシュ関数にかけてハッシュ値を取得す
るように構成したので、検索効率の高い検索方法を得る
ことができる。
【0082】さらに、ポインタの示すグループのレコー
ドを予め設定されたフィールドのキー値を含む上記グル
ープの各レコードごとにフラグを設定したテーブルに基
き上記グループのレコードを検索するように構成したの
で、検索効率の高い検索方法を得ることができる。
【0083】また、転置ファイルのキー分類ディレクト
リから分類に対応するデータ領域へのポインタを取得
し、そのポインタの示すグループのレコードを検索する
ように構成したので、検索効率の高い検索方法を得るこ
とができる。
【0084】さらにまた、グループのデータ領域が全て
格納済みになったとき新たに1グループ分のデータ領域
を連続して設定するように構成したので、検索効率の高
い検索方法を得ることができる。
【0085】また、バランストリー構造における中間ノ
ードの最下位に位置する中間ノードのポインタの示すグ
ループのレコードを検索するように構成したので、検索
効率の高い検索方法を得ることができる。
【0086】さらに、グループのデータ領域が全て格納
済みになったとき構成規則に従い中間ノードまたはルー
トノードを分割し新たなポインタを設定しそのポインタ
の示す1グループ分のデータ領域を設定するように構成
したので、検索効率の高い検索方法を得ることができ
る。
【0087】また、転置ファイルのフィールドのキー値
をハッシュ関数にかけてハッシュ値を取得し、そのハッ
シュ値に対応したレコードのレコードIDが格納されて
いるレコードポインタ配列から上記ハッシュ値に対応す
るデータ領域へのポインタを取得し、そのポインタの示
す上記グループのレコードを検索するように構成したの
で、検索効率の高い検索方法を得ることができる。
【0088】さらにまた、転置ファイルにおけるバラン
ストリー構造の索引のリーフノードの各キー値に対応す
るポインタを取得し、そのポインタの示すレコードポイ
ンタ配列の上記キー値に対応するレコードIDによるレ
コードを検索するように構成したので、検索効率の高い
検索方法を得ることができる。
【0089】また、転置ファイルにおいて、レコードの
フィールドのキー値を含むレコードにフラグを設定した
テーブルを上記グループごとに生成し、予め設定された
キー値に対応するレコードを検索するときはそのキー値
に対応するフラグが設定されている上記レコードを上記
グループごとに検索するように構成したので、検索効率
の高い検索方法を得ることができる。
【0090】さらに、転置ファイルにおいて、バランス
トリー構造のリーフノードの各キー値に対応するポイン
タを取得し、そのポインタの示すキー値に対応するフラ
グが設定されているグループのレコードを検索するよう
に構成したので、検索効率の高い検索方法を得ることが
できる。
【図面の簡単な説明】
【図1】本発明の実施の形態1を示すビットマップ索引
付き転置ファイルの構成図である。
【図2】本発明の実施の形態1を示すビットマップ索引
付き転置ファイルの読み込み処理フロー図である。
【図3】本発明の実施の形態1を示すグループを分割し
て作成したビットマップ索引を示す構成図である。
【図4】本発明の実施の形態1を示すグループを分割し
て作成したビットマップ索引の読み込み模式図である。
【図5】本発明の実施の形態1を示す複数のビットマッ
プ索引の組み合わせを示す模式図である。
【図6】この発明の実施の形態2を示すデータ列挙型索
引付き転置ファイルの構成図である。
【図7】この発明の実施の形態2を示すデータ列挙型索
引付き転置ファイルの読み込み処理フロー図である。
【図8】実施の形態1及び2の変形例を示すハッシュ値
ビットマップ索引付き転置ファイルの構成図である。
【図9】本発明の実施の形態3を示す転置ハッシュファ
イルの構成図である。
【図10】本発明の実施の形態3を示すデータ領域に複
数のグループが含まれる転置ハッシュファイルの構成図
である。
【図11】本発明の実施の形態3を示す転置ハッシュフ
ァイルの読み込み処理フローである。
【図12】本発明の実施の形態3を示す転置ハッシュフ
ァイルの読み込み模式図である。
【図13】本発明の実施の形態4を示す転置レンジファ
イルの構成図である。
【図14】本発明の実施の形態4を示す転置レンジファ
イルの読み込み処理フロー図である。
【図15】実施の形態3及び4の変形例である転置分類
ファイルの構成図である。
【図16】この発明の実施の形態5を示す転置B+Treeの
構成図である。
【図17】この発明の実施の形態5を示す転置B+Treeの
読み込み処理フロー図である。
【図18】この発明の実施の形態5の変形例であるハッ
シュTreeの構成図である。
【図19】本発明の実施の形態6を示すハッシュ索引付
き転置ファイルの構成図である。
【図20】本発明の実施の形態7を示すB+Treer索引付
き転置ファイルの構成図である。
【図21】本発明の実施の形態6及び7の変形例である
レコード単位のビットマップ索引を示す構成図である。
【図22】ハッシュファイルとビットマップ索引の組み
合わせを示す模式図である。
【図23】ビットマップ索引とB+Tree索引の組み合わせ
を示す模式図である。
【図24】従来のハッシュファイルの構成図を示す。
【図25】従来のハッシュファイルを示す。
【図26】従来のB+Treeを示す。
【図27】従来のビットマップ索引を示す。
【図28】従来の転置ファイルを示す。
【図29】従来の転置ファイル読み込みを示す模式図で
ある。
【図30】従来の転置ファイルに最大値・最小値を用い
た構成図である。
【符号の説明】
1:元ファイル 2:フィールド 3:レコード 4:ブロック 5:グループ 6:転置ファイル 31:キー値 33:データ領域
フロントページの続き (56)参考文献 特開2001−22622(JP,A) 特開2001−22617(JP,A) 特開 平11−154155(JP,A) 特開 平9−62696(JP,A) 特開 平7−191891(JP,A) 特開 平5−334165(JP,A) 特開 平3−230270(JP,A) 特開 平1−237723(JP,A) 平岡清一、郡光則,三菱”DIAPR ISM”の高速化技術,三菱電機技報, 日本,三菱電機エンジニアリング株式会 社,1998年11月25日,Vol.72,N o.11,pp.62−65,(CSDB 企 業技報1999−00008−008) 大久保英嗣、津田孝夫,階層転置型フ ァイルに基づく関係操作アルゴリズム, 情報処理学会論文誌,日本,社団法人情 報処理学会,1985年 1月15日,Vo l.26,No.1,130−147 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】 元ファイルから入力されたレコードのフ
    ィールドの値に基き分類しそれらの分類ごとに上記レコ
    ードを格納する領域を示すポインタを設定する索引部、
    この索引部により分類された上記レコードの予め設定し
    た一定件数を各フィールドごとに分割してブロックとし
    て上記ポインタの示す領域に格納し、それらの分割した
    各ブロックを全て連結してグループに再編成し、上記レ
    コードの全件について上記グループに再編成後それらの
    グループを連結した転置ファイルから構成されること
    を特徴とするデータファイルシステム
  2. 【請求項2】 複数のフィールドから構成されるレコー
    ドを複数格納した元ファイルから上記フィールドの予め
    設定した一定件数を上記元ファイルから分割してブロッ
    クとし、それらの分割した各ブロックを全て連結してグ
    ループに再編成し、上記レコードの全件について上記グ
    ループに再編成後それらのグループを連結した転置ファ
    イル、上記フィールドの値に基き分類しそれらの分類
    ごとに上記レコードの格納領域を示す配列のアドレスが
    格納された第1の索引部、上記アドレスごとに分類され
    たレコードの格納場所を示すレコードIDが格納された
    複数の配列からなる第2の索引部から構成されることを
    特徴とするデータファイルシステム
  3. 【請求項3】 複数のフィールドから構成されるレコー
    ドを複数格納した元ファイルから上記フィールドの予め
    設定した一定件数を上記元ファイルから分割してブロッ
    クとし、それらの分割した各ブロックを全て連結してグ
    ループに再編成し、上記レコードの全件について上記グ
    ループに再編成後それらのグループを連結した転置ファ
    イルにおいて、上記レコードの予め設定されたフィール
    ドのキー値を含む上記グループにフラグを設定したテー
    ブルを生成し、予め設定されたキー値に対応するレコー
    ドを検索するときはそのキー値に対応するフラグが設定
    されている上記グループのレコードを検索することを特
    徴とするデータ検索方法。
  4. 【請求項4】 上記キー値はキーのハッシュ値からなる
    ことを特徴とする請求項3記載のデータ検索方法。
  5. 【請求項5】 上記テーブルは上記グループを分割した
    後のグループに上記フラグを設定したことを特徴とする
    請求項3又は請求項4に記載のデータ検索方法。
  6. 【請求項6】 上記テーブルごとに上記一定件数を設定
    することを特徴とする請求項3又は請求項4に記載のデ
    ータ検索方法。
  7. 【請求項7】 上記テーブルは予め設定されたフィール
    ドの第1のテーブルと予め設定されたフィールドの第2
    のテーブルからなり、上記第1のテーブル及び第2のテ
    ーブルそれぞれのテーブルに共通するグループの対応す
    るそれぞれのキー値のAND条件で上記グループのレコ
    ードを検索することを特徴とする請求項3〜請求項6の
    いずれかに記載のデータ検索方法。
  8. 【請求項8】 複数のフィールドから構成されるレコー
    ドを複数格納した元ファイルから上記フィールドの予め
    設定した一定件数を上記元ファイルから分割してブロッ
    クとし、それらの分割した各ブロックを全て連結してグ
    ループに再編成し、上記レコードの全件について上記グ
    ループに再編成後それらのグループを連結した転置ファ
    イルにおいて、上記レコードの予め設定されたフィール
    ドのグループごとに取り得るフィールド値を列挙してテ
    ーブルを生成し、上記フィールド値に対応するグループ
    のレコードを検索することを特徴とするデータ検索方
    法。
  9. 【請求項9】 元ファイルから入力されたレコードの予
    め設定されたフィールドのキー値をハッシュ関数にかけ
    てハッシュ値を取得し、上記フィールドを含むレコード
    の予め設定した一定件数を各フィールドごとに分割して
    ブロックとして上記ハッシュ値に対応するデータ領域に
    格納し、それらの分割した各ブロックを全て連結してグ
    ループに再編成し、上記レコードの全件について上記グ
    ループに再編成後それらのグループを連結した転置ファ
    イルにおいて、上記ハッシュ値と上記データ領域のポイ
    ンタとを対応付けるパケットディレクトリから上記ハッ
    シュ値に対応するデータ領域へのポインタを取得し、そ
    のポインタの示す上記グループのレコードを検索するこ
    とを特徴とするデータ検索方法。
  10. 【請求項10】 上記元ファイルから入力されたレコー
    ドの予め設定されたフィールドのキー値を第1のハッシ
    ュ関数にかけて得られたハッシュ値に分類された上記キ
    ー値を第2のハッシュ関数にかけてハッシュ値を取得す
    ることを特徴とする請求項9記載のデータ検索方法。
  11. 【請求項11】 上記ポインタの示す上記グループのレ
    コードを予め設定されたフィールドのキー値を含む上記
    グループの各レコードごとにフラグを設定したテーブル
    に基き上記グループのレコードを検索することを特徴と
    する請求項9記載のデータ検索方法。
  12. 【請求項12】 元ファイルから入力されたレコードの
    予め設定されたフィールドのキー値の分類を判定し、上
    記フィールドを含むレコードの予め設定した一定件数を
    各フィールドごとに分割してブロックとして上記分類に
    対応するデータ領域に格納し、それらの分割した各ブロ
    ックを全て連結してグループに再編成し、上記レコード
    の全件について上記グループに再編成後それらのグルー
    プを連結した転置ファイルにおいて、上記分類に対応す
    るデータ領域のポインタを格納したキーレンジディレク
    トリから上記分類に対応するデータ領域へのポインタを
    取得し、そのポインタの示す上記グループのレコードを
    検索することを特徴とするデータ検索方法。
  13. 【請求項13】 上記グループのデータ領域が全て格納
    済みになったとき新たに1グループ分のデータ領域を連
    続して設定することを特徴とする請求項11又は請求項
    12に記載のデータ検索方法。
  14. 【請求項14】 元ファイルから入力されたレコードの
    予め設定されたフィールドのキー値をルートノードのキ
    ー値と比較しバランストリー構造の構成規則により中間
    ノードに移り、その中間ノードにて順次予め設定された
    キー値との比較及びその結果に基く次ノードへの移行を
    繰り返し、上記フィールドを含むレコードの予め設定し
    た一定件数を各フィールドごとに分割してブロックとし
    てリーフノードのデータ領域に格納し、それらの分割し
    た各ブロックを全て連結してグループに再編成し、上記
    レコードの全件について上記グループに再編成後それら
    のグループを連結した転置ファイルにおいて、上記中間
    ノードの最下位に位置する中間ノードのポインタの示す
    上記グループのレコードを検索することを特徴とするデ
    ータ検索方法。
  15. 【請求項15】 上記グループのデータ領域が全て格納
    済みになったとき上記構成規則に従い上記中間ノードま
    たは上記ルートノードを分割し新たなポインタを設定し
    そのポインタの示す1グループ分のデータ領域を設定す
    ることを特徴とする請求項14記載のデータ検索方法。
  16. 【請求項16】 複数のフィールドから構成されるレコ
    ードを複数格納した元ファイルから上記フィールドの予
    め設定した一定件数を上記元ファイルから分割してブロ
    ックとし、それらの分割した各ブロックを全て連結して
    グループに再編成し、上記レコードの全件について上記
    グループに再編成後それらのグループを連結した転置フ
    ァイルにおいて、上記フィールドのキー値をハッシュ関
    数にかけてハッシュ値を取得し、そのハッシュ値に対応
    したレコードのレコードIDが格納されているレコード
    ポインタ配列から上記ハッシュ値に対応するデータ領域
    へのポインタを取得し、そのポインタの示す上記グルー
    プのレコードを検索することを特徴とするデータ検索方
    法。
  17. 【請求項17】 複数のフィールドから構成されるレコ
    ードを複数格納した元ファイルから上記フィールドの予
    め設定した一定件数を上記元ファイルから分割してブロ
    ックとし、それらの分割した各ブロックを全て連結して
    グループに再編成し、上記レコードの全件について上記
    グループに再編成後それらのグループを連結した転置フ
    ァイルにおいて、バランストリー構造の索引のリーフノ
    ードの各キー値に対応するポインタを取得し、そのポイ
    ンタの示すレコードポインタ配列の上記キー値に対応す
    るレコードIDによる上記レコードを検索することを特
    徴とするデータ検索方法。
  18. 【請求項18】 複数のフィールドから構成されるレコ
    ードを複数格納した元ファイルから上記フィールドの予
    め設定した一定件数を上記元ファイルから分割してブロ
    ックとし、それらの分割した各ブロックを全て連結して
    グループに再編成し、上記レコードの全件について上記
    グループに再編成後それらのグループを連結した転置フ
    ァイルにおいて、上記レコードのフィールドのキー値を
    含む上記レコードにフラグを設定したテーブルを上記グ
    ループごとに生成し、予め設定されたキー値に対応する
    レコードを検索するときはそのキー値に対応するフラグ
    が設定されている上記レコードを上記グループごとに検
    索することを特徴とするデータ検索方法。
  19. 【請求項19】 複数のフィールドから構成されるレコ
    ードを複数格納した元ファイルから上記フィールドの予
    め設定した一定件数を上記元ファイルから分割してブロ
    ックとし、それらの分割した各ブロックを全て連結して
    グループに再編成し、上記レコードの全件について上記
    グループに再編成後それらのグループを連結した転置フ
    ァイルにおいて、バランストリー構造のリーフノードの
    各キー値に対応するポインタを取得し、そのポインタの
    示すキー値に対応するフラグが設定されている上記グル
    ープの上記レコードを検索することを特徴とするデータ
    検索方法。
JP21675699A 1999-07-30 1999-07-30 データファイルシステム及びデータ検索方法 Expired - Fee Related JP3318834B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21675699A JP3318834B2 (ja) 1999-07-30 1999-07-30 データファイルシステム及びデータ検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21675699A JP3318834B2 (ja) 1999-07-30 1999-07-30 データファイルシステム及びデータ検索方法

Publications (2)

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

Family

ID=16693436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21675699A Expired - Fee Related JP3318834B2 (ja) 1999-07-30 1999-07-30 データファイルシステム及びデータ検索方法

Country Status (1)

Country Link
JP (1) JP3318834B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316817A (ja) * 2002-04-23 2003-11-07 Sc Grainger Co Ltd 検索方法、検索装置、検索システム、コンピュータプログラム及び記録媒体
CN102982065B (zh) 2003-09-15 2016-09-21 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
US20050216518A1 (en) * 2004-03-26 2005-09-29 Oracle International Corporation Database management system with persistent, user-accessible bitmap values
JP4891657B2 (ja) * 2006-05-29 2012-03-07 株式会社野村総合研究所 データ記憶システム、ファイル検索装置およびプログラム
JP5249848B2 (ja) * 2009-04-30 2013-07-31 日本電信電話株式会社 情報検索方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP5544118B2 (ja) 2009-06-30 2014-07-09 株式会社日立製作所 データ処理装置、及び処理方法
JP5337745B2 (ja) 2010-03-08 2013-11-06 株式会社日立製作所 データ処理装置
US8738608B2 (en) * 2010-04-06 2014-05-27 Justone Database, 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
JP5526987B2 (ja) * 2010-04-28 2014-06-18 富士通株式会社 管理プログラム、管理装置、および管理方法
JP5526986B2 (ja) * 2010-04-28 2014-06-18 富士通株式会社 管理プログラム、管理装置、および管理方法
JP5526985B2 (ja) * 2010-04-28 2014-06-18 富士通株式会社 検索プログラム、検索装置、および検索方法
KR101889120B1 (ko) 2011-01-28 2018-08-16 아브 이니티오 테크놀로지 엘엘시 데이터 패턴 정보 생성
JP5716554B2 (ja) * 2011-06-06 2015-05-13 富士通株式会社 検索プログラム、検索方法、検索装置、およびノード
JP5664467B2 (ja) * 2011-06-13 2015-02-04 富士通株式会社 検索プログラム、検索方法、検索装置、およびノード
KR101358793B1 (ko) * 2012-07-20 2014-02-10 유넷시스템주식회사 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체
KR102129643B1 (ko) 2012-10-22 2020-07-02 아브 이니티오 테크놀로지 엘엘시 소스 추적으로 데이터 프로파일링
US9892026B2 (en) 2013-02-01 2018-02-13 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
JP6880956B2 (ja) * 2017-04-10 2021-06-02 富士通株式会社 解析プログラム、解析方法および解析装置
US10489348B2 (en) 2017-07-17 2019-11-26 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
US11416496B2 (en) * 2019-03-01 2022-08-16 Hitachi Vantara Llc Computer implemented method for continuous processing of data-in-motion streams residing in distributed data sources
CN111258966A (zh) * 2020-01-14 2020-06-09 软通动力信息技术有限公司 一种数据去重方法、装置、设备及存储介质
CN115309947B (zh) * 2022-08-15 2023-03-21 北京欧拉认知智能科技有限公司 基于图的在线分析引擎实现方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237723A (ja) * 1988-03-17 1989-09-22 Sharp Corp 情報登録検索方法
JPH03230270A (ja) * 1990-02-05 1991-10-14 Nec Corp キーワード検索方式
JP3269849B2 (ja) * 1992-05-29 2002-04-02 株式会社日立製作所 並列データベース処理システムとその検索方法
CA2117846C (en) * 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
JPH0962696A (ja) * 1995-08-28 1997-03-07 Hitachi Ltd データベース管理システム
JP3024619B2 (ja) * 1997-11-20 2000-03-21 三菱電機株式会社 ファイル管理方法
JP4251726B2 (ja) * 1999-07-08 2009-04-08 三菱電機株式会社 ファイル管理方法
JP4251725B2 (ja) * 1999-07-08 2009-04-08 三菱電機株式会社 ファイル管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大久保英嗣、津田孝夫,階層転置型ファイルに基づく関係操作アルゴリズム,情報処理学会論文誌,日本,社団法人情報処理学会,1985年 1月15日,Vol.26,No.1,130−147
平岡清一、郡光則,三菱"DIAPRISM"の高速化技術,三菱電機技報,日本,三菱電機エンジニアリング株式会社,1998年11月25日,Vol.72,No.11,pp.62−65,(CSDB 企業技報1999−00008−008)

Also Published As

Publication number Publication date
JP2001043237A (ja) 2001-02-16

Similar Documents

Publication Publication Date Title
JP3318834B2 (ja) データファイルシステム及びデータ検索方法
US5710915A (en) Method for accelerating access to a database clustered partitioning
US7702619B2 (en) Methods and systems for joining database tables using indexing data structures
JP5377318B2 (ja) 個別にアクセス可能なデータユニットの格納管理
Sacks-Davis et al. A two level superimposed coding scheme for partial match retrieval
JP3844370B2 (ja) 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造
Lakshmanan et al. QC-Trees: An efficient summary structure for semantic OLAP
KR101467589B1 (ko) 데이터 구조를 가지는 하나 이상의 장치 판독가능 매체, 및장치 실행가능 명령어를 구비한 하나 이상의 장치 판독가능 매체
US6687687B1 (en) Dynamic indexing information retrieval or filtering system
US6430565B1 (en) Path compression for records of multidimensional database
EP2519897B1 (en) Method and system for carrying out searches in a database
US20030204515A1 (en) Efficient traversals over hierarchical data and indexing semistructured data
US20070050381A1 (en) Indexes that are based on bitmap values and that use summary bitmap values
WO2006046669A1 (ja) データベース管理装置、方法、プログラム
US11868328B2 (en) Multi-record index structure for key-value stores
JPH04124774A (ja) 関係データベースにおける階層構造のデータ蓄積方法
US6275822B1 (en) Maintaining very large indexes supporting efficient relational querying
US10628396B1 (en) Batch automated blocking and record matching
US8745035B1 (en) Multistage pipeline for feeding joined tables to a search system
JPH11232283A (ja) 情報検索方法
JP3183252B2 (ja) データベース検索システム
JP3980326B2 (ja) データ管理方法およびコンピュータ読み取り可能な記録媒体
CN108959308A (zh) 一种应对可追加数据的索引方法
Scheuermann et al. Heuristic reorganization of clustered files
JPS62287350A (ja) インデツクス一括更新方式

Legal Events

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