JP3433803B2 - データベースの構造 - Google Patents

データベースの構造

Info

Publication number
JP3433803B2
JP3433803B2 JP50381595A JP50381595A JP3433803B2 JP 3433803 B2 JP3433803 B2 JP 3433803B2 JP 50381595 A JP50381595 A JP 50381595A JP 50381595 A JP50381595 A JP 50381595A JP 3433803 B2 JP3433803 B2 JP 3433803B2
Authority
JP
Japan
Prior art keywords
index
node
subspace
input
outer boundary
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
JP50381595A
Other languages
English (en)
Other versions
JPH09500746A (ja
Inventor
フリーストン,マイケル,ウィリアム
Original Assignee
ヨーロピアン コンピューター − インダストリー リサーチ センター ゲーエムベーハー
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 ヨーロピアン コンピューター − インダストリー リサーチ センター ゲーエムベーハー filed Critical ヨーロピアン コンピューター − インダストリー リサーチ センター ゲーエムベーハー
Publication of JPH09500746A publication Critical patent/JPH09500746A/ja
Application granted granted Critical
Publication of JP3433803B2 publication Critical patent/JP3433803B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/956Hierarchical
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • Y10S707/967Peer-to-peer
    • Y10S707/968Partitioning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Holo Graphy (AREA)
  • Photoreceptors In Electrophotography (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、データベースの構造、特に、その中で使用
するための階層インデックス構造、データスペースを検
索する方法及びデータベース構造を検索する方法に関す
る。本発明はまた、コンピュータの1次元メモリ内のn
次元データ・スペースの形のn次元の構成要素の電子的
記憶、及び/又はコンピュータのメモリへの又はそこか
らの上記n次元の構成要素の転送/検索に関する。
背景技術 空間に関する情報は、コンピュータのメモリ内に記憶
することができる。空間に関する情報は、本質的には、
n次元のデータスペース内の点からなっている。例え
ば、これらの点は、2次元内の地図の上の目的物の中心
点の座標であってもよいし、3次元の空間内の航空機の
位置であってもよい。この位置の情報には、地図上の目
標物のタイプ又は呼出し符号及び航空機の速度のよう
な、目標物の位置に関する追加情報が関連してくる場合
がある。
過去においては、データベース・システム内のデータ
構造は、固定構造記録、即ち組変数(tuples)に限定さ
れていた。組変数の構造は、1組のフィールド又は属性
である。属性のタイプは、実数、整数及びストリングの
ようないくつかの簡単なタイプに限定されていた。
1組の記録に対する索引(index)を作成するため
に、その全てのメンバは同じ構造を持っていると仮定す
る。キーの数値は相互に関連していなければならない。
この数値はレコードに対して一意なものであってもよい
し、そうでなくてもよい。原則的には、単一属性又は数
個の属性の直接値であってもよいし、1つ又はそれ以上
の属性に関して何らかの変換操作により生成したもので
もよい。主記憶装置又は2次的記憶装置内のデータ及び
インデックスに対するメモリの割合の単位は、ページで
あり、このページは固定サイズでほとんど不変のもので
ある。
本発明は、トリー構造(tree structure)の形の階層
インデックスに関する。一般的に、トリー構造は、ルー
ト・ノード、ブランチ・ノード及びリーフ・ノードから
なっている。慣例上、トリーは倒置した形、即ち、ルー
トが一番上になっている形で表される。トリーを横切る
道は、この道を行くときに遭遇するノードの順序で定義
される。木の高さは、ルートからリーフまでの最も長い
一本道の長さである。枝分かれ比(fan−out ratio)と
は、リーフの方向におけるノードからでている枝の数で
ある。この枝分かれ比は、通常、設計及び実行の詳細の
度合いによって異なる、許された範囲の数値を持ってい
る。この数値の範囲は、全てのインデックスのノードに
ついて同じである。
データベース内の1組のレコードを動的に検索するた
めに、最も広く知られ、最も広く使用されているのは、
B−トリー構造である。B−トリー構造は、インデック
ス・キーとして、1つのレコード内に単一の属性値を持
つか、又は数個の属性の辞書的な連結を持つ。各インデ
ックス・ノードは、メモリのページに対応し、順序正し
く配列された1組のインデックス・キーを含んでいる。
インデックスはインデックス・キーの階層の形で構成さ
れている。即ち、トリーの特定のどのレベルにおいて
も、各ノードは、順序正しく配列された1組のキーの数
値を含み、各キーと関連していて、それより下位のイン
デックス・レベルのノードへのポインタを持っている。
各キーは、それが指し示しているノード内に記憶されて
いるキーの数値に対する上の(又は下の)境界を表して
いる。一番低いインデックス・レベルにおいては、キー
は、一番低いレベルのインデックス・キーによって定義
されている範囲内のレコードを含んでいるデータのペー
ジを指している。
追加の情報が挿入されて、データ・ページがオーバー
フローを起こすと、下記のようになる。
1.そのページは、インデックス・キー属性の中央値に基
づき2つのページに分割される。
2.キー属性の中央値のコピーが、新しいページ用の追加
ポインタと一緒に、もとのページへのポインタを保持し
ているインデックスのリーフのノード内に挿入される。
このように、インデックス・ノードは、キーの数値順に
記憶されているペアの(キー、ポインタ)、(及び一番
上及び一番下の区画用の1つの追加ポインタ)からなっ
ている。
1つのインデックス・ノードが追加され、オーバーフ
ローが起きた場合には、インデックス・ノードも同様に
その中央値に基づいて分割され、そのコピーが新しく生
成されたインデックス・ページと一緒に上へと送られ
る。
最悪の場合、データ・レコードを1つ挿入したこと
が、一連のオーバーフローを起こし、インデックス・ト
リーのルートまで含む多くの挿入を起こすこともあり得
る。ルートが分割されると、新しいルートが生成され、
インデックス・トリーの高さが1つだけ増大する。この
ようにして、トリー構造のインデックスは、データ・ペ
ージの数が増大するにつれて、上(即ち、倒置した樹木
の上方)に向かって成長する。
全てのインデックス・ページの大きさが同じで、各イ
ンデックス・ページ内のキー入力の最大数がF(枝分か
れ比)である場合には、インデックスの各レベルは、一
番多い場合は、上のレベルのF倍のインデックス・ペー
ジを持ち、一番低いレベル内のページのF倍のデータ・
ページを持つことになる。データ・ページもインデック
ス・ページも、その中央値で分割されるので、最悪の占
有率は50%になるが、全インデックスに対する統計上の
平均は、約69%である。
B−トリーは、多くの魅力ある特性を持っている。そ
れがデータベース・システム内での動的索引にほとんど
独占的に採用されてきた理由である。
1.トリーは常に完全にバランスがとれている。即ち、一
定の大きさのトリーの場合、ルートからリーフまでの全
ての直通パスは同じ長さである。
2.個々のレコードの全部のキーが指定(正確にマッチし
た照会)されている場合には、レコードを何時でもルー
トからリーフへの直通パスを通してアクセスすることが
できる。この場合、単一レコードに対するアクセス時間
は、トリーのサイズが一定である場合には、一定で予め
知ることができる。
3.ルートからリーフまでの直通パスの長さは、索引され
たレコードの全数に対して単に対数的に増大するだけな
ので、通常、数テラバイト(Terabytes)のデータを検
索するのに5つのレベルのインデックスがあれば十分で
ある。
4.単一レコードの挿入及び削除に要する最大更新時間も
また、索引されたレコードの全数の対数である。
5.データ・ページ及びインデックス・ページの保証最小
占有率は(50%)である。
6.インデックスの最大寸法は、常にデータ量に正比例す
る。
7.上記の全ての特性は、削除及び挿入によって影響を受
けない。即ち、構造の性能は、使用されても低下しな
い。完全に動的である。
多年にわたって、研究者達は、B−トリー構造の諸特
性をn次元に一般化する構造、即ち、1つのレコードに
対して1つではなく、n個の属性に1つのインデックス
を使用する構造を発見するための努力を続けてきた。理
想的には、そのようなインデックスは、n個の属性の中
のm個に対する数値が指定された場合(部分的にマッチ
した照会の場合)、n個の中から選ばれたm個の組合わ
せが何であろうとも、この組合わせにマッチする全ての
レコードを発見するのに要する時間が同じであるような
特性を持っていなければならない。
この特性を達成するために、インデックスはn次元に
おいて対称でなければならない。その(単一キー)の属
性値に従って、個々のレコードの間の順序を直接定義す
る方法はもはやない。各レコードを、n個のインデック
ス属性の領域の直積演算であるn次元のデータ・スペー
ス内の一点と見なす必要がある。
B−トリーをn次元で一般化するには、このデータ・
スペースをB−トリーの特性が上記のように保存される
ような方法でサブスペース、即ち、領域に分割しなけれ
ばならない。更に詳細に説明すると、各領域はデータ・
ページに対応し、インデックスはデータ領域のより高い
レベルのインデックス領域への周期的な分割を表してい
る。
n次元内で対称的な配置を行うためには、上記の定義
に従って、下記のような他の特性が必要である。
8.各データ領域の境界を定義するために必要なデータ・
スペースの周期的分割の数は、各寸法において(できる
だけ同じ)ものでなければならない。
下記の特性を維持することは、インデックスの効率に
とって更に重要である。
9.データ領域の空間的な配置は、データ点の空間的な配
置とできるだけ密接に対応しなければならない。
10.インデックス・トリーの各レベルでのインデックス
領域の空間的配置は、1つ下のレベルの空間的配置、及
びデータ領域の空間的配置にできるだけ密接に対応しな
ければならない。
11.空のスペースの表示は最も少なくなければならな
い。
都合の悪いことに、これら全ての要件に折り合いをつ
けることは非常に難しいということがわかっている。過
去数年間の間に行われたかなりの数の提案から明らかな
ように、かなりの進歩が行われたが、現在の設計はまだ
融通性に乏しく、本発明以前には、実用上問題のない解
決方法はなかった。
上記の提案の1つは、BANGファイル(バランスがとれ
ていて、入れ子状になっている格子ファイル(Balanced
And Nested Grid file))である。例えば、1987年6
月カリフォルニア州、サンフランシスコで開催されたAC
M SIGMODの議事録におけるM.W.フリーストン氏の「BAN
Gファイル:新型格子ファイル」、又は1989年6月パリ
で開催されたデータ組織及びアルゴリズムの基礎に関す
る第3回国際会議におけるM.W.フリーストン氏の「BANG
ファイルの設計における進歩」を参照されたい。BANGフ
ァイルは、B−トリーの自己バランス特性を持ち、デー
タ・スペース及びインデックス領域を相互に入り子状に
できる3つの構造ディレクトリを持っている。BANGファ
イルは、非均一データ配置によく適合するが、全てのケ
ースにおいて保証された性能特性を維持することはでき
ない。
問題は、n次元データ・スペース内の点で表される組
変数を、どのようにファイル内の1組のデータ・ブロッ
ク(又はページ)に割り当てるかということである。幾
何学的に考えれば、やらなければならないことは、デー
タ・スペースを、それぞれがディスク・ページに対応す
る1組の超長方形又はブロック領域に分割することであ
る。しかし、ファイルの記憶効率を最大にするために、
上記領域及びその境界の位置の数を、それぞれの対応す
るディスク・ページが高いデータ占有率を持つように配
列しなければならない。
BANGファイル内においては、データ・ページはデータ
として同じファイル内に記憶されているブロック領域の
多重レベル・ディレクトリを通してアクセスされる。組
変数をファイルに挿入すると、ディスク・ブロックがオ
ーバーフローし、ディスク・ページ及び対応する領域は
2つに分割され、ディレクトリが更新される。「最も良
いバランス」、即ち、上記の2つの領域の占有の間にで
きるだけ近いバランスを得るためには、区画のための方
針が必要である。BANGファイルは、次の分割のために選
択した次元が、全ての次元を通して循環する予め定義し
た順序に従って選ばれる一連の2進法の分割によりデー
タ・スペースを分割する。同じ分割順序がデータ・スペ
ース全体に適用されるが、個々のブロック領域には、分
割方法が選択的に適用される。原則的には、区画は下記
の公理の制限内で任意の形をとることができる。
公理1:如何なる区画の境界もそれ自身と交差してはな
らない。
公理2:2つの区画の境界は、交差してならない。
特に、1つの区画は他の区画を取り囲むことができ
る。即ち、これら2つの区画は「入り子(nested)」状
になることができる。
本発明の1つの目的は、データベース構造、特にn次
元の情報をコンピュータの1次元のメモリ(即ち、1次
的な順序に配列されたページからなるメモリ)にマップ
することができ、逆にn次元のデータ・スペース内の指
定の点に関連するメモリから情報を効率的に検索ことが
できるその内部で使用するための階層インデックス構造
を提供することにある。
発明の開示 本発明の1つの態様により、データ・スペースを再帰
的(周期的)に連続又は個別のサブスペースに分割する
ことを表示する階層データ構造を使用するメモリを含む
コンピュータ・データ記憶管理システムであって、任意
のサブスペースの外部境界が、周期的に分割された同一
又は任意の他のレベルにおいて、任意の他のサブスペー
スの外部又は内部境界と交差はしないが、上記の他のサ
ブスペースの外部境界を包含するか、又は部分的に一致
し、 データ構造の階層が、ルート・ノード、複数のブラン
チ・ノード及び複数のリーフ・ノードを含む複数のノー
ドからなり、 データ構造の階層の各ノードが、対応する周期的区画
階層内においてそれぞれの又は下位のレベルにおけるサ
ブスペースを表示していて、 ルート・ノードが全データ・スペースを表示してい
て、 下位のレベル・ノードのそれぞれが、それぞれの親の
ノードにより表示されるスペースのサブスペース、又は
それぞれの親のノードの子孫によって表示されるスペー
スのサブスペースを表示し、下位の各レベル・ノードが
このノードからなり、 階層データ構造内のブランチ・ノードがインデックス
・ノードでありリーフ・ノードがデータ・ノードであ
り、 各データ・ノードが1組のデータ入力又は他の場所に
記憶されているデータ入力を参照する1組のポインタを
含み、 各データ入力が、データ・スペース内のデータ入力を
表示する点の座標を直接的又は間接的に指定する1つの
数値又は1組の数値を含み、 各インデックス・ノードが1組のインデックス入力を
含み、 各インデックス入力が、インデックス入力を含むイン
デックス・ノードの子の1つに一意に対応し、各インデ
ックス入力が以下の2項目に関連し、 (i)インデックス入力に対応する子のノードの論理ア
ドレスを参照する各ポインタ (ii)インデックス入力によって表示されるサブスペー
スの外部境界を直接又は間接に定義する1つの数値又は
1組の数値。
ノードの昇進が、メモリへの余分の情報の導入によるノ
ードのオーバーフローの結果起こり得るし、 昇進しないノードが、対応する周期的区画階層内でそ
れが表示するサブスペースのレベルと同じデータ構造階
層内のレベルにあるノードであり、昇進したノードが対
応する周期的区画階層内でそれが表示するサブスペース
のレベルより上位のデータ構造階層内のレベルにあるノ
ードであり、 それぞれのノードに昇進した任意の子のノードによっ
て表示されるサブスペースが、それぞれのノードの昇進
しない子によって表示される全てのサブスペースの結合
であるサブスペースであることと、 システムが、 (i)上記の余分な情報がメモリ内に導入され、その結
果、インデックス・ノードがオーバーフローを起こした
ときに、上記のインデックス・ノードが、上記のインデ
ックス・ノードが表示するスペースを2つのサブスペー
スに分割することによって、2つのインデックス・ノー
ドに分割され、上記の分割が、分割の結果生じた2つの
インデックス・ノード内のインデックス入力の数とでき
るだけ等しいか、又は分割の結果生じた2つのインデッ
クス・ノード間のインデックス入力の分配に関するバラ
ンスについて所定の基準に従っていて、分割の結果生じ
た2つのインデックス・ノードが自らが生成されたイン
デックス・ノードと同じデータ構造階層のレベルに配置
され、分割の結果生じた各インデックス・ノードが、親
として自らが生成されたインデックス・ノードの親を持
っていて、 (ii)分割の結果生じたインデックス・ノードによって
表される2つのサブスペースの一方の外部境界が2つの
サブスペースの他方の外部境界により囲まれていて、上
記のインデックス・ノード内のインデックス入力が、そ
の外部境界が上記の囲まれた外部境界と一致するサブス
ペースを表さず、上記インデックス・ノード内にその外
部境界が直接上記の囲まれた外部境界を包含しているサ
ブスペースを表す昇進していないか、又は昇進したイン
デックス入力が存在する場合、 上記の昇進していないか、又は昇進したインデックス入
力が上記インデックス・ノードの親へ昇進し、 もし、同一の周期的区画レベルに、その外部境界が第
1のサブスペースの外部境界によって囲まれていて、そ
の外部境界が第2のサブスペースの外部境界を囲んでい
る第3のサブスペースが存在しない場合、上記第1のサ
ブスペースの外部境界が直接上記第2のサブスペースの
外部境界を囲んでいることと、 インデックス・ノード入力のそれぞれが、データ・ス
ペースの周期的区画の階層内のレベルの表示及び入力で
表されるサブスペースのレベルの表示と関連しているこ
とと、 インデックス入力によって表されるサブスペースの内
部境界が、同一又はより上位の周期的区画レベルに属す
る1つ又はそれ以上のインデックス入力のインデックス
の存在により暗黙に定義され、そのそれぞれが上記イン
デックス入力が表すサブスペースの外部境界が直接包含
するサブスペースを表すことを特徴とするシステムが提
供される。
本発明のもう1つの態様により、データ・スペースが
多次元情報用のデータベースからなり、索引が階層構造
を持ち、データ・スペースが周期的に、インデックス・
トリー内に配列された対応するインデックス入力ノード
を持つサブスペースに分割される、データ・スペースの
索引に使用するためのコンピュータ実行方法であって、 上記の余分な情報がメモリ内に導入され、その結果、
インデックス入力ノードがオーバーフローを起こしたと
きに、上記のインデックス入力ノードが、上記のインデ
ックス・ノードが表示するスペースを2つのサブスペー
スに分割することによって、2つのインデックス・ノー
ドに分割され、上記の分割が、分割の結果生じた2つの
インデックス・ノード内のインデックス入力の数とでき
るだけ等しいか、又は分割の結果生じた2つのインデッ
クス・ノード間のインデックス入力の分配に関するバラ
ンスについて所定の基準に従っていて、 分割の結果生じた2つのインデックス・ノードが自ら
が生成されたインデックス・ノードと同じインデックス
・トリーのレベルに配置され、分割の結果生じたインデ
ックス・ノードが、親として自らが生成された上記イン
デックス・ノードの親を持っていることと、 分割の結果生じたインデックス・ノードによって表さ
れる2つのサブスペースの一方の外部境界が2つのサブ
スペースの他方の外部境界により囲まれていて、上記の
インデックス・ノード内のインデックス入力が、その外
部境界が上記の囲まれた外部境界と一致するサブスペー
スを表さず、上記インデックス・ノード内にその外部境
界が直接上記の囲まれた外部境界を包含しているサブス
ペースを表す昇進いていないか、又は昇進したインデッ
クス入力が存在する場合、上記の昇進していないか、又
は昇進したインデックス入力が上記インデックス・ノー
ドの親へ昇進し、昇進していないインデックス入力が、
それが対応する周期的区画階層内で表示するサブスペー
スのレベルと同じレベルのインデックス入力であり、昇
進したインデックス入力がそれが対応する周期的区画階
層内で表示するサブスペースのレベルより上位のデータ
構造階層内のレベルのインデックス入力であり、もし、
同一の周期的区画レベルに、その外部境界が第1のサブ
スペースの外部境界によって囲まれていて、その外部境
界が第2のサブスペースの外部境界を囲んでいる第3の
サブスペースが存在しない場合、上記第1のサブスペー
スの外部境界が直接上記第2のサブスペースの外部境界
を囲んでいることを特徴とし、 新しく生成したインデックス入力に、それが周期的区
画階層内で表示するサブスペースのレベルをつけ、それ
により自らが対応する周期的区画階層内のレベルより上
位のインデックス・トリー内のレベルに配置されたイン
デックス入力の検出を容易にすることを特徴とする方法
が提供される。
本発明のさらに他の態様により、複数の次元のデータ
・スペースの連続又は個別のサブスペースへの周期的の
分割を表示し、任意のサブスペースの外部境界が周期的
分割の同一又は任意の他のレベルの任意の他のサブスペ
ースの外部又は内部境界と交差はしないが、上記の他の
サブスペースの外部境界を包含、又は部分的に一致する
ことができるような階層データ構造を持つコンピュータ
・メモリの検索方法であって、データ構造階層がトリー
構造内にルート・ノード、複数のブランチ・ノード及び
複数のリーフ・ノードを含む複数のノードからなってい
て、 データ構造の階層の各ノードが、対応する周期的区画
階層内においてそれぞれ又は下位のレベルにおけるサブ
スペースを表示していて、 ルート・ノードが全データ・スペースを表示してい
て、 下位のレベル・ノードのそれぞれが、それぞれの親の
ノードにより表示されるスペースのサブスペース、又は
それぞれの親のノードの子孫によって表示されるスペー
スのサブスペースを表示し、下位の各レベル・ノードが
このノードからなり、昇進しないノードが、対応する周
期的区画階層内でそれが表示するサブスペースのレベル
と同じデータ構造階層内のレベルにあるノードであり、
昇進したノードが対応する周期的区画階層内でそれが表
示するサブスペースのレベルより上位のデータ構造階層
内のレベルにあるノードであり、昇進がメモリ内への余
分な情報の導入によるノードのオーバーフローによって
起こり、 それぞれのノードに昇進した任意の子のノードによっ
て表示されるサブスペースが、それぞれのノードの昇進
しない子によって表示される全てのサブスペースの結合
であるサブスペースであり、 階層データ構造内のブランチ・ノードがインデックス
・ノードでありリーフ・ノードがデータ・ノードであ
り、 各データ・ノードが1組のデータ入力又は他の場所に
記憶されているデータ入力を参照する1組のポインタを
含み、各データ入力が、データ・スペース内のデータ入
力を表示する点の座標を直接的又は間接的に指定する1
つの数値又は1組の数値を含み、 各インデックス・ノードが1組のインデックス入力を
含み、 この場合、 (i)上記の余分な情報がメモリ内に導入され、その結
果、インデックス・ノードがオーバーフローを起こした
ときに、上記のインデックス・ノードが、上記のインデ
ックス・ノードが表示するスペースを2つのサブスペー
スに分割することによって、2つのインデックス・ノー
ドに分割され、上記の分割が、分割の結果生じた2つの
インデックス・ノード内のインデックス入力の数とでき
るだけ等しいか、又は分割の結果生じた2つのインデッ
クス・ノード間のインデックス入力の分配に関するバラ
ンスについて所定の基準に従っていて、分割の結果生じ
た2つのインデックス・ノードが自らが生成されたイン
デックス・ノードと同じデータ構造階層のレベルに配置
され、分割の結果生じたインデックス・ノードが、親と
して自らが生成されたインデックス・ノードの親を持っ
ていて、 (ii)分割の結果生じたインデックス・ノードによって
表される2つのサブスペースの一方の外部境界が2つの
サブスペースの他方の外部境界により囲まれていて、上
記のインデックス・ノード内のインデックス入力が、そ
の外部境界が上記の囲まれた外部境界と一致するサブス
ペースを表さず、上記インデックス・ノード内にその外
部境界が直接上記の囲まれた外部境界を包含しているサ
ブスペースを表す昇進いていないか、又は昇進したイン
デックス入力が存在する場合、 上記の昇進していないか、又は昇進したインデックス
入力が上記インデックス・ノードの親へ昇進し、 各インデックス入力が、インデックス入力を含むイン
デックス・ノードのこの1つに一意に対応していて、各
インデックス入力が下記のものと関連していて、 (i)インデックス入力に対応する子のノードの論理ア
ドレスを参照する各ポインタ (ii)データ・スペースの周期的区画の階層内の入力に
よって表示されるサブスペースのレベルの表示 (iii)インデックス入力によって表示されるサブスペ
ースの外部境界を直接又は間接に定義する1つの数値又
は1組の数値 及び、インデックス入力によって表されるサブスペース
の内部境界が、同一又はより上位の周期的区画レベルに
属する1つ又はそれ以上のインデックス入力のインデッ
クスの存在により暗黙に定義され、そのそれぞれが上記
インデックス入力が表すサブスペースの外部境界が直接
包含するサブスペースを表し、 もし、同一の周期的区画レベルに、その外部境界が第
1のサブスペースの外部境界によって囲まれていて、そ
の外部境界が第2のサブスペースの外部境界を囲んでい
る第3のサブスペースが存在しない場合、上記第1のサ
ブスペースの外部境界が直接上記第2のサブスペースの
外部境界を囲んでいて、 データ・スペース内の一点を包含する最小のサブスペ
ースを捜して、周期的な区画階層を反復してサーチする
ことを特徴とする方法であって、上記点が捜している情
報項目を表していて、 上記サーチが、サーチが行われている間、対応するイ
ンデックス階層から周期的区画階層内に関連ノードを反
復して再構築することにより行われ、 サーチがインデックス・トリーのルート・ノードから
スターとし、捜している情報項目を表す点を直接囲んで
いるサブスペースを表す昇進しないインデックス入力を
捜して、インデックス・ノード内の昇進しないインデッ
クス入力のサーチが行われ、 上記の昇進していないインデックス入力がインデック
ス・ノード内で発見されない場合には、サーチは失敗し
終了し、 上記の昇進していないインデックス入力がインデック
ス・ノード内で発見された場合には、捜している情報項
目を表す点を直接囲んでいるサブスペースをそれぞれ表
示している昇進したインデックス入力を捜して、インデ
ックス・ノード内の昇進したインデックス入力のサーチ
が行われ、 捜している情報項目を表す点を直接囲んでいる上記の
昇進したインデックス入力のそれぞれのコピーが、順方
向へ送られ、レベルが1つ下がり、1組のインデックス
入力のサーチのみを行うために、サーチが行われる次の
索引ノード内に収容される。
サーチが行われる次の索引ノードは、捜している情報
項目を表す点を直接囲んでいるサブスペースを表示して
いる昇進していないインデックス入力に関連しているポ
インタによって参照されたインデックス・ノードであ
り、 捜している情報項目用の検索パス沿いに遭遇した異な
るインデックス・ノードの数が、データ・スペース内に
含まれる情報項目の一定の全数に対して一定であること
を特徴とする方法が提供される。
図面の簡単な説明 本発明の実施例を添付の図面を参照しながら説明す
る。
図1〜図3は、非常に簡単な2−レベルのインデック
スであり、 図4は、対応するBV−トリーであり、 図5は、対応するメモリ・ページの組織と内容であ
り、 図6〜図15は、種々の定義と公理であり、 図16a〜図16eは、データ・スペース(左)の一連の区
画と、対応するBV−インデックス構造(右)であり、 図16fは、レベルが上がった領域の分割であり、 図17及び図18は、正確にマッチしている検索の2つの
例であり、そして 図19は、コンピュータ・システムの略図である。
発明の実施モード 潜在的な問題、即ち、B−トリーをn次元に一般化す
るという問題が明らかに解決困難なものであるので、そ
の結果、n次元ケースの位相数学上の複雑さが増大して
いることは疑う余地がない。それについて以下により詳
細に説明する。
しかし、最初に、本発明による非常に簡単な2レベル
のインデックスの例を表示すると同時に、図2に示す方
法の見地から見た問題を示している図1〜図3を参照す
る。n次元のデータ・スペースは、その中において各座
標の数値の領域があるデータ属性に対応しているn次元
のデータ・スペースである。例えば、ある従業員記録の
場合には、従業員(認識番号、年齢)は、認識番号と年
齢を示す座標を使用して、2次元の空間内の一点として
表示することができる。全ての階層インデックスのアイ
デアは、全データ・スペース内において検索空間を反復
して狭めて行く方法である。インデックスの各レベルに
おいては、データ・スペース(又はデータ・スペースの
サブスペースを)より小さい区画に分割する。サブスペ
ースは、どんな形でもとることができるが、実際には、
単純で簡潔に表現できるように、例えば、長方形のよう
な単純な形をとるべきである。
図1〜図3においては、2次元のデータ・スペースの
サブスペースが、厳密な2進法の区画により、即ち、空
間のサイズを次々に正確に繰り返し二等分することによ
り生成される。ある区画の左手又は下半分を0で、右手
又は上半分を1で表すとすると、各サブスペースは、そ
れが生成された区画の順序に対応する0と1の連続で認
識することができる。例えば、サブスペースfは、一意
的な10110を持っている。
説明をわかりやすくするために、3つの点だけの座標
が各メモリ・ページ内に記憶できるものと仮定する。こ
の場合、図3に示すデータ配置に対しては、データ・ス
ペースは図2に示すように5つのサブスペースに分割し
なければならない。なぜなら、各サブスペースはメモリ
・ページに対応しているからである。また、この場合、
インデックス・ページは4つ以上の表示を記憶できない
と仮定すると、2レベルのインデックスが必要になる。
図1にデータ・スペースを対応する上位のインデックス
・ページ(階層のルート・ノード)に分割する方法を示
す。このページはデータ・スペースを低位のインデック
ス・レベルの2組の2つの区分に分割する。図2は低位
のレベルの全ての区画を示す。図2は、実際には、イン
デックスの2つの別々のノードを示す2つの独立した図
で示すべきものである。一方の図は、aとeとを含み、
他方の図はfとgとを含んでいる。このことが問題をは
っきりと示している。2つの中のどちらにdを入れるべ
きか。両方に部分的に入れることになる。BANGファイル
内においては、区画では区画の境界yにそって2つの部
分に分割しなければならない。過去に提案された全ての
他の設計は、同じような方法を使用している。
区画dを2つの部分に分割する場合に起きる問題は、
「釣合のとれた(balanced)」区画の原則が全ての失わ
れてしまうことである。既に説明したように、区画を示
すページがオーバーフローした場合には、分割の結果生
ずる両方の区画を、できる限り同じ数の構成要素を含む
ように2つに分割しなければならない。最悪の場合に
は、以下に説明するように、上記の数の比率が常に1:2
になることも起こりうる。もし、上記原則が全ての状況
で保証できない場合には、大部分の区画が1つの構成要
素しか含まないような配列を工夫ことができる。この場
合、インデックスの数は爆発的に多くなり、インデック
ス内の数ともはや比例しなくなる。それ故、上記の原則
により、完全に性能を予測することは極めて困難にな
る。
図3に示した例の場合、dを境界yに沿って「どうし
ても」分割しなければならない時には、その結果生じる
各分割区画が、実際の多次元配置の要件である、少なく
とも構成要素の1/3を含まなければならないという結果
は全く保証されない。
本発明が提案する、以下(ドイツ語の概念インデック
ス(Begriffsverzeichnis)に由来する)BV−トリーと
呼ぶトリー構造は、区画dをインデックス階層において
レベル1つ移動することにより、即ち、そうしない場合
はdを分割しなければならなかったレベルの下位のブラ
ンチ・ノードへ移動させることによって、この問題を簡
単に解決する。
図4は、対応するBV−トリーの概念的構造を示す。ラ
ベルをつけたボックスのそれぞれは、メモリ・ページに
対応し、インデックス・ブランチは、ブランチが示すペ
ージのアドレスに対応する。
しかし、BV−トリーの独特の特徴に注目すべきであ
る。即ち、低位の区画レベルのデータ・スペースのサブ
・スペースを直接示すサブ・スペースdは、インデック
ス内の上位のレベルへと移行する。その理由は後で説明
する。
図5は、対応するメモリ・ページの実際の組織と内容
を示す。
データ・スペースをサブ・スペース、即ち、領域に分
割することの意味を正確に定義するために、多くの定義
を行う必要がある。最初に、図6a及び図6bを参照する。
定義1.点Xは、データ・スペースD iff内の閉じた境
界Bの外側にあり、Xを通過する無限の長さの全ての直
線は、BとXの各辺上で0回又は偶数回交差する。
定義2.点Xは、データ・スペースD iff内の閉じた境
界Bの内側にあり、Xを通過する無限の長さの全ての直
線は、Xの各辺上でBと奇数回交差する。
次に図7a及び図7bを参照する。
定義3.2つの点X及びYは、閉じた境界B iffの相対す
る辺上にあり、X及びYを結ぶ直線はBと奇数回交差す
る。
定義4.2つの点X及びYは、閉じた境界B iffの同一辺
上にあり、X及びYを結ぶ直線はBと0回又は偶数回交
差する。
上記の公理について、図8a及び図8bで説明する。
公理1.如何なる境界もそれ自身と交差しない。
公理2.如何なる2つの境界も、交差しない。
定義5.閉じた境界Bは、データ・スペースD iffのサ
ブ・スペースDsを収容し、Ds上の各点Xは境界Bの内側
にある。
定義6.閉じた境界Bは、データ・スペースD iffのサ
ブ・スペースDsを独占的に収容し、BはDsを収容し、B
はDs内にない如何なる点も収容しない。
定義7.データ・スペースDの区画領域Pは有限又は無限
の長さの閉じた境界B(P)により独占的に収容されて
いる全てのサブ・スペースDsである。
データ・スペースDは、それ自身、その閉じた境界B
(D)がそのデータ領域又は範囲の有限又は無限の上部
限界及び下部限界により囲まれている区画範囲である。
定義8.区画範囲Paは、区画範囲Pb iffを収容し、Pb内
にある各点もまたPaにある。この場合、Pa∩Pb=Pb及び
Pa∪Pb=Paである。(図9参照) 定義9.区画範囲Paは、直接区画範囲Pb iffを収容し、P
aはPbを収容し、Pbを収容しPaにより収容されている他
の区画範囲Pcは存在しない。(図10参照) 定義10.もし、PcがPbを収容し、Pa及びPbの両方の境界
に共通な点が存在しない場合には、区画範囲Paは、厳格
に区画範囲Pbを収容する。(図11a参照) 定義11.もし、PaがPbを収容するが、PaがPbを厳格に収
容しない場合には、即ち、B(Pa)及びB(Pb)の共通
な少なくとも1つの点が存在する場合には、区会範囲Pa
は正接方向で区画Pbを収容する。(図11b参照) 公理2から、一方が他方を収容しない限り、2つの区
画範囲Pa及びPbは交差しないということが導き出され
る。
Pa∩Pb∈{φ,Pa,Pb}. 定義12.論理範囲Laは、区画範囲Pa及びそれが直接収容
する1組の区画範囲S={Pb1,Pb2,...,Pbn}との間の
違いである。
この定義から、論理範囲はそれぞれが1つ又はそれ以
上の内部境界及び外部境界を持つことができる1つ又は
それ以上の独立したサブ範囲からなるということが導き
出される。(図12、図13a及び図13b参照) 定義13.論理範囲Laの外部境界Be(La)は、Laからなる
m個の独立したサブ領域Lau(u=1,...,m)を独占的に
収容している境界のSBグループである。即ち、 定義14.論理範囲Laの内部境界は、Paが直接、厳格に収
容している区画範囲の集合体の1組の境界である。
上記定義によれば、論理範囲は常にそれが収容する空
間を横切っている。即ち、論理範囲により取り囲まれて
いる如何なる点も同時に、他の論理範囲により取り囲ま
れない。反対に、一般的に、ある区画範囲は、それが取
り囲んでいる空間を横切っていないことに注意すべきで
ある。また、PaがPbを取り囲んでいるような関係にある
一定の2つの区画範囲Pa及びPb'の場合には、論理範囲L
a≡Pa−PbがLb≡Pbを取り囲まないことに注意すべきで
ある。
区画範囲の分割について考えてみる。図14a及び図14b
について説明する。データ・スペースDは、上記の定義
及び公理に従って、1組の区画範囲Sp={P1,P2,...,P
n}に分割されていると仮定する。
更に、上記Spそれ自身が、Spa及びSpb'がそれぞれ区
画範囲Pa及びPb内に取り囲まれているという関係にある
2組のSpa及びSpbに分割されていると仮定する。即ち、 Pa∪Pb⊆D;Spa∪Spb=Sp;SLa∩SLb=φ (2) 全ての区画範囲が独立している場合には、Spa及びSpb
の基数が1以上違わないように、区画範囲のグループを
何時でも二等分することができる。即ち、区画Spに分割
することができる(図14b参照)。しかし、いくつかの
区画範囲が他の区画範囲を取り囲んでいる場合には、状
況はそれほど簡単ではない。直感的に理解できるよう
に、独立した区画範囲の数が増えた場合には、1:1に分
割できる機会は多くなる。独立した区画範囲が存在しな
い場合、即ち、全ての区画範囲が他の区画範囲を取り囲
んでいるか、又は他の区画範囲によって取り囲まれてい
る場合には、事態は最悪となる(図15a参照)。公理1
によれば、範囲の境界は交差しないので、グループSp
は、その中の1つが他を取り囲んでいるいくつかのグル
ープに分割しなければならない(図15B参照)。即ち、 Pa∪Pb=Pa;Pa∩Pb=Pb; ∀Pi∈Spa′∀Pj∈Spb′Pi∪Pj=Pi (3) この場合、最善のバランスの区画を発見するアルゴリ
ズムは以下のようになる。一般的に、La及びLbは、デー
タ・スペース内の全数の部分f(La)及びf(Lb)をそ
れぞれ含んでいると仮定する。即ち、f(La)+f(L
b)=1である。しかし、まず最初に、LaはSp'の最も外
側のメンバだけを取り囲んでいて、残りのメンバはLbに
よって取り囲まれている。Lbによって取り囲まれている
この残りのメンバの中の1つ以上のメンバ(即ち、Pbが
直接独立した区画範囲の1つのメンバを取り囲んでい
て、)これらの取り囲まれているメンバの1つPiそれ自
身が、Sp'の全部のメンバの半数以上を取り囲んでいる
場合には、グループSpは、Pbが直接Piによって取り囲ま
れるように再配置される。
Pbによって直接取り囲まれているどの区画範囲も、S
p'の全メンバの半分以上を取り囲んでいない場合には、
LbグループからLaグループへと1つ以上のメンバを移動
させる効果を持つPbのさらなる再配置によって、La及び
Lbの間によりよいバランスを得ることができる。しか
し、上記のバランスのアルゴリズムは複雑で、区画範囲
のサイズの指数を使用することになる。しかし、必要な
分割比は、最悪の場合の分割比の2:1以下に決してなる
ことはない。下記の証明も、この比率を維持するための
アルゴリズムの枠組みを提供する。
f(La)<1/3である場合には、f(Lb)>2/3であ
る。Pbが概念的に2つの任意の区画範囲Pb'及びPb"によ
って置き換えられたと仮定する。その場合、2つの異な
るケースが起こる。
(a) (L )2/3 and (L )2/3 (b) (L )>2/3 or (L )>2/3 両方のケースの場合、2つの(概念上の)区画範囲P
b'及びPb"がより大きい部分を取り囲むかによって、Pb
の再配置が行われる。f(Lb')+f(Lb")>2/3であ
るから、このより大きい部分は1/3より大きくなければ
ならない。それ故、(a)の場合、1/3<f(Lb)≦2/3
である。(b)の場合、f(Lb)>2/3である。しか
し、Pbは依然としてSの1つ以上のメンバを直接取り囲
んでいなければならない。なぜなら、Pbが直接取り囲ん
でいるメンバはどれもそれ自身1/2以上の部分を収容で
きないからである。それ故、結果的にそうならなければ
ならない、1つのメンバだけが直接Pbによって取り囲ま
れていなければならないというケース(a)が真となる
まで、Pb上で(概念上の)再分割作業を反復することが
できる。
これは決して新しい結果ではない。これは位相数学の
結果であり、全ての特殊のデータ・モデルとは全く無関
係であることが強調されるべきである。この証明は、結
果がほとんど直感的に明瞭であるので、それほど明白な
ものではないかも知れない。上記の直感的結果は、位相
数学上の観察、即ち、上に重ねたデータ・モデルは、通
常は、ものを不明瞭にするだけであるという観察が基づ
いている。
論理範囲の分割について考えてみる。もし、区画範囲
Paが区画範囲Pb'を取り囲んでいて、更に区画境界が他
の2つのそれらの間に導入されている場合には、Pa及び
Pb'によって取り囲まれているデータ・スペースの範囲
には何の影響も与えない。なぜなら、区画範囲はその
(外部)境界によって完全に定義されているからであ
る。
反対に、論理範囲Laは変化する。なぜなら、論理範囲
Laは、それが直接取り巻いている全ての区画境界によっ
て定義されている内部境界を持っているからである。
(それゆえ、Lbは変化しない。)一般的に、新しい区画
範囲PbがPa'内に直接導入されると、Laは2つの論理範
囲La'及びLb'に分割される。ここで、La=La'∪Lbであ
る。究極の目的、即ち、インデックスを構築するには、
データ・スペースを、それぞれがほとんど等しい数のデ
ータ・ポイントを含む1組の交差しないサブ・スペース
に分割しなければならない。それ故、上記の定義によ
り、これらのサブ・スペースは交差しない論理範囲でな
ければならないことは明かである。しかし、論理範囲は
区画範囲という言葉で定義されることに注意すべきであ
る。それ故、データ・スペースのサブ・スペースを論理
範囲として直接的に、又は1組の区画範囲として間接的
に表現することができる。特定の論理範囲に含まれるデ
ータ・ポイントもまた、直接そのデータ・ポイントを取
り囲んでいる区画範囲内にはっきりとしない形で存在し
ている。この場合、後者の場合には、目標のデータ・ポ
イントの検索は、単にデータ・ポイントを含んでいる最
小の区画範囲を探すことによって行うことができる。
空間的な広がりで1組の目標物を表現したり、索引
(indexing)したりする問題についてはまだ考察してい
ない。しかし、これによって生ずる基本的問題は、サブ
・スペースの階層を考察するときには避けて通ることは
できない。なぜなら、サブ・スペースそれ自身が空間的
な広がりを持っているからである。
データ・スペースの論理範囲に対する階層インデック
スの構造について考えてみる。トリー構造のインデック
ス内のブランチ・ノード及びリーフ・ノードは、論理範
囲を表していて、それが含む論理範囲のグループの表示
を含んでいる。各範囲は、トリー構造内の次の下位のレ
ベルのインデックス・ノードのポイントに関連してい
る。ブランチ・ノードはいくつかのグループの範囲を含
んでいる。リーフ・ノード・ポイント内の論理範囲に関
連するポインタは、データ・スペースの論理範囲内の1
組のデータ・ポイントを含むデータ・ノードを指してい
る。(区画範囲表示が選択された場合には、トリー内の
各ポインタは、論理範囲よりむしろ区画範囲に関連して
くるが、インデックス・ノードは依然として論理範囲を
表す。)各トリー・ノード及びデータ・ノード内の構成
要素の数(枝分かれ比)が固定上限のFを持っている以
外は、インデックス表示に対する制限は他に何もない。
この場合、B−トリーの場合と同様に、データ・スペ
ース内のデータ・ポイントの検索は、トリーのルートか
ら下方に向かって行われ、データ・ポイントを含む論理
範囲を求めて、各インデックス・レベルが捜索され、関
連のデータ・ポイントをたどって順位下位のレベルへと
向かう。
また、B−トリーの場合と同様に、インデックス階層
の底部のデータ・ノードがオーバーフローし分割が起こ
ると、インデックスは上に向かって成長する。全てのデ
ータ・ポイントが一意的なものである場合には、区画は
何時でもオーバーフローを起こしたデータ・ノードを2
つの半分の全ノードに分割することになる。インデック
ス・ノードがオーバーフローを起こした場合には、何時
でも、既に証明したように、それが1:2より良い比率で
含んでいる論理範囲を分割することができる。この最後
の特性は、特別の1次元のケースの場合に、B−トリー
により達成した1:1の分割比率とは対照的に、一般のn
次元のケースである。
しかし、インデックス・ノードの分割に関連する基本
的な問題には、今までは触れなかった。上記の再帰的
(周期的)な分割手順は、すでに述べた公理及び定義の
どれにも抵触しないが、論理又は区画範囲を連続したサ
ブスペースと解釈した場合には、曖昧さ(横断問題)が
生じる。
論理範囲LがPa∪Pb=Paのような状態に、2つの範囲
La及びLb'に分割されたと仮定する。Lがデータ・ノー
ドに対応している場合には、Lb内のデータ・ポイントを
Lbで示す新しいノードに移動することができる。しか
し、もし、Lがより高いインデックス・レベルの論理範
囲である場合には、それは次の下位のレベルの1組の論
理範囲SLを含んでいる。この場合、Pbの境界を任意に設
置することはできない。なぜなら、その境界はSL'の1
つ又はそれ以上のメンバの境界を容易に横切って、2つ
の境界は交差することはできないという制限に抵触する
からである。しかし、SLa及びSLbのサイズが2:1以上の
比率で異なることがないように、Pbの境界の位置を何時
でも見つけだすことができるということは周知である。
しかし、Pbの境界がSpaのメンバであるPai'の1つに
よって含まれないという保証はない。(例えば、Spの全
てのメンバの境界は、相互に入れ子状に配置することが
できる。)Paiはそれ自身Pbの境界に沿って分割されな
ければならない。Paiそれ自身が、インデックス・ノー
ドに対応している場合には、データ・ノードにたどりつ
くまで、次の下位のインデックス・レベルで同じ状況が
反復され、分割のさらなる連鎖反応を起こさずに、Pai
を何時でも分割することができる。
Lの最初の分割の区画境界は、下位のインデックス・
レベルのその後の全ての区画に対して使用する境界であ
る。即ち、最初の区画の位置だけを2:1の分割比率を維
持するために自由に選択することができる。基本的公理
に抵触しないこと、即ち、区画境界は下位のインデック
ス・レベルの範囲の境界と決して交差しないことを証明
することができる。しかし、重大な分割のアンバランス
が下位のレベルで起こる恐れがある。更に悪いことに
は、下位レベルのノードの分割は、上位のインデックス
・レベルでのオーバーフローを引き起こし、その結果、
更に下のレベルでの連鎖的なオーバーフローを引き起こ
す恐れがある。
この現象は、バランスをとったトリー構造に基づく全
ての多次元インデックス方法に絶えず現れるものであ
る。設計が複雑になり、工夫が凝らされているのは、ほ
とんどの場合、この問題を回避したりその影響をできる
だけ低く抑えようとした結果生じたものである。
論理範囲Lが分割されている場合には、Lという表示
を含むインデックス・ノードの修正が行われる。即ち、
Lという表示はLa及びLbという表示によって置き換えら
れる。領域Lai'内又は低位のインデックス・レベルにお
いてそれが含む全ての領域内において統一が行われなく
なる。Lbによって生成された新しいインデックス・ブラ
ンチを通る検索パスの動作を正しく行うために、分割し
なければならない。しかし、もう1つの方法がある。即
ち、Lai'を手つかずのままにして、検索パスを修正する
方法である。
La及びLbが論理領域Sa及びSbをそれぞれ含んでいると
仮定する。LaiがPb'の境界に沿ってL'ai及びL"aiに分割
されている場合には、下記のようになる。
しかし、La∩L"a=0とLb∩L'ai=0であるので、 このことは、検索がLa又はLbでそれぞれ失敗した場合
に、Laiが常に検索されるように、検索パスを変更する
ことができれば、Laiを分割しないで手つかずのままに
しておくことができることを示している。必要なこと
は、インデックス・ノードが分割アルゴリズムに従って
分割される前に、分割境界Pbを直接含む区画境界Paiを
表示する入力を探してノードを検索することである。Pa
iが存在する場合には、それは分割されないが、Pa及びP
bの入力に沿って、上位のレベルへ送られる。Paiのサブ
・トリーは、それとものに自動的に上位のレベルに送ら
れる。このサブ・トリーを直接分割によって生じた入力
から区別するために、マーカが上位に送られた入力に付
けられる。
BV−トリーの構造についての上位への昇進方針の結果
及びBV−トリーへのアクセスについては、下記の例によ
り更に詳しく説明し、実例により解説する。
上記の図16a〜図16eは、データ・スペース(左)の分
割の順序及び対応するBV−インデックス構造(右)を示
す。区画の境界が交差する恐れがない場合を除いて、デ
ータ・スペースの形状又は、その中に分割される任意の
サブ・スペースのついては、ここでは述べない。データ
・スペースは有限であってもよいし、無限であってもよ
い。
最初に、全部がデータ・スペースである単一の区画領
域がある。概念上、多数の点がこの領域に挿入される
(図16a)。(実際には、これらの点はデータ・レコー
ドに対応している。)点の表現方法についてはここでは
述べない。任意の1つの区画領域に挿入することができ
る最大数Pがあることだけを述べるにとどめる。
図16aの右側にあるのは、上記の点を含む区画領域を
示すデータ・ノードである。(実際には、このデータ・
ノードは、レコードが記録されるコンピュータのメモリ
の1つ又はそれ以上のページに対応している。) 区画領域の中に挿入された点の数がPを越えた場合に
は、領域を2つに分割しなければならない。オーバーフ
ローを起こしている領域を、何時でも、それぞれが単一
領域内に挿入することができる点Pの最大数の少なくと
も1/3を含む2つの新しい領域で置き換えることができ
るということを証明することができる。
図16bは、最初のオーバーフローが起こり分割を行っ
た後のデータ・スペースを示す。それぞれが区画領域の
1つを識別する一意のキーである2つの入力を含むイン
デックス・ノードが生成された。各インデックス・ノー
ド入力は、区画領域及びその閉じたデータ・ポイントを
示すデータ・ノードへのポインタと関連している。ここ
でもまた、区画領域の識別キーが生成され表示される方
法については触れないことにする。単一インデックス・
ノード内に記録することができる入力の数に関する最大
制限F(枝分かれ比)があることだけを述べておく。イ
ンデックス入力の順序を示したが、重要なものではな
い。即ち、実際には、選択した特別の順序は、区画領域
キーの表示形式及びこの表示による動作の効率によって
変わってくる。説明を分かりやすくするために、データ
・ポイントそれ自身は、以降の図面には表示していな
い。
普遍性を損なわないために、インデックス・ノードの
枝分かれ比Fを4と仮定する。図16cは、キーe,f,gを持
つ3つの追加区画領域の生成後の状況を示す。これによ
り、図16bのインデックス・ノードがオーバーフローを
起こす。キーa、d,e、f及びgを持つノード内に表示
されている領域は、新しい2つのレベルのインデックス
のルート・ノードを形成する領域x及びyの2つの領域
に分割される。図16cの左の部分は、インデックスの上
位レベル及び下位レベルで表示された区画領域を示す。
図16cの右の部分はまた、入力dの上位レベルへの昇
進を伴うインデックス分割を示す。分割の境界(この場
合は、領域yの境界)が現存の領域境界と一致しない
が、それ自身1つ又はそれ以上の境界によって囲まれて
いる場合には、その境界が直接分割の境界(この場合
は、領域d)を含んでいるその領域は、上位のインデッ
クス・レベルへと昇進する。dがサブ・トリーのルート
である場合には、サブ・トリーはそれと一緒に自動的に
昇進する。
トリー構造を横断している間に、昇進した入力は昇進
しなかった入力とは異なる方法で処理される。この場
合、昇進した入力は、昇進したというマークが付けられ
る。このマークは、図面(図16cの右側)に、領域dに
対する入力に影を付けるという形で表示されている。
図16dは、第2のオーバーフローと分割の結果を示
す。領域xがオーバーフローを起こし、x及びvに分割
されている。これにより、直接vを囲んでいる領域eが
昇進した。
最後に、図16eは、その後の数回の分割後の結果を示
す。その分割の中の最終の分割は第3のディレクトリ・
レベルの生成により生じたものである。特に、新しいル
ート・ノードの生成の結果、d及びyの両方が下位のレ
ベルから昇進している。このことは、領域pがqを取り
囲むような状態で、領域pが領域p及びqに分割され、
すでに昇進していようといまいと、下記のインデックス
・レベルでの直接qを含む領域を表す全ての入力が、p
及びqの入力レベルに昇進するという一般的な規則を示
す。(もし、a及びbが異なるインデックス・レベルか
らのものである場合には、2つの領域a及びbは、両方
とも直接第3のものを含むことができることに注意すべ
きである。) ノードn内の昇進した領域pも、オーバーフローを起
こし、その結果、2つの領域p1及びp11に分割すること
ができる。その結果できた2つの領域は、同じ方法で処
理される。この場合、もし、pがp1又はp11を表示する
場合には、次のようになる。
pが直接インデックス・ノードn内の昇進していない
領域を囲んでいる場合には、(追加の入力がノードをオ
ーバーフローさせない限り)pはそのノード内に留ま
る。そうでない場合、pより低位の全ての昇進レベル
の、又は昇進していない、直接pを囲んでいる入力eを
探すために、ノードn内で検索が行われる。その後、同
じアルゴリズムにより、pが入力pが指し示しているノ
ード内に挿入される。即ち、それが昇進していない領域
を囲んでいない場合には、それ自身のもとのインデック
ス・レベルまで、更にレベルが下がる。
例えば、図16eの領域dがオーバーフローを起こし、
図16fに示すように分割されたと仮定する。ルート・イ
ンデックス・ノードにおいては、入力d11は、直接昇進
していない入力qを囲んでいるので、d11はルート・ノ
ードに挿入される。d1はルート・ノード内の入力を含ん
でいないでの、それをpが指し示すノードに挿入しよう
とする。なぜなら、pは直接d11を囲んでいるからであ
る。
その後、このアルゴリズムは反復して行われる。即
ち、d1はvを含んでいるが、直接ではない。なぜなら、
eがvを直接含んでいるからである。それ故、d1はxが
指し示すノード内に挿入される。なぜなら、xは直接d1
1を含んでいるからである。ここでアルゴリズムが終了
する。なぜなら、入力d1の昇進していないレベルに到達
したからである。
正確なマッチ(exact−match)の検索について考え
る。この場合、インデックス・トリーの順方向及び逆方
向への検索の組合わせからなるアルゴリズムが必要であ
る。順方向への検索は、トリーのルートから始まる。検
索は、指定のデータ・ポイント(即ち、マッチしている
検索キー)を含む最小の領域を探して、ルート・ノード
内で行われる。上記の領域が発見された場合には、関連
するポインタをたどって、データ・ノードに到達するま
で、インデックス・トリーの下位の次のレベルへと順次
検索が行われる。その後、指定のデータ・ポイントにマ
ッチするデータ・ポイントを求めて、データ・ノードの
検索が行われる。マッチするものが発見されると、検索
が続行する。さもない場合は、失敗ということになる。
どちらの場合においても、検索は終了する。
この順方向への検索の上で、順方向への検索のパスを
逆にたどる検索が行われる。順方向への検索の間に任意
のレベル1でマッチする入力が発見されると、昇進しな
いマッチしている入力レベルiによって直接囲まれてい
て、全てのレベルでの既に発見されているマッチしてい
る領域より更にマッチしている(即ち、より小さな領
域)、レベルLからの昇進領域を探して、それぞれのよ
り高いレベルi(1≦i<L)で検索を行いながら、ル
ートまで逆に検索が行れる。逆方向への検索の間に上記
の更に良いマッチが発見されない場合には、順方向への
検索が、逆方向への検索が開始された点、即ち、レベル
Lにおける最後の昇進してない入力によって指し示され
た(L+1のレベルの)ノードから再開する。そうでな
い場合には、順方向の検索は、最もマッチした入力によ
り指し示されたノードから再開する。このノードもまた
レベルL+1にあることに注意すべきである。
順方向の検索がレベルLのブランチ・ノードで失敗し
た場合には、逆方向の検索が再開するが、今回は、レベ
ルiにおける昇進していないマッチしている入力を直接
囲んでいるレベルLからの昇進した領域を探して、それ
ぞれのより高いレベルi(1≦i<L)において検索が
行われる。逆方向への検索は最初の上記のマッチしてい
る入力が発見され次第停止し、順方向への検索がそれが
指し示しているノードから再開する。このノードもまた
L+1レベル上にある。この逆方向への検索行っても、
全てのレベルでマッチしている入力が発見できない場合
には、検索はルートから離れ、失敗し、終了する。
正確にマッチしている入力の検索の2つの例を以下に
説明する。
最初に図17について説明する。同図に示すとおり、3
つのレベルのインデックスにより分割されたデータ・ス
ペース内の位置Pにデータ・ポイントがあるものと仮定
する。Pに対する検索は下記のように行われる。
ルートを起点として、データ・ポイントPで生成され
たキーはルート内の入力Pとマッチし、入力Pとしかマ
ッチしない。その後、入力Pに関連するポインタをたど
って、インデックス・レベル2まで下がる。このレベル
において、検索キーはxだけとマッチする。
この時点において、逆方向への検索が開始する。即
ち、逆方向への検索がレベル1上において、レベル2か
ら昇進した入力に対して行われる。yがこの場合の唯一
の候補である。yは直接pによって囲まれているが、y
は点Pを囲んでいない。それゆえ、このレベルでの逆方
向への検索は失敗し、より高いレベルはないので全体が
失敗となり、順方向への検索がレベル3のxによって指
し示されているノードから再開する。
aはレベル3においてPにマッチする唯一のものであ
る。逆方向への検索が再度開始する。即ち、検索がレベ
ル2上において、レベル3から昇進してきた入力に対し
て行われる。eが唯一の候補である。eは直接xで囲ま
れ、Pを囲み、前回の最良のマッチ入力aより小さい。
それ故、eが現在の時点での最良のマッチ入力になる。
しかし、逆方向への検索は続行する。レベル1におい
て、dは唯一の候補である。しかし、dはeより小さく
ないので、依然としてeが最良のマッチ入力である。ル
ートを検索した後、逆方向への検索は停止し、順方向へ
の検索がeとして指定されたノードから再開する。これ
はデータ・ノードであるので、このノード内で点Pが発
見されると、検索は成功したことになる。
図18について説明すると、点Pは現在図18に示す位置
にあると仮定する。Pに対する検索は以下のように行わ
れる。
ルートから始動したキーは入力qとマッチする。しか
し、レベル2において検索は失敗する。なぜなら、Pは
zにもwにも存在しないからである。その結果逆方向へ
の検索が開始する。レベル1において、yはレベル2か
ら昇進した唯一の候補入力である。yはまたレベル1内
の昇進していないマッチしている入力であるqを直接囲
んでいる。この場合、逆方向への検索は停止し、yが順
方向への検索の新しい出発点になる。しかし、レベル3
で検索は再び失敗する。何故なら、Pはfにもnにも存
在しないからである。この場合、逆方向への検索が再び
開始する。レベル1において、dがレベル3から昇進し
てきた唯一の候補入力である。dは直接qを囲み、Pを
囲んでいる。逆方向への検索が再び停止し、順方向への
検索がdから継続する。dと指定されたノードはデータ
・ノードであるので、点Pがこのノード内で発見された
とき検索は成功したことになる。
この解決方法には欠点がある。インデックス・トリー
はもはやバランスを失っている。一目見ただけで、これ
は階層索引の最も重要な原則に抵触している。即ち、ル
ートからリーフへの検索パスが一定ではなく、正確なマ
ッチ入力に対する最悪のケースが制御できなくなってい
る。しかし、実際に重要なものは、パスの長さではな
く、横断の際に遭遇する異なるトリーのブランチ・ノー
ドの数である。検索パスに逆方向への検索が関係してい
る場合には、これら2つのものは異なってくる。パスの
全長は、予め予測できる上限を持っていなければならな
いが、標準的キャッチ技術を使用した場合、ルートから
リーフへの直接パスに沿って存在している、あるノード
を再度検索するのに余分の検索費用は掛からないとする
のが合理的な実用的考え方である。
上記の検索アルゴリズムに従って、正確なマッチパス
の下の部分及び上の部分を考察してみる。目標とする位
置が昇進した論理領域内にある場合には、下方向への検
索は失敗し、その失敗は領域が昇進する前のレベルで起
こる。正確なマッチの検索の際の下方への横断工程中に
遭遇した全てのノードの合計は、一定のトリーのサイズ
に対しては一定である。同様に、昇進したサブトリーは
トリー内の更に上位のレベルへと昇進するであろうけれ
ども、任意の論理領域の昇進の全体の高さは、トリーの
高さ以上にはなりえない。それ故、正確なマッチの検索
の際に遭遇した異なるブランチ・ノードの数は、常にト
リーの高さに等しい。
任意のサブ・トリーが好きなように高いレベルに昇進
できるなら、バランスのとれたトリー構造の極めて重要
な特性は失われてしまうと考えられる。即ち、データ・
ノードの数とインデックスのルートからリーフへのバス
の長さの間の対数的関係は失われてまうと考えられる。
この関係を樹立するためには、何よりも、ルートからリ
ーフへの直接パスの長さが、インデックス・トリーの一
定の状態に対して一定でなければならない。即ち、トリ
ーのバランスが完全にとれていなければならない。ま
た、(ルートを除く)各インデックス・ノードにおける
枝分かれ比が(少なくとも1より大きくなくてはならな
い)一定の最小値以下に下がってはならない。インデッ
クス・ノードの数とデータ・ノードの数との間の直線的
関係は、これら要件のもう1つの帰結である。
しかし、サブ・トリーの昇進は、上記の状況下及びイ
ンデックス・ノードがオーバーフローを起こして分割さ
れた時にだけで起こるものである。それ故、最初のもの
を除いて、全てのインデックス・ノードは、分割によっ
て生ずるので、全体からみれば、既に昇進している入力
の分割によらなければ、昇進していない入力の数より昇
進したインデックス入力の数が多くなることはありえな
い。何故なら、上記の昇進した入力の分割は、同じ(昇
進した)レベルにおいて第一の入力を生成するからであ
る。
それはまた、下位のレベルからのさらなる昇進を生ず
る。都合の良いことに、上記の場合には、上記の分割か
ら生じた入力の中の1つを除いて全てを、インデックス
・トリー内のそのもとの(昇進していない)位置に戻す
ことができることを証明することができる。また、入力
が昇進済みの場合、即ち、トリーのバランスがとれてい
る場合、必要としたもの以上のノード・アクセスを必要
としないことも証明することができる。
しかし、このことはインデックス・ノード内には、昇
進していない入力の数より多くの昇進した入力が決して
存在しないということを意味するものではない。領域p
が、領域pがqを囲むように領域pとqに分割される
と、既に昇進していようといまいと、下位のインデック
ス・レベル上の直接qを囲んでいる領域を表している全
ての入力は、p及びq用の入力レベルへ昇進する。この
場合、上記の結果は、入力がインデックス・トリー内を
昇進する度に、累積することができる。一般的にいっ
て、最大の深さがdであるインデックス・トリーのレベ
ルLのノード内の昇進した入力の可能な最大数は、n
(d−L)である。この場合、nはノード内の昇進して
いない入力の数である。
それ故、BV−トリー内のルートからリーフへの正確な
マッチの検索パスが同じ数のデータ・ノードのを持つバ
ランスのとれているトリーのそれよりもはや多くないこ
とを保証するために、BV−トリーのレベルLのインデッ
クス・ノードのサイズは、係数(d−L+1)だけ増大
していなければならない。(しかし、インデックス・ノ
ード占有率は依然として1/3以下になっていないことに
注意すべきである。)実際には、この結果をしんしゃく
してもあまり意味はないであろう。しかし、少なくと
も、必要な場合には、制御可能な方法でそうすることが
でき、予測できる結果を得ることができる。
これが、n次元のB−トリーの特性を手に入れるため
に払わなければならない唯一の労力である。B−トリー
の場合の1/2に比較すると、最悪の場合のインデックス
・ノードの占有率は、わずか1/3に過ぎない。しかし、
これは独自のインデックスの設計に由来するものではな
く、位相数学上の配慮によるものである。更に重要なこ
とは、この占有レベルが全ての状況下で全てのインデッ
クス・ノードに対して保証されていて、その結果、全イ
ンデックスに対して最小の占有率が保証されていること
である。組変数の任意の一定の属性に対して、2つの組
変数が同じ属性の値を持っていない場合には、データ・
ノードの最悪の場合の占有率は、依然として1/2であ
る。そうでない場合には、最悪の場合の占有率は1/3に
低下する。
上記のBV−トリー(メモリ・ページの階層インデック
ス)は、全ての状況下において下記の特性を満足し、保
証するように、メモリ・ページの内容及びそれらページ
間のアクセス・パスを整備する。
1.各ページはデータ・スペースの一意のサブ・スペース
の表示に対応する。
2.対応するデータ・スペース内の単一の指定された点を
表すデータを持っているページにアクセスするのに要す
る時間は、全スペースを表示するのに使用される全ペー
ジ数だけで決まり、上記数に対して対数的に増大する。
特に、時間は選択した点とは無関係である。
3.各ページのデータ占有率は、決して一定の容認できる
最低値(1/3)以下に下がらない。
4.データ・スペース内の点の配置は、メモリ・ページ内
のデータの配置によく反映されている。即ち、データ・
スペース内の隣接する点は、できる限り、単一のメモリ
・ページ内に表示される。
5.対応するメモリ・ページ内のデータ・スペース内の指
定の点を挿入、削除及び修正するのに要する時間は、全
ページ数に対して対数関係にある。
6.アクセス、挿入、削除及び修正作業は、時間の経過及
び/又は使用の程度の結果に悪影響を及ぼさない。
BV−トリーは、データ・スペースのサブ・スペースの
階層への周期的な分割を示している。BV−トリーの1つ
の特徴は、インデックス・トリー内のいくつかの入力が
トリーのより上位のレベルへと「昇進」できることで、
その結果、トリーの一番上から一番下までの直接のパス
の長さが、選択されたパスから必ずしも独立していない
が、データ・スペース内の個々の点に対する検索パス沿
いに遭遇するインデックス階層の異なるノードの数が、
点の一定の全数に対して常に一定である。
どのインデックス入力が上記の方法で昇進したかを検
出することができるように、各インデックス入力にはそ
の「レベル番号」が「貼付」される。このレベル番号が
入力が「生成」されたインデックス・トリーのレベルで
ある。拡張するトリーは、ルートの分割によって成長す
るので、最も低い(倒置の)トリー・ノード内の入力に
は、レベル1が割り当てられ、ルート・ノード内の入力
にはそれまで生成された一番高いレベルが割り当てられ
る。
本質的には、インデックス内の1つの点を発見するた
めの検索アルゴリズムは、B−トリー内部の場合と同様
な、古典的な正確なマッチ・トリーと同じものである。
検索は階層の各レベルにおいて、上記点がある「最も小
さい」区画を求めて、ルートから下方に向かって反復し
て行われる。全ての他の上記の設計との重要な相違は、
インデックス「トリー」は、もはや直接インデックス
「階層」に対応していないということである。
例えば、図17において、インデックス階層のレベル3
と表示されたこれら入力だけが、最初に、インデックス
・トリーの一番上のレベルで調査される。この例におい
ては、p及びqがそれに当たる。入力d(レベル1)及
びy(レベル2)は無視される。入力Pに対してマッチ
するものが発見されたと仮定する。この場合、検索が次
の下位の階層レベルで反復して行われる。次の下位の
「階層」レベルでの入力は、x,v及びyである。即ち、
それらは全てのインデックス「トリー」の同じレベルに
存在しないにもかかわらず、今まで横方向に検索した全
ての入力には、レベル2が表示される。yを分割する際
の問題は、yを分割しないことで回避される。代わり
に、インデックス・トリーのどちらの側を下向きに検索
が行われるにしても、yが検索の中に含められる。図17
において、dが実際にいくつかのレベルを越えて昇進し
たのは、このアイデアを全インデックスに反復して適用
した結果である。例えば、もし、目標とする点が階層レ
ベル2の区画vに存在している場合には、レベル1で検
索した区画はs、r,e及びdである。即ち、インデック
ス・トリーを下方に向かった検索している間に横方向で
遭遇したノード内のレベル1の全ての入力である。区画
vにマッチする入力が発見された場合には、それはまた
vを取り巻いている区画xにもマッチするものと思われ
る。しかし、このような曖昧さは解決することができ
る。何故なら、インデックス内の「最小の」マッチする
入力は1つだけ、即ち、入り子状の一番内側のものだか
らである。
本発明が関係する、BV−トリーに関する多次元問題の
解決方法は、すばらしいものである。今までは、インデ
ックス・トリーのバランスは正確にとられていなければ
ならなかった。即ち、ルートからリーフへのへの直通パ
スは、全ての可能なパスに対して同じでなければならな
いと仮定してきた。この仮定は、遭遇するトリーのノー
ドの数を全ての直通パスに対して同じにするためのもの
であった。この2つのものは自動的に行われると常に仮
定してきた。BV−トリーはそうでないことを証明してい
る。トリーの上向き及び下向きのサーチ・パスが、遭遇
する異なるノードの数が常に同じになるように配置され
ている場合には、トリー構造が以下にアンバランスであ
ろうと問題にはならない。
区画の位置、それらの形及びそれらが表示される方法
によって、本発明は如何なる影響も受けない。区画に関
する唯一の制限は、公理1及び2による制限だけであ
る。上記公理は、それらが属する階層レベルが何であろ
うとも、無差別に全ての区画に適用される。図16の奇妙
な形の区画は、このことを強調するために、慎重に選ん
だものである。通常、インデックスの設計は、設計の
「原理」とその「実行」との間に区別をつけない。これ
は通常行われていることである。何故なら、設計は非常
に実行に左右されるからである。実際には、図16のよう
な区画の形は実用的ではない。何故なら、そのような形
を簡潔で正確に表現することは困難だからである。それ
故、長方形が通常選択される。長方形は多くの方法で表
現することができる。一番分かりやすい方法は、底部の
左手の隅と頂部の右手の隅の座標を指定するやり方であ
る。この方法を使用すれば、如何なる大きさの箱も長方
形も表現できる。図1〜図4に他の表現方法を示す。こ
れらの図においては、データ・スペースの分割は、サイ
ズは異なるが、区画を繰り返し、正確に同じ大きさに二
等分することにより行われる(2進法による分割)。こ
の方法によれば、各区画に対する一意の2進法による識
別記号を生成することができる。
更によりよく理解してもらうために、BANGファイルと
BV−トリーとの違いを繰り返して説明する。しかし、本
発明はBANGファイルを単に拡張したものではないことを
理解すべきである。区画を分割したときにインデックス
入力が昇進するという特徴は、対応する有利な点と一緒
に他のインデックスに同じように適用することができ
る。
原則的には、BANGファイルのインデックスの階層も、
BV−トリーのインデックス階層も同じものである。BANG
ファイルに使用されているデータ・スペースの2進法に
よる区画も、可変長ストリングとしてのBANGファイルの
これら2進法による区画の表現も、BV−トリーの1つの
可能な表現内で使用することができる。上記の説明から
明かであると思うが、図16等のストリング状の区画が証
明しているように、区画への分割は2進法でなくてもか
まわない。例えば、BV−トリーも、その内部において、
区画をデータ・スペースの1つの次元の範囲内の任意の
点における任意の順序に並べた分割部分として記述して
いる範囲に基づく表現により記述することができる。他
にも多くの方法がある。BANGファイルの2進法の領域に
基づく区画の表現が、BV−トリーを表現する唯一の方法
ではない。
トリーを下方に向かって行う反復的正確にマッチする
インデックスの検索アルゴリズムも、本質的には、BANG
ファイルの場合も、BV−トリーの場合も同じものであ
る。基本的な相違は、BANGファイル内の階層レベルLの
インデックス入力は、全てのトリー内のレベルLに記憶
されるが、一方、BV−トリーの場合には、階層レベルL
の入力は、Lより高いインデックス・トリーのレベルに
現れる場合があるということである。
BANGファイルの場合には、それぞれの正確にマッチし
ている入力の検索は、インデックス・トリーのルートか
らリーフの1つへの最も短いパスを通って行われる。遭
遇するトリーのノードの数は、全ての上記パスに対して
同じであり、トリー階層内のレベルの数、即ち、完全に
バランスのとれたトリーの高さに等しい。しかし、BV−
トリーの場合には、それぞれの正確にマッチする入力の
検索は、同じ数の異なるトリーのノードをチェックする
が、この数はインデックス・トリーのルートからリーフ
への最も長い直通パス、即ち、トリーの最高の高さhに
等しい。
BANGファイル及びBV−トリーの場合、如何なるインデ
ックス・トリーレベルにおいても、オーバーフローを起
こしている区画を常に分割することができる。その結果
生ずるそれぞれの区画は、もとの区画の内容(データ又
は区画)の少なくとも1/3を含んでいる。しかし、BANG
ファイルの場合には、同様に、より下位のインデックス
・レベルの他のもう1つの区画を分割しなければ、一般
的に上記の分割を行うことができない。この場合、上記
の分割のバランスを維持することは、一般的にできな
い。BV−トリーの場合は、区画を昇進させることによっ
て、この問題を回避している。
BV−トリーには、下記の利点がある。
1.(関連する)データベースの検索パターンが予知でき
ない場合には、平均的反応時間を従来の1次元のインデ
ックスを使用した場合に比較すると、一桁速くすること
ができる。(一定の検索パターンが使用されている場合
には、n次元のインデックスもを1次元のインデックス
として使用することができる。) 2.nが検索したデータ・ポイントの総数で、Bがページ
当たりのインデックス入力の最大数である場合には、0
(n/B)でn次元の索引を行うことができ、正確にマッ
チする入力の検索I/O時間を(nをベースとする対数
B)0で、最悪の場合の更新時間を(nをベースとする
対数B)0で行うことができる。
上記の階層インデックス構造、データベース構造、索
引及び検索技術はメモリ、特に、1次元メモリ、即ち、
ページが1次に配列されているメモリを含む全てのコン
ピュータ・システム内で使用することができる。コンピ
ュータ・システムは、図19に略図を示した、コンピュー
タ(プロセッサー)1、メモリ装置2、入力装置3及び
ディスプレイ装置4からなるものを使用することができ
る。
フロントページの続き (56)参考文献 M.W.Freeston,Adva nces in the design of the BANG file, 3RD CONFERENCE ON FOUNDATIONS OF DAT A ORGANIZATION AND ALGORITHMS,フランス, 1989年 6月21日,第322頁乃至第338頁 M.Freeston,A weel −behaved file stru cture for the stor age of spatial obj ects, 1ST SYMPOSIU M ON DESIGN AND IM PLEMENTATION OF LA RGE SPATIAL DATABA SES,ドイツ,1990年 7月17日,第 287頁乃至第300頁 D.GREENE,An imple mentation and perf ormance analysis o f spatial data acc ess methods, 5TH I NTERNATIONAL CONFE RENCE ON DATA ENGI NEERING, 米国,1989年 2月 8日,第606頁乃至第615頁 Y.ohsawa ET AL,A new tree type data structure with ho mogeneous nodes su itable for a very large spatial data base, 6TH INTERNAT IONAL CONFERENCE O N DATA ENGINEERIN G,米国,1990年 2月5日,第296頁 乃至第303頁 B.SEEGER ET AL, T he buddy−tree:an e fficieft and robus t access method fo r spatial data bas e systems, 16TH INT ERNATIONAL CONFERE NCE ON VERY LARGE DATABASES, 1990年 8月13 日,第590頁乃至第601頁 喜連川優 他,KD−木インデックス を有するリレーションに対する結合演算 アルゴリズム(KDジョイン)とその評 価,電子情報通信学会論文誌 J−76 D−I, 日本,社団法人 電子情報通 信学会,1993年 4月25日,第4号,第 172頁乃至第183頁 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】データ・スペースを再帰的に連続した又は
    個別のサブスペースに分割することを表示する階層デー
    タ構造を使用するメモリを含むコンピュータ・データ記
    憶管理システムであって、任意のサブスペースの外部境
    界が、再帰的に分割された同一又は任意の他のレベルに
    おいて、任意の他のサブスペースの外部又は内部境界と
    交差はしないが、上記の他のサブスペースの外部境界を
    包含するか、又は部分的に一致し、 データ構造の階層が、ルート・ノード、複数のブランチ
    ・ノード及び複数のリーフ・ノードを含む複数のノード
    からなり、 データ構造の階層の各ノードが、対応する再帰的区画階
    層内においてそれぞれの又は下位のレベルにおけるサブ
    スペースを表示していて、 ルート・ノードが全データ・スペースを表示していて、 下位のレベル・ノードのそれぞれが、それぞれの親のノ
    ードにより表示されるスペースのサブスペース、又はそ
    れぞれの親のノードの子孫によって表示されるスペース
    のサブスペースを表示し、下位の各レベル・ノードが子
    のノードからなり、 階層データ構造内のブランチ・ノードがインデックス・
    ノードでありリーフ・ノードがデータ・ノードであり、 各データ・ノードが1組のデータ入力又は他の場所に記
    憶されているデータ入力を参照する1組のポインタを含
    み、 各データ入力が、データ・スペース内のデータ入力を表
    示する点の座標を直接的又は間接的に指定する1つの数
    値又は1組の数値を含み、 各インデックス・ノードが1組のインデックス入力を含
    み、 各インデックス入力が、インデックス入力を含むインデ
    ックス・ノードの子の1つに一意に対応し、各インデッ
    クス入力が以下の2項目 (i)インデックス入力に対応する子のノードの論理ア
    ドレスを参照する各ポインタ (ii)インデックス入力によって表示されるサブスペー
    スの外部境界を直接又は間接に定義する1つの数値又は
    1組の数値に関連していて、 ノードの昇進が、メモリへの余分の情報の導入によるノ
    ードのオーバーフローの結果として起こり、 昇進しないノードが、対応する再帰的区画階層内で昇進
    しないノードが表示するサブスペースのレベルと比較し
    てデータ構造階層内の同じレベルにあるノードであり、
    昇進したノードが対応する再帰的区画階層内で昇進した
    ノードが表示するサブスペースのレベルと比較してデー
    タ構造階層内の上位のレベルにあるノードであり、 それぞれのノードに昇進した任意の子のノードによって
    表示されるサブスペースが、それぞれのノードの昇進し
    ない子によって表示される全てのサブスペースの結合で
    あるサブスペースであり、 システムが、 (i)上記の余分な情報がメモリ内に導入され、その結
    果、インデックス・ノードがオーバーフローを起こした
    ときに、上記のインデックス・ノードが表示するスペー
    スを2つのサブスペースに分割することによって、上記
    インデックス・ノードが2つのインデックス・ノードに
    分割され、上記の分割が、分割の結果生じた2つのイン
    デックス・ノード内のインデックス入力の数とできるだ
    け等しいか、又は分割の結果生じた2つのインデックス
    ・ノード間のインデックス入力の分配に関するバランス
    について所定の基準に従っていて、分割の結果生じた2
    つのインデックス・ノードが自らが生成されたインデッ
    クス・ノードと比較してデータ構造階層の同じレベルに
    配置され、分割の結果生じた各インデックス・ノード
    が、親として自らが生成されたインデックス・ノードの
    親を持っていて、 (ii)ペースの一方の外部境界が2つのサブスペースの
    他方の外部境界により囲まれていて、上記のインデック
    ス・ノード内のインデックス入力が、その外部境界が上
    記の囲まれた外部境界と一致するサブスペースを表さ
    ず、上記インデックス・ノード内にその外部境界が直接
    上記の囲まれた外部境界を包含しているサブスペースを
    表す昇進していないか、又は昇進したインデックス入力
    が存在する場合、 上記の昇進していないか、又は昇進したインデックス入
    力が上記インデックス・ノードの親へ昇進し、 もし、同一の再帰的区画レベルに、その外部境界が第1
    のサブスペースの外部境界によって囲まれていて、その
    外部境界が第2のサブスペースの外部境界を囲んでいる
    第3のサブスペースが存在しない場合、上記第1のサブ
    スペースの外部境界が直接上記第2のサブスペースの外
    部境界を囲み、 インデックス・ノード入力のそれぞれが、データ・スペ
    ースの再帰的区画の階層内のレベルの表示及び入力で表
    されるサブスペースのレベルの表示と関連して、 インデックス入力によって表されるサブスペースの内部
    境界が、同一又はより上位の再帰的区画レベルに属する
    1つ又はそれ以上の他のインデックス入力のインデック
    スの存在により暗黙に定義され、そのそれぞれが上記イ
    ンデックス入力が表すサブスペースの外部境界が直接包
    含するサブスペースを表すことを特徴とするシステム。
  2. 【請求項2】データ・スペースが多次元情報用のデータ
    ベースからなり、索引が階層構造を持ち、データ・スペ
    ースが、インデックス・トリー内に配列された対応する
    インデックス入力ノードを持つサブスペースに再帰的に
    分割される、データ・スペースの索引に使用するための
    コンピュータ実行方法であって、上記の余分な情報が導
    入され、その結果、インデックス入力ノードがオーバー
    フローを起こしたときに、上記のインデックス入力ノー
    ドが、上記のインデックス・ノードが表示するスペース
    を2つのサブスペースに分割することによって、2つの
    インデックス・ノードに分割され、上記の分割が、分割
    の結果生じた2つのインデックス・ノード内のインデッ
    クス入力の数とできるだけ等しいか、又は分割の結果生
    じた2つのインデックス・ノード間のインデックス入力
    の分配に関するバランスについて所定の基準に従ってい
    て、 分割の結果生じた2つのインデックス・ノードが自らが
    生成されたインデックス・ノードと比較してインデック
    ス・トリーの同じレベルに配置され、分割の結果生じた
    各インデックス・ノードが、親として自らが生成された
    上記インデックス・ノードの親を持ち、 分割の結果生じたインデックス・ノードによって表わさ
    れる2つのサブスペースの一方の外部境界が2つのサブ
    スペースの他方の外部境界により囲まれていて、上記の
    インデックス・ノード内のインデックス入力が、その外
    部境界が上記の囲まれた外部境界と一致するサブスペー
    スを表さず、上記インデックス・ノード内にその外部境
    界が直接上記の囲まれた外部境界を包含しているサブス
    ペースを表す昇進いていないか、又は昇進したインデッ
    クス入力が存在する場合、上記の昇進していないか、又
    は昇進したインデックス入力が上記インデックス・ノー
    ドの親へ昇進し、昇進していないインデックス入力が、
    それが対応する再帰的区画階層内で表示するサブスペー
    スのレベルと比較してデータ構造階層内の同じレベルの
    インデックス入力であり、昇進したインデックス入力が
    それが対応する再帰的区画階層内で表示するサブスペー
    スのレベルと比較してデータ構造階層内のより上位のレ
    ベルのインデックス入力であり、もし、同一の再帰的区
    画レベルに、その外部境界が第1のサブスペースの外部
    境界によって囲まれていて、その外部境界が第2のサブ
    スペースの外部境界を囲んでいる第3のサブスペースが
    存在しない場合、上記第1のサブスペースの外部境界が
    直接上記第2のサブスペースの外部境界を囲んでいるこ
    とを特徴とし、 新しく生成したインデックス入力に、それが再帰的区画
    階層内で表示するサブスペースのレベルでラベル付けを
    し、それにより自らが対応する再帰的区画階層内のレベ
    ルと比較してインデックス・トリー内のより上位のレベ
    ルに配置されたインデックス入力の検出を容易にするこ
    とを特徴とする方法。
  3. 【請求項3】複数の次元のデータ・スペースの連続又は
    個別のサブスペースへの再帰的の分割を表示し、任意の
    サブスペースの外部境界が再帰的分割の同一又は任意の
    他のレベルの任意の他のサブスペースの外部又は内部境
    界と交差はしないが、上記の他のサブスペースの外部境
    界を包含、又は部分的に一致することができるような階
    層データ構造を持つコンピュータ・メモリの検索方法で
    あって、データ構造階層がトリー構造内にルート・ノー
    ド、複数のブランチ・ノード及び複数のリーフ・ノード
    を含む複数のノードからなっていて、 データ構造の階層の各ノードが、対応する再帰的区画階
    層内においてそれぞれ又は下位のレベルにおけるサブス
    ペースを表示していて、 ルート・ノードが全データ・スペースを表示していて、 下位のレベル・ノードのそれぞれが、それぞれの親のノ
    ードにより表示されるスペースのサブスペース、又はそ
    れぞれの親のノードの子孫によって表示されるスペース
    のサブスペースを表示し、下位の各レベル・ノードが子
    のノードからなり、昇進しないノードが、対応する再帰
    的区画階層内でそれが表示するサブスペースのレベルと
    比較してデータ構造階層内の同じレベルにあるノードで
    あり、昇進したノードが対応する再帰的区画階層内でそ
    れが表示するサブスペースのレベルと比較してデータ構
    造階層内のより上位のレベルにあるノードであり、昇進
    がメモリ内への余分な情報の導入に4よるノードのオー
    バーフローによって起こり、 それぞれのノードに昇進した任意の子のノードによって
    表示されるサブスペースが、それぞれのノードの昇進し
    ない子によって表示される全てのサブスペースの結合で
    あるサブスペースであり、 階層データ構造内のブランチ・ノードがインデックス・
    ノードでありリーフ・ノードがデータ・ノードであり、 各データ・ノードが1組のデータ入力又は他の場所に記
    憶されているデータ入力を参照する1組のポインタを含
    み、各データ入力が、データ・スペース内のデータ入力
    を表示する点の座標を直接的又は間接的に指定する1つ
    の数値又は1組の数値を含み、 各インデックス・ノードが1組のインデックス入力を含
    み、 この場合、 (i)上記の余分な情報がメモリ内に導入され、その結
    果、インデックス入力・ノードがオーバーフローを起こ
    したときに、上記のインデックス入力・ノードが、上記
    のインデックス・ノードが表示するスペースを2つのサ
    ブスペースに分割することによって、2つのインデック
    ス・ノードに分割され、上記の分割が、分割の結果生じ
    た2つのインデックス・ノード内のインデックス入力の
    数とできるだけ等しいか、又は分割の結果生じた2つの
    インデックス・ノード間のインデックス入力の分配に関
    するバランスについて所定の基準に従っていて、分割の
    結果生じた2つのインデックス・ノードが自らが生成さ
    れたインデックス・ノードと比較してデータ構造階層の
    同じレベルに配置され、分割の結果生じた各インデック
    ス・ノードが、親として自らが生成されたインデックス
    ・ノードの親を持っていて、 (ii)分割の結果生じたインデックス・ノードによって
    表される2つのサブスペースの一方の外部境界が2つの
    サブスペースの他方の外部境界により囲まれていて、上
    記のインデックス・ノード内のインデックス入力が、そ
    の外部境界が上記の囲まれた外部境界と一致するサブス
    ペースを表さず、上記インデックス・ノード内にその外
    部境界が直接上記の囲まれた外部境界を包含しているサ
    ブスペースを表す昇進いていないか、又は昇進したイン
    デックス入力が存在する場合、 上記の昇進していないか、又は昇進したインデックス入
    力が上記インデックス・ノードの親へ昇進し、 各インデックス入力が、インデックス入力を含むインデ
    ックス・ノードの子の1つに一意に対応していて、各イ
    ンデックス入力が下記の項目 (i)インデックス入力に対応する子のノードの論理ア
    ドレスを参照する各ポインタ (ii)データ・スペースの再帰的区画の階層内の、入力
    によって表示されるサブスペースのレベルの表示 (iii)インデックス入力によって表示されるサブスペ
    ースの外部境界を直接又は間接に定義する1つの数値又
    は1組の数値 と関連していて、 インデックス入力によって表されるサブスペースの内部
    境界が、同一の又はより上位の再帰的区画レベルに属す
    る1つ又はそれ以上の他のインデックス入力のインデッ
    クスの存在により暗黙に定義され、そのそれぞれが上記
    インデックス入力が表すサブスペースの外部境界が直接
    包含するサブスペースを表し、 もし、同一の再帰的区画レベルに、その外部境界が第1
    のサブスペースの外部境界によって囲まれていて、その
    外部境界が第2のサブスペースの外部境界を囲んでいる
    第3のサブスペースが存在しない場合、上記第1のサブ
    スペースの外部境界が直接上記第2のサブスペースの外
    部境界を囲んでいて、 データ・スペース内の一点を包含する最小のサブスペー
    スを捜して、再帰的な区画階層を反復してサーチするこ
    とを特徴とする方法であって、上記点が捜している情報
    項目を表していて、 上記サーチが、サーチが行われている間、対応するイン
    デックス階層から再帰的区画階層内に関連ノードを反復
    して再構築することにより行われ、 サーチがインデックス・トリーのルート・ノードからス
    タートし、捜している情報項目を表す点を直接囲んでい
    るサブスペースを表す昇進しないインデックス入力を捜
    して、インデックス・ノード内の昇進しないインデック
    ス入力のサーチが行われ、 上記の昇進していないインデックス入力がインデックス
    ・ノード内で発見されない場合には、サーチは失敗し終
    了し、 上記の昇進していないインデックス入力が発見された場
    合には、捜している情報項目を表す点を直接囲んでいる
    サブスペースをそれぞれ表示している昇進したインデッ
    クス入力を捜して、インデックス・ノード内の昇進した
    インデックス入力のサーチが行われ、 捜している情報項目を表す点を直接囲んでいる上記の昇
    進したインデックス入力のそれぞれのコピーが、順方向
    へ送られ、レベルが1つ下がり、1組のインデックス入
    力のサーチのみを行うために、サーチが行われる次の索
    引ノード内に収容され、 サーチが行われる次の索引ノードは、捜している情報項
    目を表す点を直接囲んでいるサブスペースを表示してい
    る昇進していないインデックス入力に関連しているポイ
    ンタによって参照されたインデックス・ノードであり、 捜している情報項目用の検索パス沿いに遭遇した異なる
    インデックス・ノードの数が、データ・スペース内に含
    まれる情報項目の一定の全数に対して一定であることを
    特徴とする方法。
JP50381595A 1993-07-07 1994-07-01 データベースの構造 Expired - Fee Related JP3433803B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP93110856.7 1993-07-07
EP93110856 1993-07-07
PCT/EP1994/002166 WO1995002222A1 (en) 1993-07-07 1994-07-01 Database structures

Publications (2)

Publication Number Publication Date
JPH09500746A JPH09500746A (ja) 1997-01-21
JP3433803B2 true JP3433803B2 (ja) 2003-08-04

Family

ID=8213052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50381595A Expired - Fee Related JP3433803B2 (ja) 1993-07-07 1994-07-01 データベースの構造

Country Status (7)

Country Link
US (1) US5701467A (ja)
EP (1) EP0707725B1 (ja)
JP (1) JP3433803B2 (ja)
AU (1) AU679553B2 (ja)
DE (1) DE69401662T2 (ja)
ES (1) ES2100082T3 (ja)
WO (1) WO1995002222A1 (ja)

Families Citing this family (214)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893103A (en) * 1997-05-09 1999-04-06 Motorola, Inc. Method of reconstructing a managed information tree
CA2205836C (en) * 1994-11-21 2005-05-24 Oracle Corporation Method and apparatus for multidimensional database using binary hyperspatial code
JPH0916607A (ja) * 1995-06-26 1997-01-17 Hitachi Ltd データベース管理システムにおけるインデクス管理方法
US5974410A (en) * 1996-06-28 1999-10-26 Microsoft Corporation Method and system for filtering in a uniform data interface
US6208993B1 (en) * 1996-07-26 2001-03-27 Ori Software Development Ltd. Method for organizing directories
US6175835B1 (en) * 1996-07-26 2001-01-16 Ori Software Development, Ltd. Layered index with a basic unbalanced partitioned index that allows a balanced structure of blocks
IL118959A (en) 1996-07-26 1999-07-14 Ori Software Dev Ltd Database apparatus
US5923330A (en) * 1996-08-12 1999-07-13 Ncr Corporation System and method for navigation and interaction in structured information spaces
US5926820A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Method and system for performing range max/min queries on a data cube
DE19709041A1 (de) * 1997-03-06 1998-09-10 Rudolf Prof Bayer Datenbanksystem und Verfahren zum Betrieb eines Datenbanksystems
US5848404A (en) * 1997-03-24 1998-12-08 International Business Machines Corporation Fast query search in large dimension database
US5937408A (en) * 1997-05-29 1999-08-10 Oracle Corporation Method, article of manufacture, and apparatus for generating a multi-dimensional record structure foundation
US6073134A (en) * 1997-05-29 2000-06-06 Oracle Corporation Method article of manufacture, and apparatus for generating a multi-dimensional record management index
WO1998054658A1 (fr) * 1997-05-30 1998-12-03 Hitachi, Ltd. Systeme de recherche d'informations spatiales
US6061677A (en) * 1997-06-09 2000-05-09 Microsoft Corporation Database query system and method
JP3087694B2 (ja) * 1997-07-15 2000-09-11 日本電気株式会社 情報検索装置及びプログラムを記録した機械読み取り可能な記録媒体
US5983368A (en) * 1997-08-26 1999-11-09 International Business Machines Corporation Method and system for facilitating hierarchical storage management (HSM) testing
US6122628A (en) * 1997-10-31 2000-09-19 International Business Machines Corporation Multidimensional data clustering and dimension reduction for indexing and searching
US6006219A (en) * 1997-11-03 1999-12-21 Newframe Corporation Ltd. Method of and special purpose computer for utilizing an index of a relational data base table
US6061679A (en) * 1997-11-25 2000-05-09 International Business Machines Corporation Creating and searching a data structure ordered by ranges of key masks associated with the data structure
JP2002501256A (ja) * 1998-01-22 2002-01-15 オリ・ソフトウェア・ディベロップメント・リミテッド データベース装置
US6675173B1 (en) 1998-01-22 2004-01-06 Ori Software Development Ltd. Database apparatus
US6003036A (en) * 1998-02-12 1999-12-14 Martin; Michael W. Interval-partitioning method for multidimensional data
JP3607107B2 (ja) * 1998-03-13 2005-01-05 株式会社東芝 データ管理装置
ATE244908T1 (de) * 1998-03-16 2003-07-15 Array Technology Aps Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren
US6105018A (en) * 1998-03-26 2000-08-15 Oracle Corporation Minimum leaf spanning tree
US6125370A (en) * 1998-04-01 2000-09-26 International Business Machines Corporation Repartitioning data
US6081624A (en) * 1998-06-01 2000-06-27 Autodesk, Inc. Spatial index compression through spatial subdivision encoding
US6154746A (en) * 1998-04-22 2000-11-28 At&T Corp. High-dimensional index structure
US6427123B1 (en) * 1999-02-18 2002-07-30 Oracle Corporation Hierarchical indexing for accessing hierarchically organized information in a relational system
US6353832B1 (en) * 1999-05-11 2002-03-05 Lucent Technologies Inc Selectivity estimation in spatial databases
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6496830B1 (en) * 1999-06-11 2002-12-17 Oracle Corp. Implementing descending indexes with a descend function
US6272498B1 (en) * 1999-07-22 2001-08-07 Lucent Technologies Inc. Method for partitioning multi-dimensional data sets into rectangular partitions
US6380947B1 (en) * 1999-07-22 2002-04-30 At&T Corp. Method and apparatus for displaying and tree scrolling a hierarchical data structure
US6330003B1 (en) * 1999-07-30 2001-12-11 Microsoft Corporation Transformable graphical regions
US6574633B1 (en) * 1999-11-01 2003-06-03 Honeywell International Inc. Method for dynamically grouping limited range physical entities in a topological space
US6463500B1 (en) 2000-01-04 2002-10-08 International Business Machines Corporation Apparatus and method to access computer memory by processing object data as sub-object and shape parameter
US7305401B2 (en) * 2000-03-09 2007-12-04 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizing a multitude of search methodologies
US6728694B1 (en) * 2000-04-17 2004-04-27 Ncr Corporation Set containment join operation in an object/relational database management system
US7428554B1 (en) * 2000-05-23 2008-09-23 Ocimum Biosolutions, Inc. System and method for determining matching patterns within gene expression data
IES20000407A2 (en) * 2000-05-24 2001-08-08 Nua Ltd A System and Method for Categorising and Retrieving Documents on a Network
US6742001B2 (en) * 2000-06-29 2004-05-25 Infoglide Corporation System and method for sharing data between hierarchical databases
US7165065B1 (en) * 2000-07-14 2007-01-16 Oracle Corporation Multidimensional database storage and retrieval system
DE10036712A1 (de) * 2000-07-27 2002-02-28 Active Mining Ag Verfahren zur Bewertung von mit charakteristischen Merkmalen behafteten Prozessen
AU773529B2 (en) * 2000-08-04 2004-05-27 Canon Kabushiki Kaisha Estimating a property of one or more regions of a two dimensional set of data
US6571249B1 (en) * 2000-09-27 2003-05-27 Siemens Aktiengesellschaft Management of query result complexity in hierarchical query result data structure using balanced space cubes
US7689621B1 (en) * 2000-11-06 2010-03-30 Navteq North America, Llc Multi-dimensional spatial index for a geographic database
US6735595B2 (en) 2000-11-29 2004-05-11 Hewlett-Packard Development Company, L.P. Data structure and storage and retrieval method supporting ordinality based searching and data retrieval
EP1362296A2 (en) * 2001-02-20 2003-11-19 Icagen, Inc. Method for screening compounds
US6804677B2 (en) * 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US7283987B2 (en) * 2001-03-05 2007-10-16 Sap Ag Compression scheme for improving cache behavior in database systems
US6732107B1 (en) * 2001-03-26 2004-05-04 Ncr Corporation Spatial join method and apparatus
US6772172B2 (en) * 2001-04-27 2004-08-03 Sun Microsystems, Inc. Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database
US6671694B2 (en) * 2001-06-04 2003-12-30 Hewlett-Packard Development Company, L.P. System for and method of cache-efficient digital tree with rich pointers
US6654760B2 (en) 2001-06-04 2003-11-25 Hewlett-Packard Development Company, L.P. System and method of providing a cache-efficient, hybrid, compressed digital tree with wide dynamic ranges and simple interface requiring no configuration or tuning
US6785687B2 (en) 2001-06-04 2004-08-31 Hewlett-Packard Development Company, L.P. System for and method of efficient, expandable storage and retrieval of small datasets
US6816856B2 (en) * 2001-06-04 2004-11-09 Hewlett-Packard Development Company, L.P. System for and method of data compression in a valueless digital tree representing a bitset
US6792414B2 (en) * 2001-10-19 2004-09-14 Microsoft Corporation Generalized keyword matching for keyword based searching over relational databases
US6801904B2 (en) * 2001-10-19 2004-10-05 Microsoft Corporation System for keyword based searching over relational databases
US20030120430A1 (en) * 2001-12-03 2003-06-26 Icagen, Inc. Method for producing chemical libraries enhanced with biologically active molecules
US7162480B2 (en) * 2001-12-26 2007-01-09 Sbc Technology Resources, Inc. Usage-based adaptable taxonomy
US7287033B2 (en) 2002-03-06 2007-10-23 Ori Software Development, Ltd. Efficient traversals over hierarchical data and indexing semistructured data
US7174382B2 (en) * 2002-04-09 2007-02-06 Hewlett-Packard Development Company, L.P. Interest-based connections in peer-to-peer networks
US7474657B2 (en) * 2002-04-30 2009-01-06 University Of Florida Research Foundation, Inc. Partitioning methods for dynamic router tables
US7523218B1 (en) 2002-04-30 2009-04-21 University Of Florida Research Foundation, Inc. O(log n) dynamic router tables for prefixes and ranges
US20040018237A1 (en) * 2002-05-31 2004-01-29 Perricone Nicholas V. Topical drug delivery using phosphatidylcholine
WO2004006061A2 (en) * 2002-07-03 2004-01-15 University Of Florida Dynamic ip router tables using highest-priority matching
US7444318B2 (en) * 2002-07-03 2008-10-28 University Of Florida Research Foundation, Inc. Prefix partitioning methods for dynamic router tables
US8051102B2 (en) * 2002-07-26 2011-11-01 Levitronics, Inc. Data base and knowledge operating system
US8335779B2 (en) * 2002-08-16 2012-12-18 Gamroe Applications, Llc Method and apparatus for gathering, categorizing and parameterizing data
US20040162712A1 (en) * 2003-01-24 2004-08-19 Icagen, Inc. Method for screening compounds using consensus selection
US7058640B2 (en) 2003-02-05 2006-06-06 International Business Machines Corporation Systems, methods, and computer program products to efficiently update multidimensional databases
US20040230554A1 (en) * 2003-05-15 2004-11-18 Ning An Method of adding data in bulk to a spatial database
US8694510B2 (en) 2003-09-04 2014-04-08 Oracle International Corporation Indexing XML documents efficiently
US8229932B2 (en) 2003-09-04 2012-07-24 Oracle International Corporation Storing XML documents efficiently in an RDBMS
US7493305B2 (en) 2004-04-09 2009-02-17 Oracle International Corporation Efficient queribility and manageability of an XML index with path subsetting
US7366735B2 (en) 2004-04-09 2008-04-29 Oracle International Corporation Efficient extraction of XML content stored in a LOB
US7499915B2 (en) * 2004-04-09 2009-03-03 Oracle International Corporation Index for accessing XML data
US7930277B2 (en) 2004-04-21 2011-04-19 Oracle International Corporation Cost-based optimizer for an XML data repository within a database
US7885980B2 (en) 2004-07-02 2011-02-08 Oracle International Corporation Mechanism for improving performance on XML over XML data using path subsetting
US8566300B2 (en) 2004-07-02 2013-10-22 Oracle International Corporation Mechanism for efficient maintenance of XML index structures in a database system
US7627547B2 (en) 2004-11-29 2009-12-01 Oracle International Corporation Processing path-based database operations
US8131766B2 (en) 2004-12-15 2012-03-06 Oracle International Corporation Comprehensive framework to integrate business logic into a repository
US7921076B2 (en) 2004-12-15 2011-04-05 Oracle International Corporation Performing an action in response to a file system event
US8285744B2 (en) * 2005-09-30 2012-10-09 Rockwell Automation Technologies, Inc. Indexing and searching manufacturing process related information
US8073841B2 (en) 2005-10-07 2011-12-06 Oracle International Corporation Optimizing correlated XML extracts
US8356053B2 (en) 2005-10-20 2013-01-15 Oracle International Corporation Managing relationships between resources stored within a repository
US20070161214A1 (en) * 2006-01-06 2007-07-12 International Business Machines Corporation High k gate stack on III-V compound semiconductors
CN101063972B (zh) * 2006-04-28 2010-05-12 国际商业机器公司 用于增强映像树的可视性的方法和装置
US8510292B2 (en) 2006-05-25 2013-08-13 Oracle International Coporation Isolation for applications working on shared XML data
US7499909B2 (en) 2006-07-03 2009-03-03 Oracle International Corporation Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching
US7555480B2 (en) * 2006-07-11 2009-06-30 Microsoft Corporation Comparatively crawling web page data records relative to a template
US7797310B2 (en) 2006-10-16 2010-09-14 Oracle International Corporation Technique to estimate the cost of streaming evaluation of XPaths
US9183321B2 (en) 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
US7827177B2 (en) 2006-10-16 2010-11-02 Oracle International Corporation Managing compound XML documents in a repository
JP4933222B2 (ja) * 2006-11-15 2012-05-16 株式会社日立製作所 インデックス処理方法及び計算機システム
WO2008085989A1 (en) 2007-01-10 2008-07-17 Richard Garfinkle A software method for data storage and retrieval
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US7836098B2 (en) 2007-07-13 2010-11-16 Oracle International Corporation Accelerating value-based lookup of XML document in XQuery
US7840609B2 (en) 2007-07-31 2010-11-23 Oracle International Corporation Using sibling-count in XML indexes to optimize single-path queries
US7991768B2 (en) 2007-11-08 2011-08-02 Oracle International Corporation Global query normalization to improve XML index based rewrites for path subsetted index
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
TWI396400B (zh) * 2008-07-22 2013-05-11 Univ Nat Sun Yat Sen 偏斜索引樹及建立偏斜索引樹與具索引之非均勻式資料廣播循環之方法
US7958112B2 (en) 2008-08-08 2011-06-07 Oracle International Corporation Interleaving query transformations for XML indexes
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732139B2 (en) 2008-12-18 2014-05-20 Sap Ag Method and system for dynamically partitioning very large database indices on write-once tables
US8219563B2 (en) 2008-12-30 2012-07-10 Oracle International Corporation Indexing mechanism for efficient node-aware full-text search over XML
US8126932B2 (en) 2008-12-30 2012-02-28 Oracle International Corporation Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) * 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US8001137B1 (en) 2009-10-15 2011-08-16 The United States Of America As Represented By The Director Of The National Security Agency Method of identifying connected data in relational database
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
CN101989178B (zh) * 2010-11-05 2013-03-06 北京航空航天大学 多叉树数据结构的立体环状可视化方法
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
CN102841891B (zh) * 2011-06-21 2017-02-15 金蝶软件(中国)有限公司 一种树状结构节点的排序方法、装置及查询系统
KR101277487B1 (ko) * 2011-10-20 2013-06-21 아주대학교산학협력단 트리맵 제어 시스템 및 방법
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
CN103324642B (zh) * 2012-03-23 2016-12-14 日电(中国)有限公司 为数据建立索引的系统和方法以及数据查询方法
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
EP3876107A1 (en) 2013-03-15 2021-09-08 Factual Inc. Apparatus, systems, and methods for analyzing movements of target entities
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US9501363B1 (en) 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
US11176111B2 (en) * 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
WO2014168913A1 (en) 2013-04-08 2014-10-16 Nuodb, Inc. Database management system with database hibernation and bursting
US10209904B2 (en) * 2013-04-09 2019-02-19 EMC IP Holding Company LLC Multiprocessor system with independent direct access to bulk solid state memory resources
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
KR101593632B1 (ko) * 2014-09-04 2016-02-12 광운대학교 산학협력단 데이터베이스 압축 방법 및 그 장치
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
KR101782816B1 (ko) * 2015-05-12 2017-09-28 아주대학교산학협력단 트리맵 시각화 방법 및 그 방법을 이용하는 장치
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
WO2016183564A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Data store access permission system with interleaved application of deferred access control filters
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
WO2017151602A1 (en) 2016-02-29 2017-09-08 Craxel, Inc. Efficient encrypted data management system and method
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US11573940B2 (en) 2017-08-15 2023-02-07 Nuodb, Inc. Index splitting in distributed databases
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11983201B2 (en) * 2019-09-27 2024-05-14 International Business Machines Corporation Creating a metatype tree for metatype introspection
CN111209444B (zh) * 2020-01-06 2023-03-31 电子科技大学 一种基于时间序列多版本图拓扑数据的存储方法
WO2022164979A1 (en) * 2021-01-28 2022-08-04 Wood Mackenzie, Inc. Systems and methods for improved machine learning using data completeness and collaborative learning techniques
WO2023140968A1 (en) * 2022-01-18 2023-07-27 Craxel, Inc. Executing hierarchical data space operations
US11880608B2 (en) 2022-01-18 2024-01-23 Craxel, Inc. Organizing information using hierarchical data spaces
WO2023140967A1 (en) 2022-01-18 2023-07-27 Craxel, Inc. Composite operations using multiple hierarchical data spaces
CN116304390B (zh) * 2023-04-13 2024-02-13 北京基调网络股份有限公司 时序数据处理方法、装置、存储介质及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191226A (ja) * 1987-02-03 1988-08-08 Ricoh Co Ltd B↑+tree上における同時実行制御方式
JPH02130647A (ja) * 1988-11-11 1990-05-18 Toshiba Corp 索引木構造の更新方式
US5247666A (en) * 1991-05-28 1993-09-21 Fawnwood, Inc. Data management method for representing hierarchical functional dependencies

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
B.SEEGER ET AL, The buddy−tree:an efficieft and robust access method for spatial data base systems, 16TH INTERNATIONAL CONFERENCE ON VERY LARGE DATABASES, 1990年 8月13日,第590頁乃至第601頁
D.GREENE,An implementation and performance analysis of spatial data access methods, 5TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, 米国,1989年 2月 8日,第606頁乃至第615頁
M.Freeston,A weel−behaved file structure for the storage of spatial objects, 1ST SYMPOSIUM ON DESIGN AND IMPLEMENTATION OF LARGE SPATIAL DATABASES,ドイツ,1990年 7月17日,第287頁乃至第300頁
M.W.Freeston,Advances in the design of the BANG file,3RD CONFERENCE ON FOUNDATIONS OF DATA ORGANIZATION AND ALGORITHMS,フランス,1989年 6月21日,第322頁乃至第338頁
Y.ohsawa ET AL,A new tree type data structure with homogeneous nodes suitable for a very large spatial database, 6TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING,米国,1990年 2月5日,第296頁乃至第303頁
喜連川優 他,KD−木インデックスを有するリレーションに対する結合演算アルゴリズム(KDジョイン)とその評価,電子情報通信学会論文誌 J−76 D−I, 日本,社団法人 電子情報通信学会,1993年 4月25日,第4号,第172頁乃至第183頁

Also Published As

Publication number Publication date
AU679553B2 (en) 1997-07-03
US5701467A (en) 1997-12-23
WO1995002222A1 (en) 1995-01-19
ES2100082T3 (es) 1997-06-01
DE69401662D1 (de) 1997-03-13
DE69401662T2 (de) 1997-08-21
JPH09500746A (ja) 1997-01-21
EP0707725A1 (en) 1996-04-24
EP0707725B1 (en) 1997-01-29
AU7457194A (en) 1995-02-06

Similar Documents

Publication Publication Date Title
JP3433803B2 (ja) データベースの構造
Snoeyink Point location
Procopiuc et al. Bkd-tree: A dynamic scalable kd-tree
Traina Jr et al. Slim-trees: High performance metric trees minimizing overlap between nodes
Arge et al. On two-dimensional indexability and optimal range search indexing
Lawder et al. Using space-filling curves for multi-dimensional indexing
US20100082654A1 (en) Methods And Apparatus Using Range Queries For Multi-dimensional Data In A Database
US20060015538A1 (en) File location naming hierarchy
US7769781B1 (en) Method for labeling data stored in sequential data structures with parameters which describe position in a hierarchy
Ooi Spatial kd-tree: A data structure for geographic database
Patel et al. Comparison of advance tree data structures
Roumelis et al. An efficient algorithm for bulk-loading xBR+-trees
Corral et al. Algorithms for joining R-trees and linear region quadtrees
He Succinct and implicit data structures for computational geometry
JP2004534981A (ja) データベース・システムでデータを編成し、問合せを処理する方法、およびそのような方法を実施するためのデータベース・システムおよびソフトウェア製品
Roumelis et al. Bulk Insertions into xBR-trees
de Berg et al. On R-trees with low query complexity
Kim et al. Sibling clustering of tree-based spatial indexes for efficient spatial query processing
Kaporis et al. ISB-tree: A new indexing scheme with efficient expected behaviour
Su G^+-Tree: a Spatial Index Structure
Fischbeck The ubiquitous b-tree: volume ii
Kratz Evaluation of PR-tree Window Query Performance: Under Modification By Heuristic Update Algorithms
Dambatta Multiattribute indexing using multidimensional data structures
Lamoureux et al. A deterministic skip list for k-dimensional range search
Zhou In-Memory Storage for Labeled Tree-Structured Data

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees