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

データベースの構造

Info

Publication number
JPH09500746A
JPH09500746A JP7503815A JP50381595A JPH09500746A JP H09500746 A JPH09500746 A JP H09500746A JP 7503815 A JP7503815 A JP 7503815A JP 50381595 A JP50381595 A JP 50381595A JP H09500746 A JPH09500746 A JP H09500746A
Authority
JP
Japan
Prior art keywords
index
level
node
data
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7503815A
Other languages
English (en)
Other versions
JP3433803B2 (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

Abstract

(57)【要約】 多次元情報データベース用の階層インデックス構造は、少なくとも1つのインデックス入力区画(d)を対応する階層レベルより高いインデックス・トリーレベルに配置することができるようになっている。このレベル(位置)の変化は、データの配置の変更が起こったか、挿入/削除のパターンが、データスペースの特定の領域に対して極めて不自然な形で行われた時に生ずる。このことはインデックス・トリーをアンバランスにするが、情報の追加及び上記のデータベースの検索を容易にする。

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月カリフォルニア州、サンフランシスコで開催されたACM SI GMODの議事録におけるM.W.フリーストン氏の「BANGファイル:新型 格子ファイル」、又は1989年6月パリで開催されたデータ組織及びアルゴリ ズムの基礎に関する第3回国際会議におけるM.W.フリーストン氏の「BAN Gファイルの設計における進歩」を参照されたい。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つのインデ ックス入力区画(d)が、それが対応する階層レベルより高いインデックス・トリ ー・レベルに配置されることを特徴とする階層インデックス構造が提供される。 本発明のもう1つの態様により、データ配置が変化するか、データ・スペース の特定の領域への不自然な挿入/削除が行われた場合には、少なくとも1つのイ ンデックス入力区画が、それが対応する階層レベルより高いインデックス・トリ ー・レベルに配置されることを特徴とする、その内部においてデータ・スペース をインデックス・トリー内に配置された対応するインデックス入力ノードを持つ サブスペースに周期的に分割することができる階層インデックス構造を含む多次 元情報用のデータベースが提供される。 本発明の更に他の態様により、インデックス入力ノードをオーバーフローさせ る余分な情報が導入された場合、インデックス入力ノードが2つの区画に分割さ れ、これら2つの区画がインデックス・トリーのそれぞれのレベルに配置され、 その境界が上記の分割された区画を直接収容するそれそれのインデックス入力区 画が、それが対応する階層レベルより高いインデックス・トリー・レベルに配置 されることを特徴とする、索引が階層構造を持ち、データ・スペースがインデッ クス・トリー内に配置された対応するインデックス入力ノードを持つサブスペー スに周期的に分割される、多次元情報用のデータベースからなるデータ・スペー スを検索するための方法が提供される。 本発明の更に他の態様によれば、少なくとも1つのインデックス入力区画を検 索したある情報を含んでいる最小の区画を探すために、インデックス・トリーの 階層を反復して検索することと、上記検索がルート入力ノードから開始され、各 階層レベルを順次調査しすることと、上記検索がインデックス入力区画がそれら の階層レベルに対応するインデックス・トリー・レベルに配置されていない場合 には、レベル間を同じ道を通って戻ることと、検索した情報の検索パスの沿って 探した異なるノードの数がデータ・スペース内に含まれる情報の一定の全数に対 して一定であることを特徴とする、データ・スペースが周期的にインデックス・ トリー内に配置された対応するインデックス入力ノードを持つサブスペースに分 割される、データ・スペース内に多次元情報を含み、階層インデックス構造を持 つデータベース構造を検索する方法が提供される。 本発明の更に他の態様によれば、階層インデックス構造が、データ配置が変化 するか、データ・スペースの特定の領域への不自然な挿入/削除が行われた場合 には、少なくとも1つのインデックス入力区画(d)が、それが対応する階層レベ ルより高いインデックス・トリー・レベルに配置されることを特徴とする、階層 インデックス構造を使用するメモリを含むコンピュータが提供される。 本発明の更に他の態様によれば、階層インデックス構造が、データ配置が変化 するか、データ・スペースの特定の領域への不自然な挿入/削除が行われた場合 には、少なくとも1つのインデックス入力区画(d)が、それが対応する階層レベ ルより高いインデックス・トリー・レベルに配置されることを特徴とする、階層 インデックス構造を使用するメモリを含むコンピュータ・データベース・システ ムが提供される。 本発明の更に他の態様によれば、データ・スペースをサブスペース又は領域に 分割するステップと、最初の領域を最初の領域と、上記領域に挿入された点の数 が予め定めた数を越えた場合には、最初の領域がその他の領域を収容するように 、少なくとも更に1つの領域に分割するステップと、データ・ノートによって表 される領域をコンピュータのメモリ内の1つ又はそれ以上のページに記憶するス テップと、1つの領域を識別するインデックスを各領域に割り振るステップと、 上記インデックスをコンピュータのメモリ内の1つ又はそれ以上のインデックス ・ページに記憶するステップと、領域を示すインデックスの数が予め定めた数値 を越えた場合には、インデックス・ページを分割するステップと、上記の分割し たインデックス・ページをポインタによっていくつかのインデックスページに合 併するステップと、上記のいくつかのインデックス・ページをコンピュータのメ モリに記憶するステップとを含むn次元のデータ・スペース内に表示されている n次元の構成要素をコンピュータの1次元のメモリ内に電子的に記憶及び/又は 転送する方法が提供される。 図面の簡単な説明 本発明の実施例を添付の図面を参照しながら説明する。 図1〜図3は、非常に簡単な2−レベルのインデックスであり、 図4は、対応するBV−トリーであり、 図5は、対応するメモリ・ページの組織と内容であり、 図6〜図15は、種々の定義と公理であり、 図16a〜図16eは、データ・スペース(左)の一連の区画と、対応するB V−インデックス構造(右)であり、 図16fは、レベルが上がった領域の分割であり、 図17及び図18は、正確にマッチしている検索の2つの例であり、そして 図19は、コンピュータ・システムの略図である。 発明の実施モード 潜在的な問題、即ち、B−トリーをn次元に一般化するという問題が明らかに 解決困難なものであるので、その結果、n次元ケースの位相数学上の複雑さが増 大していることは疑う余地がない。それについて以下により詳細に説明する。 しかし、最初に、本発明による非常に簡単な2レベルのインデックスの例を表 示すると同時に、図2に示す方法の見地から見た問題を示している図1〜図3を 参照する。n次元のデータ・スペースは、その中において各座標の数値の領域が あるデータ属性に対応しているn次元のデータ・スペースである。例えば、ある 従業員記録の場合には、従業員(認識番号、年齢)は、認識番号と年齢を示す座 標を使用して、2次元の空間内の一点として表示することができる。全ての階層 インデックスのアイデアは、全データ・スペース内において検索空間を反復して 狭めて行く方法である。インデックスの各レベルにおいては、データ・スペース (又はデータ・スペースのサブスペースを)より小さい区画に分割する。サブス ペースは、どんな形でもとることができるが、実際には、単純で簡潔に表現でき るように、例えば、長方形のような単純な形をとるべきである。 図1〜図3においては、2次元のデータ・スペースのサブスペースが、厳密な 2進法の区画により、即ち、空間のサイズを次々に正確に繰り返し二等分するこ とにより生成される。ある区画の左手又は下半分を0で、右手又は上半分を1で 表すとすると、各サブスペースは、それが生成された区画の順序に対応する0と 1の連続で認識することができる。例えば、サブスペースfは、一意的な101 10を持っている。 説明をわかりやすくするために、3つの点だけの座標が各メモリ・ページ内に 記憶できるものと仮定する。この場合、図3に示すデータ配置に対しては、デー タ・スペースは図2に示すように5つのサブスペースに分割しなければならない 。なぜなら、各サブスペースはメモリ・ページに対応しているからである。また 、この場合、インデックス・ページは4つ以上の表示を記憶できないと仮定する と、2レベルのインデックスが必要になる。図1にデータ・スペースを対応する 上位のインデックス・ページ(階層のルート・ノード)に分割する方法を示す。 このページはデータ・スペースを低位のインデックス・レベルの2組の2つの区 分に分割する。図2は低位のレベルの全ての区画を示す。図2は、実際には、イ ンデックスの2つの別々のノードを示す2つの独立した図で示すべきものである 。一方の図は、aとeとを含み、他方の図はfとgとを含んでいる。このことが 問題をはっきりと示している。2つの中のどちらにdを入れるべきか。両方に部 分的 に入れることになる。BANGファイル内においては、区画では区画の境界yに そって2つの部分に分割しなければならない。過去に提案された全ての他の設計 は、同じような方法を使用している。 区画dを2つの部分に分割する場合に起きる問題は、「釣合のとれた(balance d)」区画の原則が全ての失われてしまうことである。既に説明したように、区画 を示すページがオーバーフローした場合には、分割の結果生ずる両方の区画を、 できる限り同じ数の構成要素を含むように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を収容し、Paは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は交 差しないということが導き出される。 定義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,...,Pn}に分割されていると仮定する。 更に、上記Spそれ自身が、Spa及びSpb’がそれぞれ区画範囲Pa及び Pb内に取り囲まれているという関係にある2組のSpa及びSpbに分割され ていると仮定する。即ち、 全ての区画範囲が独立している場合には、Spa及びSpbの基数が1以上違 わないように、区画範囲のグループを何時でも二等分することができる。即ち、 区画Spに分割することができる(図14b参照)。しかし、いくつかの区画範 囲が他の区画範囲を取り囲んでいる場合には、状況はそれほど簡単ではない。直 感的に理解できるように、独立した区画範囲の数が増えた場合には、1:1に分 割できる機会は多くなる。独立した区画範囲が存在しない場合、即ち、全ての区 画範囲が他の区画範囲を取り囲んでいるか、又は他の区画範囲によって取り囲ま れている場合には、事態は最悪となる(図15a参照)。公理1によれば、範囲 の境界は交差しないので、グループSpは、その中の1つが他を取り囲んでいる いくつかのグループに分割しなければならない(図15B参照)。即ち、 この場合、最善のバランスの区画を発見するアルゴリズムは以下のようになる 。 一般的に、La及びLbは、データ・スペース内の全数の部分f(La)及びf (Lb)をそれぞれ含んでいると仮定する。即ち、f(La)+f(Lb)=1 である。しかし、まず最初に、LaはSp’の最も外側のメンバだけを取り囲ん でいて、残りのメンバはLbによって取り囲まれている。Lbによって取り囲ま れているこの残りのメンバの中の1つ以上のメンバ(即ち、Pbが直接独立した 区画範囲の1つのメンバを取り囲んでいて、)これらの取り囲まれているメンバ の1つPiそれ自身が、Sp’の全部のメンバの半数以上を取り囲んでいる場合 には、グループSpは、Pbが直接Piによって取り囲まれるように再配置され る。 Pbによって直接取り囲まれているどの区画範囲も、Sp’の全メンバの半分 以上を取り囲んでいない場合には、LbグループからLaグループへと1つ以上 のメンバを移動させる効果を持つPbのさらなる再配置によって、La及びLb の間によりよいバランスを得ることができる。しかし、上記のバランスのアルゴ リズムは複雑で、区画範囲のサイズの指数を使用することになる。しかし、必要 な分割比は、最悪の場合の分割比の2:1以下に決してなることはない。下記の 証明も、この比率を維持するためのアルゴリズムの枠組みを提供する。 f(La)<1/3である場合には、f(Lb)>2/3である。Pbが概念 的に2つの任意の区画範囲Pb’及びPb”によって置き換えられたと仮定する 。その場合、2つの異なるケースが起こる。 両方のケースの場合、2つの(概念上の)区画範囲Pb’及び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がP a’内に直接導入されると、Laは2つの論理範囲La’及びLb’に分割され る。ここで、La=La’ULbである。究極の目的、即ち、インデックスを構 築するには、データ・スペースを、それぞれがほとんど等しい数のデータ・ポイ ントを含む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をそれぞれ含んでいると仮定する。La iがPb’の境界に沿ってL’ai及びL”aiに分割されている場合には、下 記のようになる。 しかし、La∩L”a=0とLb∩L’ai=0であるので、 このことは、検索がLa又はLbでそれぞれ失敗した場合に、Laiが常に検 索されるように、検索パスを変更することができれば、Laiを分割しないで手 つかずのままにしておくことができることを示している。必要なことは、インデ ックス・ノードが分割アルゴリズムに従って分割される前に、分割境界Pbを直 接含む区画境界Paiを表示する入力を探してノードを検索することである。P aiが存在する場合には、それは分割されないが、Pa及びPbの入力に沿って 、上位のレベルへ送られる。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を直接含んでいるからである。それ故、d 1はxが指し示すノード内に挿入される。なぜなら、xは直接d11を含んでい るからである。ここでアルゴリズムが終了する。なぜなら、入力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つの次元 の範囲内の任意の点における任意の順序に並べた分割部分として記述している範 囲に基づく表現により記述することができる。他にも多くの方法がある。BAN Gファイルの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からなるものを使用することができる。
【手続補正書】特許法第184条の8 【提出日】1995年8月24日 【補正内容】 補正の内容 1.明細書第6頁第16行〜第8頁第14行の「発明の開示」欄を添付のもの と差し替える。 2.「請求の範囲」を添付のものと差し替える。 発明の開示 本発明の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.データ・スペースを周期的に連続又は個別のサブスペースに分割すること を表示する階層データ構造を使用するメモリ含むコンピュータ・データ記憶管理 システムであって、任意のサブスペースの外部境界が、周期的に分割された同一 又は任意の他のレベルにおいて、任意の他のサブスペースの外部又は内部境界と 交差はしないが、上記の他のサブスペースの外部境界を包含するか、又は部分的 に一致し、 データ構造の階層が、ルート・ノード、複数のブランチ・ノード及び複数 のリーフ・ノードを含む複数のノードからなり、 データ構造の階層の各ノードが、対応する周期的区画階層内においてそれ ぞれ又は下位のレベルにおけるサブスペースを表示していて、 ルート・ノードが全データ・スペースを表示していて、 下位のレベル・ノードのそれぞれが、それぞれの親のノードにより表示さ れるスペースのサブスペース、又はそれぞれの親のノードの子孫によって表示さ れるスペースのサブスペースを表示し、下位の各レベル・ノードがこのノードか らなり、 階層データ構造内のブランチ・ノードがインデックス・ノードでありリー フ・ノードがデータ・ノードであり、 各データ・ノードが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つ又はそれ以上のインデックス入力のイ ンデックスの存在により暗黙に定義され、そのそれぞれが上記インデックス入力 が表すサブスペースの外部境界が直接包含するサブスペースを表すことを特徴と するシステム。 2.データ・スペースが多次元情報用のデータベースからなり、索引が階層構 造を持ち、データ・スペースが周期的に、インデックス・トリー内に配列された 対応するインデックス入力ノードを持つサブスペースに分割される、データ・ス ペースの索引に使用するためのコンピュータ実行方法であって、上記の余分な情 報がメモリ内に導入され、その結果、インデックス入力ノードがオーバーフロー を起こしたときに、上記のインデックス入力ノードが、上記のインデックス・ノ ードが表示するスペースを2つのサブスペースに分割することによって、2つの インデックス・ノードに分割され、上記の分割が、分割の結果生じた2つのイン デックス・ノード内のインデックス入力の数とできるだけ等しいか、又は分割の 結果生じた2つのインデックス・ノード間のインデックス入力の分配に関するバ ランスについて所定の基準に従っていて、 分割の結果生じた2つのインデックス・ノードが自らが生成されたインデ ックス・ノードと同じインデックス・トリーのレベルに配置され、分割の 結果生じたインデックス・ノードが、親として自らが生成された上記インデック ス・ノードの親を持っていることと、 分割の結果生じたインデックス・ノードによって表される2つのサブスペ ースの一方の外部境界が2つのサブスペースの他方の外部境界により囲まれてい て、上記のインデックス・ノード内のインデックス入力が、その外部境界が上記 の囲まれた外部境界と一致するサブスペースを表さず、上記インデックス・ノー ド内にその外部境界が直接上記の囲まれた外部境界を包含しているサブスペース を表す昇進いていないか、又は昇進したインデックス入力が存在する場合、上記 の昇進していないか、又は昇進したインデックス入力が上記インデックス・ノー ドの親へ昇進し、昇進していないインデックス入力が、それが対応する周期的区 画階層内で表示するサブスペースのレベルと同じレベルのインデックス入力であ り、昇進したインデックス入力がそれが対応する周期的区画階層内で表示するサ ブスペースのレベルより上位のデータ構造階層内のレベルのインデックス入力で あり、もし、同一の周期的区画レベルに、その外部境界が第1のサブスペースの 外部境界によって囲まれていて、その外部境界が第2のサブスペースの外部境界 を囲んでいる第3のサブスペースが存在しない場合、上記第1のサブスペースの 外部境界が直接上記第2のサブスペースの外部境界を囲んでいることを特徴とし 、 新しく生成したインデックス入力に、それが周期的区画階層内で表示する サブスペースのレベルをつけ、それにより自らが対応する周期的区画階層内のレ ベルより上位のインデックス・トリー内のレベルに配置されたインデックス入力 の検出を容易にすることを特徴とする方法。 3.複数の次元のデータ・スペースの連続又は個別のサブスペースへの周期的 の分割を表示し、任意のサブスペースの外部境界が周期的分割の同一又は任意の 他のレベルの任意の他のサブスペースの外部又は内部境界と交差はしないが、上 記の他のサブスペースの外部境界を包含、又は部分的に一致することができるよ うな階層データ構造を持つコンピュータ・メモリの検索方法であって、データ構 造階層がトリー構造内にルート・ノード、複数のブランチ・ノード及び複数のリ ーフ・ノードを含む複数のノードからなっていて、 データ構造の階層の各ノードが、対応する周期的区画階層内においてそれ ぞれ又は下位のレベルにおけるサブスペースを表示していて、 ルート・ノードが全データ・スペースを表示していて、 下位のレベル・ノードのそれぞれが、それぞれの親のノードにより表示さ れるスペースのサブスペース、又はそれぞれの親のノードの子孫によって表示さ れるスペースのサブスペースを表示し、下位の各レベル・ノードがこのノードか らなり、昇進しないノードが、対応する周期的区画階層内でそれが表示するサブ スペースのレベルと同じデータ構造階層内のレベルにあるノードであり、昇進し たノードが対応する周期的区画階層内でそれが表示するサブスペースのレベルよ り上位のデータ構造階層内のレベルにあるノードであり、昇進がメモリ内への余 分な情報の導入によるノードのオーバーフローによって起こり、 それぞれのノードに昇進した任意の子のノードによって表示されるサブス ペースが、それぞれのノードの昇進しない子によって表示される全てのサブスペ ースの結合であるサブスペースであり、 階層データ構造内のブランチ・ノードがインデックス・ノードでありリー フ・ノードがデータ・ノードであり、 各データ・ノードが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組のイ ンデックス入力のサーチのみを行うために、サーチが行われる次の索引ノード内 に収容される。 サーチが行われる次の索引ノードは、捜している情報項目を表す点を直接 囲んでいるサブスペースを表示している昇進していないインデックス入力に関連 しているポインタによって参照されたインデックス・ノードであり、 捜している情報項目用の検索パス沿いに遭遇した異なるインデックス・ノ ードの数が、データ・スペース内に含まれる情報項目の一定の全数に対して一定 であることを特徴とする方法。

Claims (1)

  1. 【特許請求の範囲】 1.データ配置が変更されるか、又はデータ・スペースの特定の領域に不自然に 挿入/削除が行われたときに、少なくとも1つのインデックス入力区画(d)がそ れが対応する階層レベルよりも上位のインデックス・トリー・レベルに配置され ることを特徴とする階層インデックス構造。 2.インデックス入力区画に、それが生成されたレベルを表示し、それによりよ り上位のインデックス・レベルに配置された区画の検出を容易にすることを特徴 とする請求項1記載の構造。 3.上記のより上位のインデックス・レベルに配置された区画が、分割された区 画それ自身ではなく、データベースへ余分な情報が導入され、インデックス・ノ ードがオーバーフローを起こしたときに生成された分割された区画を直接囲む境 界を持つ区画に対応することを特徴とする請求項1又は2に記載の構造。 4.データ配置が変更されるか、又はデータベースの特定の領域に不自然に挿入 /削除が行われたときに、少なくとも1つのインデックス入力区画(d)がそれが 対応する階層レベルよりも上位のインデックス・トリー・レベルに配置されるこ とを特徴とする階層インデックス構造を含み、その内部においてデータ・スペー スを、インデックス・トリーの形に配列された対応するインデックス入力ノード を持つサブスペースに周期的に分割する多次元情報用のデータベース構造。 5.インデックス入力区画に自らが生成されたレベルを表示し、それによりより 高いインデックス・トリー・レベルに配置された区画の検出を容易にすることを 特徴とする請求項4に記載のデータベース構造。 6.上記のより高いインデックス・レベルに配置された区画が、分割された区画 それ自身ではなく、データベースへ余分な情報が導入され、インデックス・ノー ドがオーバーフローを起こしたときに生成された分割された区画を直接囲む境界 を持つ区画に対応することを特徴とする請求項4又は5に記載のデータベース構 造。 7.インデックス入力ノードをオーバーフローさせる余分な情報が導入された 場合、インデックス入力ノードが2つの区画に分割され、これら2つの区画がイ ンデックス・トリーのそれぞれのレベルに配置され、その境界が上記の分割され た区画を直接収容するそれそれのインデックス入力区画が、それが対応する階層 レベルより高いインデックス・トリー・レベルに配置されることを特徴とする、 索引が階層構造を持ち、データ・スペースがインデックス・トリー内に配置され た対応するインデックス入力ノードを持つサブスペースに周期的に分割される、 多次元情報用のデータベースからなるデータ・スペースを検索するための方法。 8.インデックス入力区画に自らが生成されたインデックス・トリーのレベルを 表示し、それによりインデックス・トリー内の自らが対応する階層レベルより上 位のレベルに配置されているインデックス入力区画の検出を容易にすることを特 徴とする請求項7に記載の方法。 9.少なくとも1つのインデックス入力区画(d)を検索したある情報を含んでい る最小の区画を探すために、インデックス・トリーの階層を反復して検索するこ とと、上記検索がルート入力ノードから開始され、各階層レベルを順次調査しす ることと、上記検索がインデックス入力区画がそれらの階層レベルに対応するイ ンデックス・トリー・レベルに配置されていない場合には、レベル間を同じ道を 通って戻ることと、検索した情報の検索パスの沿って探した異なるノードの数が データ・スペース内に含まれる情報の一定の全数に対して一定であることを特徴 とする、データ・スペースが周期的にインデックス・トリー内に配置された対応 するインデックス入力ノードを持つサブスペースに分割される、データ・スペー ス内に多次元情報を含み、階層インデックス構造を持つデータベース構造を検索 する方法。 10.データ配置が変更されるか、又はデータ・スペースの特定の領域に不自然に 挿入/削除が行われたときに、少なくとも1つのインデックス入力区画(d)をそ れが対応する階層レベルよりも上位のインデックス・トリー・レベルに配置する ことができるような階層インデックス構造を特徴とする階層インデックス構造を 使用しているメモリを含むコンピュータ。 11.データ配置が変更されるか、又はデータ・スペースの特定の領域に不自然 に挿入/削除が行われたときに、少なくとも1つのインデックス入力区画(d)を それが対応する階層レベルよりも上位のインデックス・トリー・レベルに配置す ることができるような階層インデックス構造を特徴とする階層インデックス構造 を使用しているメモリを含むコンピュータ・データベース・システム。 12.データ・スペースをサブ・スペース又は領域に分割するステップと、第一の 領域に挿入された点の数が予め定めた数値を越えた場合には、第一の領域を更に 他の1つ又はそれ以上の領域を含むように、第一の領域及び少なくとももう1つ の領域に分割するステップと、データ・ノートによって表示されている領域を、 1つの領域を識別するインデックスを各領域に振り分けて、コンピュータのメモ リ内の1つ又はそれ以上のページに記憶するステップと、インデックスをコンピ ュータのメモリ内の1つ又はそれ以上のページ内に記憶するステップと、領域を 表示するインデックスの数が予め定めた数を越えた場合には、インデックス・ペ ージを分割するステップと、上記の分割したインデックス・ページをポインタに よっていくつかのインデックス・ページに接続するステップと、上記のいくつか のインデックス・ページをコンピュータのメモリ内に記憶するステップとを含む 、n次元のデータ・スペース内で表示されているn次元の構成要素をコンピュー タの1次元メモリに電子的に記憶及び/又は転送する方法。 13.請求項12に記載の方法に従って、コンピュータの1次元メモリ内のn次元デ ータ・スペースの形で記憶されているn次元の構成要素を検索する方法。 14.請求項12に記載の方法に従って、コンピュータ作業の1次元メモリ内のn次 元の構成要素を電子的に記憶及び/又は転送する方法。 15.請求項13に記載の方法に従って、コンピュータ作業の1次元メモリ内のn次 元データ・スペースの形で記憶されているn次元の構成要素を検索する装置。
JP50381595A 1993-07-07 1994-07-01 データベースの構造 Expired - Fee Related JP3433803B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JPH09500746A true JPH09500746A (ja) 1997-01-21
JP3433803B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016182357A1 (ko) * 2015-05-12 2016-11-17 아주대학교 산학협력단 트리맵 시각화 방법 및 그 방법을 이용하는 장치

Families Citing this family (212)

* 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
AU2977297A (en) * 1997-05-30 1998-12-30 Hitachi Limited Space information retrieval system
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
BR9907227A (pt) * 1998-01-22 2001-09-04 Ori Software Dev Ltd Estrutura de dados em um suporte de armazenamento, ìndice em camadas,processo para construir um ìndice em camadas distribuìdo em blocos em um sistema de gerenciamento de arquivos de base de dados, processos para construir um ìndice sobre as chaves dos registros de dados, para acessar um registro de dados pesquisado r pela chave k no ìndice em camadas, para inserir um registro de dados r pela chave k no ìndice em camadas, e para suprimir um registro de dados r pela chave k no ìndice em camadas, sistema de processamento de dados, processos para inserir um novo registro de dados em um arquivo paif existente, e para obter um ìndice paif balanceado, e, suporte de armazenamento usado por um sistema de gerenciamento de arquivos de base de dados
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 株式会社東芝 データ管理装置
CA2323650C (en) * 1998-03-16 2009-02-17 Array Technology Aps A database useful for configuring and/or optimizing a system and a method for generating the database
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
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US6496830B1 (en) * 1999-06-11 2002-12-17 Oracle Corp. Implementing descending indexes with a descend function
US6380947B1 (en) * 1999-07-22 2002-04-30 At&T Corp. Method and apparatus for displaying and tree scrolling a hierarchical data structure
US6272498B1 (en) * 1999-07-22 2001-08-07 Lucent Technologies Inc. Method for partitioning multi-dimensional data sets into rectangular partitions
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
AU2001243443A1 (en) 2000-03-09 2001-09-17 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizinga 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
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
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
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
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
US6801904B2 (en) * 2001-10-19 2004-10-05 Microsoft Corporation System for keyword based searching over relational databases
US6792414B2 (en) * 2001-10-19 2004-09-14 Microsoft Corporation Generalized keyword matching 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
US7523218B1 (en) 2002-04-30 2009-04-21 University Of Florida Research Foundation, Inc. O(log n) dynamic router tables for prefixes and ranges
US7474657B2 (en) * 2002-04-30 2009-01-06 University Of Florida Research Foundation, Inc. Partitioning methods for dynamic router tables
US20040018237A1 (en) * 2002-05-31 2004-01-29 Perricone Nicholas V. Topical drug delivery using phosphatidylcholine
AU2003256391A1 (en) * 2002-07-03 2004-01-23 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
WO2004013770A2 (en) * 2002-07-26 2004-02-12 Ron Everett Data management architecture associating generic data items using reference
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
US7499915B2 (en) 2004-04-09 2009-03-03 Oracle International Corporation Index for accessing XML data
US7366735B2 (en) 2004-04-09 2008-04-29 Oracle International Corporation Efficient extraction of XML content stored in a LOB
US7493305B2 (en) 2004-04-09 2009-02-17 Oracle International Corporation Efficient queribility and manageability of an XML index with path subsetting
US7930277B2 (en) 2004-04-21 2011-04-19 Oracle International Corporation Cost-based optimizer for an XML data repository within a database
US8566300B2 (en) 2004-07-02 2013-10-22 Oracle International Corporation Mechanism for efficient maintenance of XML index structures in a database system
US7885980B2 (en) 2004-07-02 2011-02-08 Oracle International Corporation Mechanism for improving performance on XML over XML data using path subsetting
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
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
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
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 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
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
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8732139B2 (en) 2008-12-18 2014-05-20 Sap Ag Method and system for dynamically partitioning very large database indices on write-once tables
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
US8219563B2 (en) 2008-12-30 2012-07-10 Oracle International Corporation Indexing mechanism for efficient node-aware full-text search over XML
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
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
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
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
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
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
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
CN105531698B (zh) 2013-03-15 2019-08-13 美国结构数据有限公司 用于批量和实时数据处理的设备、系统和方法
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
US10037348B2 (en) 2013-04-08 2018-07-31 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
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
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
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10069943B2 (en) 2015-05-14 2018-09-04 Illumon Llc Query dispatch and execution architecture
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
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating 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
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 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
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
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
KR102600366B1 (ko) 2017-08-15 2023-11-08 누오디비 인코포레이티드 분산형 데이터베이스에서의 인덱스 분할
US10241965B1 (en) 2017-08-24 2019-03-26 Deephaven Data Labs Llc Computer data distribution architecture connecting an update propagation graph through multiple remote query processors
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
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
WO2023140966A1 (en) 2022-01-18 2023-07-27 Craxel, Inc. Organizing information using hierarchical data spaces
US20230229673A1 (en) * 2022-01-18 2023-07-20 Craxel, Inc. Executing hierarchical data space operations
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016182357A1 (ko) * 2015-05-12 2016-11-17 아주대학교 산학협력단 트리맵 시각화 방법 및 그 방법을 이용하는 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH09500746A (ja) データベースの構造
Chazelle et al. Fractional cascading: II. applications
Hjaltason et al. Speeding up construction of PMR quadtree-based spatial indexes
US6564212B2 (en) Method of processing queries in a database system, and database system and software product for implementing such method
Procopiuc et al. Bkd-tree: A dynamic scalable kd-tree
US6711563B1 (en) Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
Nievergelt et al. Spatial data structures: Concepts and design choices
US6633883B2 (en) Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
US7246124B2 (en) Methods of encoding and combining integer lists in a computer system, and computer software product for implementing such methods
Ooi Spatial kd-tree: A data structure for geographic database
WO2019240912A1 (en) Relational data model for hierarchical databases
Vassilakopoulos et al. Dynamic inverted quadtree: A structure for pictorial databases
Roumelis et al. Bulk-loading and bulk-insertion algorithms for xBR^+-trees xBR+-trees in Solid State Drives
Roumelis et al. An efficient algorithm for bulk-loading xBR+-trees
Mediano et al. V-Trees-A Storage Method for Long Vector Data
EP2003577A2 (en) Methods of encoding and combining integers lists in a computer system, computer system and software product for implementing such methods
AU2002232035A1 (en) Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
de Berg et al. On R-trees with low query complexity
Su G^+-Tree: a Spatial Index Structure
Freeston The application of multi-dimensional indexing methods to constraints
Manolopoulos et al. Access methods for intervals
Ondráček et al. Cache-Oblivious Representation of B-Tree Structures
Gui-juna et al. A dynamic index structure for spatial database querying based on R-trees
Dambatta Multiattribute indexing using multidimensional data structures
Sivaramakrishnan Implementation of a spatial database system

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