JPS6143338A - 連想技術を使用して稀薄なデータベースをサーチする方法 - Google Patents

連想技術を使用して稀薄なデータベースをサーチする方法

Info

Publication number
JPS6143338A
JPS6143338A JP60169640A JP16964085A JPS6143338A JP S6143338 A JPS6143338 A JP S6143338A JP 60169640 A JP60169640 A JP 60169640A JP 16964085 A JP16964085 A JP 16964085A JP S6143338 A JPS6143338 A JP S6143338A
Authority
JP
Japan
Prior art keywords
values
value
record
database
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60169640A
Other languages
English (en)
Inventor
ジヨン・マイケル・コツトン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Standard Electric Corp
Original Assignee
International Standard 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 International Standard Electric Corp filed Critical International Standard Electric Corp
Publication of JPS6143338A publication Critical patent/JPS6143338A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、データーベースサーチに関するものであり
、特に運、想アレイプロセッサを使用する稀薄なデータ
ーベース用の連想技術に関するものである。
[発明の技術的背景] 項目リストのような稀薄な密度のデーターベースに亙っ
てのサーチは多くのプログラムおよびアルゴリズムの可
成の部分を占めているアクティビティである。稀薄な密
度のリストの一例は従業員の名前の最初の8文字がファ
イルのためのインデックスとして使用される人物ファイ
ルである。そのような場合たった2o00が使用されて
も26aの可能性がある。
稀薄な密度のリストのサーチに使用されている当業者に
よく知られている多数の技術がある。
サーチされるべきエントリーが単調な順序で配置されて
いる線形サーチが実効可能であり、捜索された値は連続
的に表の要素と比較され、それは一致するまであるいは
エントリーが捜索される値よりも小さいものから大きい
ものへ変化するまで続けられる。この方法は表が小さけ
れば満足すべきものであるが、大きくなるとN/2 (
N入力の表に対して)の平均サーチは急速に許容できな
くなる。全ての入力がディスク上にあるような非常に大
きな表ではこの方法は問題にならない。そのような大き
な表に対する2進サーチの使用も非常に多くのディスク
アクセスを必要とし、したがって非常にサーチが遅くな
るため同じように実用的ではない。
ハツシュコードもまた稀薄なリストのサーチに使用する
ことができる。その場合には捜索されるべき値はランダ
ム化されたアルゴリズムにさらされる。この演算の結果
は捜索された値が発見されるべき蓄積部(パケットとし
て知られている)の区域に対するアドレスとして使用さ
れる。一般にパケットは捜索した以外の他の項目を含ん
でおり、通常線形サーチであるさらに別のサーチがサー
チ過程を完成するために必要である。
ハツシュコード技術の効果は、パケットに平等に項目を
分配するときのランダムアルゴレズム、アクセスされる
べき項目の数に関して与えられたパケットの数、う、ン
ダム化された関数を計算するのに必要な時間、パケット
の大きざ、パケットがオーバーフローするとき取られる
作用に依存する。
与えられた値を見付は出すまでにかかる平均時間はラン
ダム化された関数(長ければ長いほど効果があると考え
られる)プラス・ディスクアクセス時間およびパケット
およびそのオーバーフローのための線形サーチ時間のあ
る比例配分された値を計算した時間である。オーバーフ
ローの処理は通常追加のディスクアクセスを必要とする
実験ではハツシュコードはある用途では非常に有効であ
るが、ランダム化アルゴリズムおよびオーバーフローに
依存し、それらは共に非常に特殊の用途であり、実験に
さらされなければならない。
したがって、ハツシュコードは一般的な目的に使用する
には適していない。
サーチツリー法はサーチが進められなければならない決
定ツリーの溝築に基づくものである。この最も簡単なも
のは第1図に記した形式の決定素子またはノードの使用
に基づく純粋の2進決定ツリーである。第1図を参照す
ると、値を蓄積するため場所20.その値により識別さ
れたレコードに対するポインター22、それより小さい
値を含むツリーの部分に対するポインター24、それよ
り太きい値を含むツリーの部分に対するポインター26
を有するノードが示されている。ツリーは析しいエント
リーを取り、実在する値が一致するか、或いは新しいノ
ードがツリーに付加されるまでツリーがトラバースされ
るようにそれらをすでにエントリーされた値と比較する
ことによって構築される。
エントリー170 、128 、66、192 、15
のシーケンスを有するツリーを構築するために必要な作
用は第2a図乃至第2e図に示されている。新しい値が
入力される順序によってツリーは普通の順序の表よりは
サーチに対してずつと効果の劣るリンクされたリストに
されることができることが認められる。これは、値が一
致されなければならないだけではなく、リンクアドレス
が使用されてエントリーの順序のない到署によりディス
クアクセスの数を増加するからである。
この困難は一つ、の枝が他のものよりもルベル以上深く
なったならば、ツリーを平衡させることによって克服さ
れる。この構造はAVLツリーとして知られている。エ
ントリーの以前のシーケンスを有するそのようなツリー
の溝築する作用は第3a図乃至第3e図に示されている
。これは捜索されるべきノードの最大数は2分のN内に
あることを意味する。ここでNはエントリーの数である
、欠点は表はN値プラス3Nのポインター(それぞれ大
きく、その値よりも大きい)を含み、ツリーの半分だけ
が最低のレベルにあることである。大きなツリーに対し
ては大部分のツリーはディスク上にあり、それ故多くの
ディスクアクセスが最低レベルで必要である。別の問題
は、ツリーの変化或いは付加はしばしばツリーの再平衡
を必要とすることである。それは多くのディスクアクセ
スを必要とする。この再平衡は、もしもツリーが全く安
定であるならば厄介なものであるだけのことであるが、
もしも変化がしばしばであれば重要な問題になる。
サーチツリー技術の拡張はBツリーとして知られている
。それにおいてはツリーは多くの値を含むノードを有す
る。ノードXにおける8値x (+’)はそれがそのた
めのインデックスであるデーターファイルに対するポイ
ンターおよびそのインターバルに位置するツリーの残り
に対する各インターバルX(i)乃至X(++1>に対
するポインターを有する。x(0)(最小)からx(j
)までのx(1)の値は単調に増加しなければならない
この形式のノードの説明は第4a図に示されており、第
4b図に示された小さなりツリーは値の前のシーケンス
を使用する。新しいエントリーが作られ、それらが時間
と共に再平衡される必要があるので、ノードにおける値
の位置は記録する必要がある。この構造の利点はツリー
の最低レベルに 。
達するまでのバスにおいて蓄積の1/jだけが使用され
ることである。非常に大きいツリーでさえも、高速蓄積
において全ての、しかし最低のレベルを維持することが
可能になる。Nエントリーに対してN値プラス2Nより
若干少ないポインターがあるに過ぎない−から、ツリー
中で使用される蓄積の量は減少する。残りの問題は値よ
びノードの再順序付けおよび変化に対するツリーの再平
衡ならびに(シーケンシャルなプロセッサに対しては)
サーチ中通過される各ノードにおける値を通じての線形
サーチである。この後者の技術でさえも最低レベ、ルに
おけるエントリーに対するディスクアクセス時間により
不十分な効率となる。
[発明の概要] この発明は、Bツリーの特性を改善するために連想サー
チ技術を使用して稀薄なデーターベースをサーチする方
法を提供するものである。特性はサーチ速度およびツリ
ーが更新されることの容易性の両者において改善される
。この発明の方法は、連想アレイプロセッサすなわちA
APとして知られている連想サーチ技術を行なうための
特定の構成を利用する。
この発明の目的は、サーチの速度が増加するように稀薄
なデーターベースをサーチする方法を提供することであ
る。
この発明の別の目的は、データーベースが容易に更新さ
れることができるように稀薄なデーターベースをサーチ
する方法を提供することである。
この発明のさらに別の目的は、サーチツリーのノードが
連想サーチ装置によって並列にサーチされる稀薄なデー
ターベースをサーチする方法を提供することである。
[発明の実施例] この発明は、連想技術を使用して稀薄なデーターベース
をサーチする方法に関するものである。
その方法は連想プロセッサとして知られている特殊の形
式のプロセッサを使用して行われる。連想型プロセッサ
はこの発明で説明する連想サーチ技術を得るために必要
な特徴を提供するものである。
この発明の方法を実行するための連想プロセッサは、本
出願人の米国特許出願404,242号(1982年8
月2日出願)に記載されている。
連想プロセッサがこの発明の方法を実行するために必要
ないくつかの本質的な特徴がある。連想プロセッサは連
想?レイプロセッサすなわちAAPとして普通に知ら、
れているアレイを形成していなければならない。その−
例は第5図に概略的に示されている。AAP28は、単
一のシーケンス制御命令30が同時に多数のデータ素子
において同じ計算を行なわせるシーケンシャル処理の形
態を与える。AAPは分離した単一ビットプロセッサセ
ル34の方形アレイ32で形成されている。各ブOセッ
サセル34はそれ自身の計算論理装置(ALU)、多数
の単一ビットレジスタのセット、および例えば64にビ
ットのような多数の情報ビットを蓄積するデータメモリ
36を備えている。各セルのための対応する単一ビット
レジスタはAAPのためのレジスタを形成している。
アレイのセルは行および列に相互接続され、それ故、行
中のセルは多ピットデータ要素を処理することができ、
データは行間で垂直に伝送されることができる。データ
要素の境界を識別するための手段が設けられなければな
らず、これは最大桁ビットおよび最小桁ビットである行
中の特定ビットを識別することによって行われる。各行
におけるデータ要素の大きさはアレイに厘りて均一であ
る必要はない。特にアレイがデーターベース用に使用さ
れるときレコード中の異なったデータ要素の異なった範
囲の値、したがって大きざを必要とする。前述のように
アレイ中の全てのセルは同時に同じ命令に従う。しかし
ながら、行および列の両者のセルをディスエーブルにし
、或いはマスクして命令に従わないようにすることが可
能でなければならない。
データ要素が位置および大きざの両者に対して決定され
たとき、その特定のデータ要素内の各単一ビットプロセ
ッサセルと協同する単一ビットレジスダの全での内容は
それらの間で行われるべき演算、シフトまたはブーリア
ン命令を有してもよい。そのような命令の結果は演算ま
たは論理結果のみならずまた加算または減算のためのオ
ーバーフロー、一致のためのゼロ、大きなものと比較す
るためのプラス、小さなものと比較するためのマイナス
等の適当な状態指示を含んでいる。結果および適切な指
示の両者は後続する命令に対するマスクとして使用す、
るために利用できるようにされなければならない。
列の全てのセルと外部出力レジスタセルとの間の通信を
行なうために、各列に対して垂直バスがなければならな
い。垂直バスは一時に一つのセルだけが送信できるよう
に設定されなければならない。このセルの選択は上記の
マスク機構によって行°われなければならない。
メモリビットからデータを掴まえるためのアドレスはメ
モリアドレスレジスタにおいて発生される。データを出
力レジスタからアドレスレジスタ伝送することが出来な
ければならない。また値をアレイ中に負荷するために、
或いはサーチまたは比較に使用する値を保持するために
入力レジスタが必要である。この入力レジスタに蓄積さ
れた値は適当な列中の全ての行に同時に利用されるよう
にしなければならず、それ故全ての行で同時にサーチま
たは比較が行われ、或いは入力レジスタの内容が全ての
エネーブルにされた行に伝送される。
上記特徴を与える形態が第6図に示されている。
セルのアレイは202として示され、前に第5図で説明
したように各セルに対するメモリと関係する。
ある−セルとその近傍の他のセルとの間の接続は第7図
に示されている。列中のセル間の相互接続は302およ
び304として示され、一方行中のセル間の相互接続は
321乃至326として示されている。
行中のセル間の水平接続321乃至326の機能は前記
米国特許出願404.242号明細書中に詳細に記載さ
れている。各セルは垂直マスクに対する接続312およ
び水平マスクに対する接続314を有する。また、垂直
バス316がセルと出力レジスタ214問および入力レ
ジスタ206から列中のセルに垂直にデータを伝送する
ために設けられ、一方、データは水平バス318を使用
して行のセルと水平データ/状態レジスタ208との間
で水平に伝送される。
再び第6図を参照すると、垂直マスクレジスタ204が
示されており、それにおいてはレジスタの各ビット位置
はアレイの対応する列の各セルの垂直マスク接続312
に接続されている。垂直マスクレジスタ204は前述の
ように垂直マスク機能を行なうと共にさらに前記米国特
許出願404.242号明細書に記載されているような
方法でデータ要素の境界を識別するための手段を与える
。水平マスクレジスタ210は水平マスク機能を行なう
と共にアレイ202の対応する行の各セルのライン31
4にそれぞれ接続された複数のピット位置を有する。前
述の計算命令が実行されたとき、各行のデータにおける
そのような命令の結果に関係する状態指示が得られ、伝
送され、蓄積されなければはならい。これは水平バス3
18を使用して状態指示をそれらが蓄積されている水平
データレジスタ208の対応するピット位置へ伝送する
ことによって達成される。水平データレジスタ208は
それから接続212によって水平マスクとして利用され
る計算命令の状態指示を形成する水平マスクレジスタ2
10に接続される。垂直バス316は垂直データ入力レ
ジスタ206の対応するピットを列の全てのセルに接続
し、また列の全てのセルを出力データレジスタ214の
対応するビットビットに接続する◎出力データレジスタ
214からのデータは接@ 218によってアドレスレ
ジスタ216に伝送されることができる。入力および出
力レジスタの殿能は一つの入力/出力レジスタとして結
合されることができる。
第6図および第7図に示して前述のように説明したAA
Pの動作は簡単な例によってさらに明瞭に理解されるで
あろう。今、索引ファイルを有し、各記録または行はそ
のいずれか、或いは全部が特定の蓄積されたデータブロ
ックを識別するために使用されることができるデータA
、B、Cを含んでおり、またファイル中の索引された蓄
積されたデータブロックの位置のためのポインターを含
んでいるものとする。索引ファイルの提案されたフォー
マットが第8図に示されている。16X16のアレイが
使用されるとすると、アレイメモリの3頁は図示のフォ
ーマットの16レコードを含む。
38で示された頁1は16レコードに対してそれぞれ1
6ビツトを有するデータ要素Aを含み、各レコードに対
して1行があり、データ要素Aにおける情報の16ピツ
、トのそれぞれに対して1列がある。40で示された頁
2は16レコードのそれぞれに対するデータ要素Bおよ
びCを含み、データ要素Bは10ビツトよりなり、デー
タ要素Cは16ビツトよりなる。42で示された頁3は
16レコードのそれぞれに対して1個の16の蓄積され
たデータブロックのためのポインターを含む。
索引の1頁が頁2の一部として示されたデータ要素Bま
たはフィールドBの値25に対してサーチされるべきで
あり、頁中にただ1個のレコードしかその値を含まない
ものとする。サーチされるべき(フィールドB)値は特
定の順序を必要としないことに注意すべきである。第9
図および第10図に関連して説明した事象のシーケンス
は次のとおりである。
1、頁2のアドレスがアドレスレジスタ216に負荷さ
れ、頁2に蓄積された16レコードのフィールドBおよ
びCがレジスタ、例えば第9図に示すアレイ202の名
セルと協同する一組のレジスタの中のレジスタ1中に蓄
積するために捕捉される。
2、サーチされるべき値、すなわち25がデータ入力レ
ジスタ206の上位桁10ビツト中に負荷され、フィー
ルドBに対応するアレイの上位桁10ピツトをエネーブ
ルにするマスクが垂直マスクレジスタ204中に負荷さ
れる。
3、サーチが入力データ値25に対してフィールドB中
の16のデータ値に屋りて実行される。
値25を含むこの例における行9はサーチされた値25
と一致し、これは状態レジスタとも呼ばれている水平デ
ータレジスタ208中の対応するピット位置に生じる1
によって示される。
4、アドレスレジスタ216はポインターを含む頁3の
アドレスに変化し、頁3のポインターはレジスタ、例え
ば−組のレジスタ中のレジスタ2に捕捉され、蓄積され
る。
5、全て1を有するマスクがアレイの全ての列をエネー
ブルにするために垂直マスクレジスタ204中に負荷さ
れ、状態レジスタ208の内容は水平マスクレジスタ2
10に伝送される。プロセスのこの段階における状態は
第10図に示されている。
6、行9にある特定のポインターP9は水平マスクレジ
スタ210によってエネーブルにされ、垂直バス316
上を出力レジスタ214へ、そしてそこからアドレスレ
ジスタ216へ伝送される。このアドレスは索引中に発
見されたエントリー25に対応する蓄積されたデータブ
ロックの最初の頁を捕捉するために使用される。
本発明者がレンジ・ツリー(range trees 
)と呼ぶこの発明の方法はBツリーの改良である。レン
ジ・ツリ・−は前述のようにAAPの連想サーチの特徴
を有する効果がある。もしも、ノードによってカバーさ
れる値の範囲がVa乃至Vjであるならば、第11図に
示すようにjの部分に分割される。部分の境界は図中に
エントリーされない値によって決定されるが、一般に範
囲■0乃至■jを決定するために必要な上位桁ビットだ
けを使用する。ツリーの最低レベルにおいてのみ、ノー
ド中の値は図のエントリーに対応する。
ノード中の部分間の各サブ・レンジはノード表中のその
境界V(i)およびy(i+1)によって特定され、さ
らにレンジを細分する次に低いノードに対するポインタ
ーをそれに取付ける。ノード表のレイアウトは第12図
に示されている。例えば部分FおよびEの間のサブ・レ
ンジはそのサブ・レンジの上端および下端値であり、そ
れをポインターP5と協同させる。レンジを特定すのも
のはそれらが連想サーチにより並列にサーチされるため
に特定の順序は必要ないことに注意すべきである。
基本的サーチ技術は第12図に、H乃至Gの範囲にある
値H+をサーチした結果を含めて示されている。サーチ
値H+の比較の結果はノード表レイアウトの各行につい
て示された状態指示の値によって指示される。実際に2
つの比較が各サブ・レンジに対して行われる。表の最初
の行について考えると、部分値EはH+よりも大きく、
それ故左側では状態指示は十を示す。同様に部分値Fは
H+よりも大きく、右側では状態指示は十を示す。
表の第4の行では、部分If!iHはH+よりも小さく
、それ故左側では状態指示は−を示す。一方、部分値■
もまたH+よ、りも小さく、右側では状態指示に−が生
じる。所望の行は右手の状態が−を示し、したがってサ
ーチ値よりも低く、そして、左手の状g’s+を示し、
したがってサーチ値よりも高い値を示すものである。状
態指示のこの組合わせは第3行乃至最後の行に認められ
、ポインターP7と関連している。この行においてはサ
ーチ値H+は範囲の上限Gよりも低く、行の下限Hより
も高い。ポインターP7はそれから次に低いノード表を
サーチし、捕捉するために使用される。
もしも、境界VO乃至■jを特定するために使用された
大きさの最初の数ビットが特定のノードにおいて充分に
デコードされたならば、それらはその大きざからもつと
低いノードに落とされてもよく、下位桁ビットが付属さ
れる。一つのノードをサーチするためのシーケンスのス
テップを以下第13図乃至第15図を参照に説明する。
このシーケンスは単なる例示であって、所望の結果を生
じる唯一のシーケンスではない。
1、ノードの記録のフォーマットが第13図に示されて
いる。サブ・レンジは4.000の範囲(スコープ)を
与える12ビツトで表現されている。しかしながら、こ
れは、ビットのいくつかはもつと高いレベルでデコード
されているかもじれず、さらにもつと低いレベルのノー
ドでデコードされるかもしれないから、全体のサーチの
範囲である必要はない。アレイは第13図に示すような
32X32アレイの形態の構成であり、簡単にするため
にその8行だけしか示されていない。第13図に示され
た記録はポインターを使用してメモリから捕捉され、A
APのレジスタ中に負荷される。したがって、第13図
に示された記録のフォーマットは例えばレジスタ9のよ
うな特定のレジスタ中に負荷される情報を示している。
2、マスクされたパターンはメモリ或いは別のレジスタ
から得られ、第13図に示すように垂直マスクレジスタ
50中に負荷される。サーチされるべき値は図示のよう
に入力レジスタ52中に置かれる。
3.7レイの内容は入力レジスタの内容より大きいかに
ついて比較され、その結果、状態レジスタ54には入力
レジスタ中の値より大きいか、等しい値を含む行に対し
ては1を有し、その他のものに対しては0を有する。
4、状態レジスタ54の内容は水平マスクレジスタ56
へ伝送される。水平マスクレジスタは1を含む行だけが
エネーブルにされるように傭能する。
垂直マスク50のパターンおよび入力レジスタ52にお
けるサーチ値は共に第14図に示すように12ビツトだ
け右へシフトされる。
5.7レイのエネーブルにされた行の内容はサーチ値よ
り低いことに対して比較され、その結果、状態レジスタ
54はサーチ値より低い値を含んでいる行に対しては1
を含む。第14図に示すように、これらの行の一つより
多くのものが存在してはならず、状態レジスタ中に1を
含む行はそのポインターかにンジの次に細かいサブ分割
を含む表の位置を識別するような行である。
6、状態レジスタ54中のパターンは水平マスクレジス
タ56に伝送され、8ピ、ットマスクは第15図に示さ
れるようにポインターのフィールドを識別する下位桁の
8・ピットで垂直マスクレジスタ50中へ負荷される。
7、垂直および水平マスク、すなわち第15図に示され
たポインター6によって識別されたポインター値は図示
しない出力レジスタに伝送され、したがってアドレスレ
ジスタ58に伝送され、そこにおいて次に低いノードに
対する表を捕捉するためのアドレスとして使用される。
上記のようなシーケンスはレンジ◆ツリーにおける一つ
のノードをサーチするために必要なステップを説明した
ものである。ノード表の記録のフォーマットは動作に対
して臨界的なものではない。
別の可能な方法は、もつと大きな境界の大きさを使用す
るために二つの頁を使用することである。  “二つの
頁が使用される方法に対する可能なフォーマットは第1
6図に示されている。エントリーの数、サーチ値のスコ
ープおよびツリーの深さの間の関係の指示は第17図に
示されている。
レンジ・ツリーと呼ばれるこの発明による方法を使用す
ることに、よって通常のBツリーに比較して大きな効果
を生じる。サーチのノードは連想手段によって並列に実
行され、したがって、ずっと速い。これは全体のデータ
ーベースが主メモリ中に保持されている場合には特に!
!要である。レンジ・ツリー法はディスクアクセス時間
が支配する衝撃が少ない。レンジ・ツリー技術を使用す
るとサーチの実行にノード当り10マイクロ秒以下しか
必要としない。
ファイルの変更および追加はレンジ・ツリー技術を使用
するとずつと容嘉に行なうことができる。
ノード中におけるエントリーが特定の順序である必要が
なく、またツリーが再平衡される必要もないから、変更
および追加は容易である。遇低レベルで常に生じるエン
トリーの抹消は!&柊の連想サーチに応答しないブラン
クを残すだけでよい。もしも何等かのエントリーの追加
が最終頁にオーバーフローを生じるならば、次に高いノ
ード中の記録によってカバーされたレンジが何等かの予
め決定された規則にしたがって分割され、古いエントリ
ーはその下限を新し・い分割部の境界に上昇され、レン
ジの下部に対して新しい記録が生成される。
この新−しい記録はノード表の次の自由なスペースにあ
ることができる。古い最終頁中のエントリーは次に高い
ノード中の新しい記録の新しいレンジを使用して並列に
サーチされ、応答したエントリーは古い最終頁中にブラ
ンクを残して新しい最終頁に転送される。この動作もま
た10マイクロ秒以下である。
【図面の簡単な説明】
第1図は、サーチ・ツリーに使用されるノードの構成を
概略的に示し、第2a図乃至第2e図はエントリーのシ
ーケンスを使用してサーチ・ツリーがどのように発展す
るかを概略的に示し、第3a図乃至第3e図はエントリ
ーのシーケンスを使用してAVLツリーがどのように構
成されるかを概略的に示し、第4a図はB−ツリーのノ
ードの構成を概略的に示し、第4b図は小形の8−ツリ
ーを概略的に示し、第5図は連想アレイプロセッサを概
略的に示し、第6図は連想アレイプロセッサブロック図
であり、第7図はアレイ中のセル接続を示し、第8図は
索引ファイルのためのレイアウトを示し、第9図はサー
チ内のある点における連想アレイプロセッサの状態を示
し、第10図はサーチ内のある点における連想アレイプ
ロセッサの状態を示し、第11図はレンジ・ツリー分割
を示す図であり、第12図はノードのレイアウトを示す
図であり、第13図、第14図および第15図はサーチ
内のある点における連想アレイプロセッサの状態を示し
、第16図は2頁のノードテーブルの一例を示し、第1
7図は、エントリーの数、サーチの値の範囲およびツリ
ーの深さの関係を示す図である。 28・・・AAP、30・・・制御命令、32.202
・・・方形アレイ、34.301・・・ピットプロセッ
サセル、36・・・メモリ、204・・・垂直マスクレ
ジスタ、210−・・水平マスクレジスタ。 FIG、11 FIG、12

Claims (9)

    【特許請求の範囲】
  1. (1)サーチされるべきデーターベースの一部を選択し
    、 前記データーベースの一部に含まれているレコードを同
    時にサーチし、 選択された値または選択された値が位置されるべきデー
    ターベースの他の部分に対するポインターを前記レコー
    ドにおいて識別することを特徴とする連想アレイプロセ
    ッサを使用して類似する値が蓄積される稀薄な占有状態
    のデーターベース中の選択された値を連想技術を使用し
    てサーチする方法。
  2. (2)同時にサーチする過程において選択された値を前
    記レコード記録に含まれている1以上の値と比較する過
    程を有する特許請求の範囲第1項記載の方法。
  3. (3)各レコード記録に蓄積されている1以上の値と選
    択された値を比較する過程は、選択された値を各サーチ
    されたレコード中に蓄積された最大および最小値と比較
    する過程を有する特許請求の範囲第2項記載の方法。
  4. (4)選択された値を各レコードの最大および最小値と
    比較する過程は、 選択された値を全てのレコードの前記最大および最小値
    の一つと同時に比較し、 さらにサーチするために前記レコード記録の選択された
    ものを識別するために前記比較の結果を使用し、 選択された値を全ての選択されたレコードの前記最大お
    よび最小値の他のものと同時に比較することによって選
    択された値が識別され、或いはデーターベースの他の部
    分へのポインターが識別される特許請求の範囲第3項記
    載の方法。
  5. (5)蓄積されるべき値の範囲をブロックに分割し、 各ブロックに対する1組の上および下境界値を各ブロッ
    クに対して識別し、 前記データーベースに蓄積された表中のレコードとして
    前記セットを蓄積し、 さらに前記ブロックのそれぞれに含まれている値の範囲
    をサブブロックに分割し、 前記各サブブロックの上および下境界値に対する値のセ
    ットを識別し、 各前のブロックのサブブロックの上および下境界値の前
    記セットを値を前記データーベース中に蓄積された次の
    表のセット中のレコードとして入力し、次の表は各前の
    ブロックのためのものであり、 前記次の表のアドレスを識別し、 前記次の表のアドレスを次に高い次の表中に含まれた対
    応するレコード中に入力させることを特徴とする連想ア
    レイプロセッサにおける値の範囲を蓄積するための稀薄
    な占有状態のデーターベースを組織化する方法。
  6. (6)蓄積されるべき値に対して充分蓄積があるまで追
    加のサブブロックが次の表の追加のセットと共に生成さ
    れる特許請求の範囲第5項記載の方法。
  7. (7)表中のレコードはランダムシーケンスで配置され
    ている特許請求の範囲第5項記載の方法。
  8. (8)蓄積されるべき値の範囲をブロックに分割し、各
    ブロックに対する1組の上および下境界値を各ブロック
    に対して識別し、前記データーベースに蓄積された表中
    のレコード記録として前記セットを蓄積し、さらに前記
    ブロックのそれぞれに含まれている値の範囲をサブブロ
    ックに分割し、前記各サブブロックの上および下境界値
    に対する値のセットを識別し、各前のブロックのサブブ
    ロックの上および下境界値の前記セットを値を前記デー
    ターベース中に蓄積された次の表のセット中のレコード
    として入力し、次の表は各前のブロックのためのもので
    あり、前記次の表のアドレスを識別し、前記次の表のア
    ドレスを次に高い次の表中に含まれた対応するレコード
    中に入力させて連想アレイプロセッサにおける値の範囲
    を蓄積するために稀薄な占有状態のデーターベースを組
    織化したデーターベース中の選択された値サーチする方
    法であって、 表のレコード内に蓄積された上および下境界値値の全て
    と選択された値とを比較し、 選択された値より大きい上境界値および選択された値よ
    り小さい下境界値を有するレコードを識別し、 レコードと関連するアドレスを識別し、 予め識別されたブロックの細分割部を含む次の表をアド
    レスする過程を有することを特徴とする組織化されたデ
    ーターベース中の選択された値をサーチする方法。
  9. (9)追加の値は選択された値として新しい値を使用す
    るサーチプロセスを実行し、新しい値を含まない最小の
    サブブロックを識別し、新しい値をそのサブブロックに
    蓄積することによってそれらの適切なサブブロックに蓄
    積される特許請求の範囲第8項記載の方法。(10)新
    しい値が最小のサブブロック中で利用されるスペースに
    適応しないことを決定し、 古いサブブロックの値の範囲の部分に等しい新しい値の
    範囲を有する新しいサブブロックを生成し、 古いサブブロックの残りの値をそのままにして古いサブ
    ブロックから新しいサブブロックへ新しい値をシフトし
    、 それらの減少した範囲に応じるように次に高次の表のレ
    コード内における値の範囲を変化させ、サブブロックの
    ためのアドレスを含む新しい値の範囲に対する次に高次
    の表に新しいレコードを追加して、それによりスペース
    が新しい値対して利用できるようにされている特許請求
    の範囲第9項記載の方法。
JP60169640A 1984-07-31 1985-07-31 連想技術を使用して稀薄なデータベースをサーチする方法 Pending JPS6143338A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63646984A 1984-07-31 1984-07-31
US636469 1984-07-31

Publications (1)

Publication Number Publication Date
JPS6143338A true JPS6143338A (ja) 1986-03-01

Family

ID=24552038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60169640A Pending JPS6143338A (ja) 1984-07-31 1985-07-31 連想技術を使用して稀薄なデータベースをサーチする方法

Country Status (7)

Country Link
EP (1) EP0170442A3 (ja)
JP (1) JPS6143338A (ja)
KR (1) KR860001384A (ja)
AU (1) AU4500485A (ja)
BR (1) BR8503162A (ja)
ES (1) ES8700467A1 (ja)
ZA (1) ZA855325B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5405986A (en) * 1993-01-22 1995-04-11 Daicel Chemical Industries, Ltd. Catalyst and method for producing carbonic diesters
US5466856A (en) * 1992-08-26 1995-11-14 Daicel Chemical Industries, Ltd. Method of producing carbonic diesters
US5550279A (en) * 1992-08-20 1996-08-27 Daicel Chemical Industries, Ltd. Method of controlling reactions

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8515482D0 (en) * 1985-06-19 1985-07-24 Int Computers Ltd Search apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2203538A5 (ja) * 1972-10-13 1974-05-10 Burroughs Corp

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550279A (en) * 1992-08-20 1996-08-27 Daicel Chemical Industries, Ltd. Method of controlling reactions
US5466856A (en) * 1992-08-26 1995-11-14 Daicel Chemical Industries, Ltd. Method of producing carbonic diesters
US5405986A (en) * 1993-01-22 1995-04-11 Daicel Chemical Industries, Ltd. Catalyst and method for producing carbonic diesters

Also Published As

Publication number Publication date
ES8700467A1 (es) 1986-09-01
AU4500485A (en) 1986-02-06
ZA855325B (en) 1986-03-26
EP0170442A3 (en) 1988-01-07
EP0170442A2 (en) 1986-02-05
ES545686A0 (es) 1986-09-01
BR8503162A (pt) 1986-03-25
KR860001384A (ko) 1986-02-26

Similar Documents

Publication Publication Date Title
EP0124097B1 (en) Method for storing and retrieving data in a data base
US5222235A (en) Databases system for permitting concurrent indexing and reloading of data by early simulating the reload process to determine final locations of the data
EP0127753B1 (en) Method for executing a distribution sort
US5293616A (en) Method and apparatus for representing and interrogating an index in a digital memory
EP1136918A1 (en) Method and apparatus for retrieving, accumulating, and sorting table-formatted data
US9292554B2 (en) Thin database indexing
JPH0196727A (ja) 知識システム
JPH02178730A (ja) 分割法を用いた内部ソート方式
Matias et al. On parallel hashing and integer sorting
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
JP2004534981A (ja) データベース・システムでデータを編成し、問合せを処理する方法、およびそのような方法を実施するためのデータベース・システムおよびソフトウェア製品
JPS6127771B2 (ja)
US6901396B1 (en) Packed radix search tree implementation
US5479657A (en) System and method for sorting count information by summing frequencies of usage and using the sums to determine write addresses
JP2000090115A (ja) インデクス作成方法および検索方法
EA005269B1 (ru) Способ организации и хранения данных в базе данных и база данных
JPH0782429B2 (ja) 複数ファイルのマージ方法
EP0170443B1 (en) Method for searching an association matrix
JP2520941B2 (ja) デ―タベ―ス・テ―ブルを検索する方法
JPH048814B2 (ja)
JPH01228022A (ja) 二次元データ格納方式
Teich et al. Data Handling and Dedicated Hardware for the Sort Problem
JP2582355B2 (ja) 数値分布比較検索方法
CN85105296A (zh) 利用关联技术检索稀疏数据库的方法
JPS63253431A (ja) インバ−テツド構造のデ−タベ−ス検索方式