JP2001511563A - データベースのための構造 - Google Patents

データベースのための構造

Info

Publication number
JP2001511563A
JP2001511563A JP2000504524A JP2000504524A JP2001511563A JP 2001511563 A JP2001511563 A JP 2001511563A JP 2000504524 A JP2000504524 A JP 2000504524A JP 2000504524 A JP2000504524 A JP 2000504524A JP 2001511563 A JP2001511563 A JP 2001511563A
Authority
JP
Japan
Prior art keywords
information
data information
belonging
node
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000504524A
Other languages
English (en)
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 JP2001511563A publication Critical patent/JP2001511563A/ja
Pending 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/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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
    • Y10S707/99932Access augmentation or optimizing
    • 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
    • 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/99944Object-oriented database structure

Landscapes

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

Abstract

(57)【要約】 この発明はデータベース内のデータ情報の記憶域の構造に関し、この情報はノードの階層に構造化され、この階層はツリー構造である。このツリー構造は、根ノード(1)と、恐らくは1つまたはいくつかの中間ノード(2,3)と、1つまたはそれ以上の葉ノード(4)を含み、根ノード(1)は1つまたはそれ以上の根エレメント(1E)を含み、それぞれの中間ノード(2,3)は1つまたはそれ以上の中間エレメント(2E1,2E2,2E3,...)を含み、それぞれの葉ノード(4)は1つまたはそれ以上の葉エレメント(4W1,4E2,4E3,...)を含む。それぞれのエレメントは、ツリー構造を保持し、またツリーとデータ情報の中でサーチを遂行できるようにするのに必要なアドレス情報を含む。ノード内のエレメントの順序は、データ情報に関して数字順またはアルファベット順のような論理的順序であり、それぞれのエレメント内のデータ情報は階層内の先行するエレメント内のデータ情報に関するデータ情報内の差異からなる。根エレメント内のデータ情報は、開始値からなる。この開始値は実際のデータ情報であり、残りのエレメント内の差異情報は、データ情報内のどこに差異があるかにかかわりなく、先行するエレメントに属するデータ情報に関して、データ情報の実際の差異を表現するデータ・ワードで作られている。

Description

【発明の詳細な説明】
【0001】 (発明の分野) この発明は、データベース内のデータ情報の記憶域のための構造に関する。
【0002】 この構造は、Bツリーを含んでいるノード階層にデータ情報が構造化される場
合に適する。このツリーは、根ノードと、恐らくは1つ以上のレベルの中間ノー
ドと、1つ以上の葉ノードを有する。
【0003】 根ノードは根エレメントを含み、それぞれの中間ノードは1つ以上の中間エレ
メントを含み、それぞれの中間ノードは1つ以上の葉エレメントを含む。
【0004】 このBツリーは、中間ノード内の第1中間エレメントを根エレメントかまたは
階層内のより高いレベルに配置された中間エレメントへリンクすることにより、
構築される。中間ノード内の残りの中間エレメントは、第1中間エレメントにリ
ンクされる。
【0005】 同様に、それぞれの葉ノード内の第1葉エレメントは、根エレメントかまたは
中間ノードの1つの中間エレメントへリンクされる。葉ノード内の残りの葉エレ
メントは、第1葉エレメントへリンクされる。
【0006】 それぞれのエレメントは、リンクおよびデータ情報のためのアドレス情報を含
む。
【0007】 ノード内のエレメントの順序は、データ情報に関しては、アルファベット順ま
たは番号順のような論理的な順序である。
【0008】 それぞれのエレメント内のデータ情報は、階層内の先行するエレメントに属す
るデータ情報に関して、データ情報内に差異を構成する。
【0009】 (発明の背景) 1つのデータベース内に複数の異なったデータ構造を使用することは、久しく
知られてきた。これらの構造は、例えば記憶空間の利用や高速サーチに関して種
々の利点を与える。
【0010】 公知の1つの構造はBツリーに基づき、これによりデータベース内のテーブル
の中のエレメントの論理的な配分を可能にする。
【0011】 1つのエレメントは、例えば電話番号のような外部キーに結合されたデータベ
ース内の内部アドレスを含み得る。テーブル内に新しい電話番号を挿入するとき
は、ある論理的な順序により、この新しい電話番号の内部アドレスを配置すべき
エレメントに関して計算が行われる。
【0012】 Bツリーの機能は、テーブル内にこれらのアドレスを配分することであり、こ
れにより、それらが容易に発見されるような仕方で、前記アドレスが配分される
【0013】 Bツリーは本質的に、整然とした単純な構造を生成するために使用される。
【0014】 各ツリーは1つの根ノードから始まり、この根ノードは、希望するノードへの
サーチを一定の基準に基づいて実行できる更なるノードをポイントする(示す)
。これらのノードはキーまたは索引を含むことが多い。
【0015】 httpアドレス、ファイル名、タイムスタンプ、電話番号などは、Bツリー
内に記憶されるキーの例である。
【0016】 注意すべきは、前記のノードが、キーまたは索引の階層を記述するのが目的の
ツリー構造内のノードであって、分散データベース内のプロセッサ・ノードでな
いことである。
【0017】 論理的に順次のデータ・セットの場合は、2つの相互に順次のデータ・セット
の間の差異の情報だけを記憶することも知られている。
【0018】 この手順は、例えば画像処理に使用され、そこでは、大量の情報を記憶して、
動画または画像を再生する必要があるが、2つの相互に順次の画像の間の差異は
非常に小さいかもしれないので、これらの画像の間の差異だけを記憶して、これ
らの画像を再生するときに利用することができる。
【0019】 2つの相互にリンクされたエレメントの全体を記憶する代わりに、その間の差
異のみを、リンクされたリストと共に記憶することも知られている。
【0020】 これはより少ない記憶空間しか必要としないが、同一の情報を供給する。
【0021】 更にまた注意すべきことは、たとえばファイル名またはhttpアドレスと共
に、単純な仕方では2つの隣接するノードの間に差異を記述することを困難にす
るかもしれないような異なったフォーマットと接尾語が使用されることである。
【0022】 下記の出版物は、Bツリー内に構造化される情報の取り扱いを記述している。
【0023】 「トランザクション処理の概念と技法」、J.グレイ、A.ライター著、モル
ガン・コフマン社、1993年。
【0024】 「接頭語Bツリー」、R.バイヤー、K.アンテラウアー、データベースシス
テムについてのACM会報、第2巻、第1号、11頁−26頁、1977年。
【0025】 更にまた注意すべきは、複数のエレメントが逐次に連続している場合に、また
1つのコンテナをユニットとして取り扱える場合に、いわゆるコンテナ内に複数
の異なったエレメントを記憶することが知られていることである。
【0026】 (発明の要約)
【0027】 (技術的課題) 上記のように先行技術を考えると、技術的課題が存在するのは、先行するノー
ドに関して差異情報のみを記憶することにより、既知の圧縮に対してさえ、既知
の構造に必要とされるよりも遥かに小さい記憶空間しか必要としない、データベ
ース内のデータ情報の記憶域の構造を供給することであると分かる。
【0028】 もう1つの技術的課題は、希望するエレメントまたはオブジェクトを効果的に
発見することも可能にする圧縮構造を提供することである。
【0029】 更にもう1つの技術的課題は、その中でデータ・ワードが、現在起こっている
差異を明確で単純な仕方で記述できる構造を提供する能力にある。
【0030】 なおもう1つの技術的課題は、記憶すべきデータ情報の複数の異なった接尾語
を単純な仕方で取り扱うデータ・ワードのための構造を提供することである。
【0031】 もう1つの技術的課題は、データ情報の2つのセットの間の差異がデータ情報
の終端に存在しない場合に、データ情報内のこの差異の後で発見される類似性を
表現する必要なしに、この差異を容易に表現できるようにすることにある。
【0032】 もう1つの技術的課題は、圧縮Bツリー内のエレメントまたはオブジェクトの
変更を取り扱う能力にある。
【0033】 なおもう1つの技術的課題は、コピーすべき圧縮Bツリー内のエレメントまた
はオブジェクトの1つを使用許可することである。
【0034】 もう1つの技術的課題は、ある特定のエレメントを捜すときに、Bツリーのサ
ーチを加速することである。
【0035】 もう1つの技術的課題は、特定のエレメントを捜すときに、データ情報の圧縮
により、Bツリーのサーチを実質的に高速化する可能性を供給する構造を提供す
ることである。
【0036】 更にもう1つの技術的課題は、データ情報が圧縮されていて、先行するノード
に関する差異情報のみを含んでいて、Bツリーへのエレメントの挿入と削除が単
純に効率的にできる構造を提供することである。
【0037】 もう1つの技術的課題は、キャッシュメモリへの読みこみにより複数のエレメ
ントを含む1つのノードを利用可能にする構造を提供することである。
【0038】 もう1つの技術的課題は、そこに含まれる複数の異なったノードとエレメント
の間の参照に必要なアドレス情報の量が、伝統的に必要とされるよりも遥かに少
ない構造を提供することである。
【0039】 (解決法) 上記の技術的課題の1つ以上を解決する目的で、緒言に説明した種類の構造を
出発点として、この発明により、根エレメント内のデータ情報が開始値を構成す
ること、また、この開始値が実際のデータ情報を構成することが提案される。そ
の他のエレメント内の差異情報が、データ情報内の差異がどこにあるかにかかわ
りなく、先行するエレメントに属するデータ情報に関して、データ情報内の実際
の差異を表現するデータ・ワードを含んでいることも提案される。
【0040】 この差異が終端にあるかどうかにかかわりなく、実際の差異のみが記憶される
ので、高度に圧縮された構造が得られる。
【0041】 この発明の1つの実施例によれば、先行するデータ情報に関して何かが除去さ
れるべきかどうかについてと、もしそうならば、削除されるべきことの性質、そ
れがデータ情報のどこから削除されるべきかについての指標を差異情報が含み得
るようにすることにより、また、先行するエレメントに属するデータ情報に関し
て何かを追加すべきかどうかについてと、もしそうならば、追加されるべきこと
の性質、この追加が行われる前記データ情報内の場所についての指標を差異情報
が含み得るようにすることにより、そうした構造が生成される。
【0042】 この差異情報の表現を圧縮または短縮する方法を提供する目的で、この発明が
提案するのは、データ・ワードがヘッダと情報部を含み、このヘッダは情報部が
どのように解釈されるべきかを明らかにすることである。
【0043】 情報部が5つの異なったビットグループを含み得ることも提案されるが、それ
は下記の通りである。
【0044】 − 本書において接尾語と呼ばれる第1グループで、データ情報に属する接尾
語のタイプを表現する。
【0045】 − 本書においてマイナス情報と呼ばれる第2グループで、先行するエレメン
トに関して削除されるべきバイトの数を表現する。
【0046】 − 本書においてプラス情報と呼ばれる第3グループで、先行するエレメント
に関して追加されるべきバイトの数を表現する。
【0047】 − 本書において類似性と呼ばれる第4グループで、先行するエレメントに関
して類似する終端からのバイトの数を、接尾語を除外して表現する。
【0048】 − 本書において差異を指定する第5グループで、明快な本文(クリアテキス
ト)において、追加されるべき文字、すなわちプラス情報を構成する。
【0049】 − 上記の諸グループが正しく解釈されるようにするために、ヘッダが3ビッ
トを含んで構成されることが提案されるが、下記の通りである。
【0050】 − 第1ビットは、第4グループが存在するかどうか、すなわち、データ情報
の終端で差異があるかどうかを示す。
【0051】 − 第2ビットは、第2グループおよび第3グループが4ビットまたは8ビッ
トを含むかどうかを明らかにする。
【0052】 − 第3ビットは、第2グループ、第3グループ、第4グループが存在するか
どうか、すなわち、接尾語に加えて、いずれかの差異情報が見出されるかどうか
を明らかにする。
【0053】 こうして、第1グループが5ビットを含み、第2グループおよび第3グループ
が4ビットまたは8ビットを含み、第4グループが0ビットまたは8ビットを含
み、第5グループが、先行するエレメントに関して追加されるべき全てのものを
表現するのに必要な数のバイトを含む。
【0054】 結果として、第5グループを例外として、1つの差異が接尾語の中にだけある
ときに、全ての差異情報を最低8ビット、すなわち1バイトで表現でき、また、
全てのグループが最大数のビットを含むとき、全ての差異情報を最大32ビット
、すなわち4バイトで表現できる。
【0055】 差異がプラス情報から構成されるとき、実際の差異プラス1バイトないし4バ イトが、既知の技法に関して1つの有意義な圧縮であった。この情報量は、圧縮 なしで必要なメモリ空間の約20%に対応するメモリ空間を必要とする。
【0056】 第1グループはその5ビットの媒体を通じて、接尾語の所定のリストにより、
32の異なった接尾語を表現できるが、この接尾語のリストは多数の接尾語の取
り扱いを可能にし、ここで各接尾語は5ビットのみで表現できる。
【0057】 それぞれの葉エレメント内の情報もまた、捜索されるオブジェクトを含む。
【0058】 あるオブジェクトがトランザクションの主題であるときに複数のオブジェクト
をロックすることを取り扱う目的で、それぞれのオブジェクトが4つの異なった
ビット組み合わせを含み、その第1ビット組み合わせは、前記オブジェクトがロ
ックされているかどうかを表現することが、この発明により提案される。
【0059】 前記第1ビット組み合わせは1つのオブジェクトがロックされていないことを
示すとき、第2ビット組み合わせがオブジェクト・ステータス・ビットを構成し
、第3ビット組み合わせはあるオブジェクトに属するオブジェクト・キーの長さ
に関する情報を含み、第4ビット組み合わせは前記オブジェクト・キーを含む。
【0060】 前記第1ビット組み合わせは前記オブジェクトがロックされていることを示す
とき、残りのビット組み合わせに属するビットがトランザクション・レジスタへ
の参照を表現する。このトランザクション・レジスタは、オブジェクト・ステー
タス・ビット、前記オブジェクトに属するオブジェクト・キーの長さに関する情
報、前記オブジェクト・キー自体、前記オブジェクトに適用されているロックの
タイプを含む。
【0061】 ステータス・ビットは、オブジェクトをコピーする処理に利用され、そこでそ
れぞれのビットはオブジェクトがコピーされたかどうかを指摘する。複数の同時
的なコピー処理は、それぞれのステータスビットを利用する。
【0062】 Bツリーから1つのエレメントを除去できるようにするために、この発明によ
り提案されるのは、あり得る後続のエレメントに属する差異情報を適応させて、
前記除去されるエレメントに先行する1つのエレメントに関する差異情報を構成
するようにすることと、後続エレメントに属するアドレス情報は、先行するエレ
メントをポイントするように調整されることと、先行するエレメントに属するア
ドレス情報が後続のエレメントをポイントするように調整されることである。
【0063】 同様に、あるエレメントを追加するときに、この追加されるエレメントに属す
る差異情報は、先行するエレメントに関して差異情報を構成するように調整され
ることと、この追加されるエレメントに属するアドレス情報は、先行するエレメ
ントおよびいずれかの後続のエレメントをポイントするように調整されることと
、前記あり得る後続のエレメントに属する差異情報は、追加されるエレメントに
関して差異情報を構成するように調整されることと、前記後続のエレメントに属
するアドレス情報は、前記追加されるエレメントをポイントするように調整され
ることと、前記先行するエレメントに属するアドレス情報は、前記追加されるエ
レメントをポイントするように調整されることが提案される。
【0064】 Bツリー内のサーチの可能な能力を加速するために、この発明により、1つの
ノードが1つのコンテナを含んで構成されることと、1つのノードに属するそれ
ぞれのエレメントは前記コンテナ内で互いの直接後ろの位置に配置されることが
提案される。
【0065】 その上、1つのコンテナ内の情報量は、データベース内でアクティブなプロセ
ッサ、データベースを利用するプロセッサに属するキャッシュメモリにより、1
つのアクセス内で読まれ得る情報量に等しいかまたはより少ないように調整され
ている。
【0066】 コンテナのサイズの制限があるので、メモリ内に前記情報を記憶するときに、
Bツリーにより与えられる順応性を保持することができる。
【0067】 このサイズの制限にもかかわらず、それぞれのエレメントの総合的な圧縮によ
り、コンテナは比較的に多数のエレメントを収納できる。
【0068】 こうして、あるメモリがアクセスされると、複数のエレメントが一回で同時に
キャッシュメモリへ読み込まれる。ノーマル・リンクされたリストの場合、読み
込まれるエレメントごとにメモリをアクセスする必要が非常に頻繁に起こる。
【0069】 その上、コンテナ内のエレメントの連続的な記憶域は、リンクされたリストに
必要なポインタよりも少ないポインタしか必要でないので、必要な空間を更に圧
縮できる。
【0070】 1つの頁内の参照は他の頁への参照よりも、かなり少ないアドレス情報しか必
要としないので、可能な最小のアドレス情報を利用する可能性は、ツリー構造の
ノードを可能な最大範囲まで、1つの共通の頁内に配置することである。
【0071】 (利点) 発明の構造により与えられる主要な利点の1つは、2つの隣接するノードまた
はエレメントの間のどんな差異も表現できることである。必要なアドレス情報を
無視すれば、この方法を実行する場合に必要な記憶空間は、非圧縮Bツリーに必
要な記憶空間の約20%へまで減少できる。
【0072】 この発明により与えられるもう1つの利点は、情報が記憶されている前記メモ
リまたは複数のメモリへの比較的少ないアクセスにより、Bツリーをサーチでき
ることである。
【0073】 このようにして発明によるツリー構造は、リンクされたリストに基づくデータ
構造内に必要なアドレス記憶空間の最適化(最小化)を可能にするが、ここで記
憶域構造は、リンクされたリストを貫く論理的で、比較的に高速なサーチ能力を
提供する順序つき構造である。
【0074】 要するに、この発明は、従来の場合よりも良いデータ圧縮を媒体として、また
ツリーへのエレメントの追加またはツリーからのエレメントの削除と共に1つの
頁を再配置するより大きな可能性を通じて、効果的な取り扱いを提供する。これ
らの再配置の可能性は、1つのアクセスを通じて各コンテナをキャッシュメモリ
に読み込み、キャッシュメモリ内で処理できる事実により与えられ、これは非常
に高速で効果的な処理手順である。
【0075】 発明による構造の基本的な性格を示す諸機能は、前記の請求項1に提示されて
いる。
【0076】 (好ましい実施例の詳細な説明) この発明が一層容易に理解されるように、データ情報の記憶に使用するために
ツリー構造を、この発明を説明するために後で使用する技術を使用しながら、こ
れから説明する。
【0077】 ツリー構造は、1つの木の形式のリンクされたリストを設立する方法を表現す
るが、これは、リスト内に与えられるエレメントのサーチを単純化して、一層効
果的にするためである。
【0078】 Bツリーの記述を容易にするために、出願人が使用する例では、1000個の
エレメントが0ないし999の番号を付けられる。これらのエレメントは、図1
によるノーマル・リンクされたリストAまたは図2によるツリーBの中に配置で
きて、ここで多数のエレメントE1、同E2、同E3などは、0から999の数
の順にツリー構造内に配分される。
【0079】 ノーマルリンク・リストA内のエレメント“312”E313をサーチすると
きは、サーチはエレメント“0”E1で開始され、エレメント“0”E1はエレ
メント“1”E2へのサーチに更にリンクし、同様にエレメント“312”、E
313に達するまでサーチしてリンクする。これは、最初のエレメント“0”E
1へのサーチを含まずに、312回のサーチになる。
【0080】 図2に図示するツリー構造が、より少ないサーチにより同一のエレメントを発
見することを可能にする。
【0081】 図示されるツリーは、“0−999”の値を有する根エレメントを含む根ノー
ドを有する。このエレメントは、複数のエレメント2E1、2E2、2E3,.
..などを含む第1中間ノードへリンクし、これらのエレメント2E1、2E2
、2E3の各々は、更なるエレメントを含む更なる中間ノードへリンクする。図
2は、エレメント“300−399”2E4が中間ノード3へ、どのようにリン
クするかを示す。
【0082】 中間ノード3内のエレメント3E1、3E2、3E3,...などは、代わり
に複数の葉エレメントを含む葉ノードへリンクする。図2は、どのようにエレメ
ント“310−319”が更に、複数の葉エレメント4E1、4E2、4E3,
...などを含む葉ノード4へリンクするかを示す。
【0083】 葉リーフは、捜索されている実際の情報を含有する。
【0084】 出願人の例では、サーチはエレメント“312”4E3についてであり、図示
のツリー構造において下記の通り実行される。
【0085】 最初に、第1中間ノード2内のエレメント2E1、2E2、2E3,...を
通してエレメント“300−399” 2E4が発見されるまでサーチが行われ
、これは4回のサーチが必要である。
【0086】 それから第2中間ノード3を通してエレメント“310−319”3E2が発
見されるまでサーチが行われ、これは2回のサーチが必要である。
【0087】 最後に、葉エレメント4E1、4E2、4E3,...を通して、捜索される
エレメント“312”が発見されるまでサーチが行われ、これは3回のサーチが
必要である。
【0088】 こうして、ノーマル・リンクされたリストAの場合における312サーチと反
対に、根エレメント“0−999”1Eについてのサーチを含まずに、全体で9
回のサーチになる。
【0089】 ノーマル・リンクされたリストAの場合において、エレメント“999”E1
000は1000回のサーチを必要とするのに対し、BツリーBにおいては30
回のサーチが必要なだけである。他方において、ノーマル・リンクされたリスト
Aにおいては、エレメント“0”からエレメント“9”までは、Bツリーにおい て必要な2つの追加サーチがリーフ・エレメントに落とされるので、一層敏速に
発見される。
【0090】 2つの相互にリンクされたエレメントの差異のみを記憶して、エレメント全体
の記憶の代わりとすることが、リンクされたリストに関連して知られている。
【0091】 こうして、図2の例において、根エレメント1Eはデータ情報“0”を収納し
、第1中間ノード2内のすべてのエレメントはそのときデータ情報“+100”
を収納し、これは先行するエレメントに対する差異であり、第2中間ノード3内
の全てのエレメントは、同様にデータ情報“+10”を含むかも知れず、また葉
ノード4内の葉ノード4はデータ情報“+1”を収納することになる。
【0092】 これは、より少ない記憶空間しか必要とせず、しかも同一の情報を提供する。
【0093】 いつでも上記の例のような単純な仕方でソートされたように情報を記憶できる
わけではない。
【0094】 例えば、ファイル名またはhttpアドレスの場合は、データ情報は一層複雑
なデータ構造である。その上、種々なフォーマットと接頭語が使用され、これが
、単純な仕方で2つの隣接するノードの間の差異情報を記述することを困難にす
るかもしれない。
【0095】 下記のリンクされたアドレスは、これに関して、例示される。
【0096】 1)http://www.ericsson.se/ndb/description.html 2)http://www.ericsson.se/ndb/nodedescription.html 3)http://www.ericsson.se/ndb/system arch.pdf 4)http://www.ericsson.se/ndb/system arch.ps
【0097】 この場合は、2、3、4のための情報が128バイトを必要とする。これは、
開始値からの開始点を有する圧縮形で記述でき、この開始値はアドレス番号1に なる。先行するエレメントに対する差異を記憶する方法においては、上記のアド
レスを下記の方法で表現できる。
【0098】 1)http://www.ericsson.se/ndb/description.html 2)-"description.html"+"nodedescription.html" 3)-"nodedescription.html"+"system arch.pdf" 4)-"df"+"s"
【0099】 これらは2、3、4のために80バイトを必要とし、希望する情報を再生するた めに記憶しなければならないデータ情報の圧縮はこの通りである。これは、何も
圧縮がない場合に必要とされる記憶空間の約60%に相当する。
【0100】 この発明は本質的に、Bツリー内の先行するエレメントへの差異をそれぞれの
エレメントにおいて記憶することのみに基づく方法の上に構築され、既知の技法
に対してこの方法は、ツリー構造内に必要とされるデータ情報をさらに圧縮また
は減少することを可能にする。
【0101】 差異がエレメントの終端にない場合は、この方法はデータ情報の終端の全てを
記憶する必要なしに、二つの隣接するエレメントの間の差異情報を生成する可能
性を提供する。
【0102】 上記の例において、開始値(1)と後続のエレメント(2)の間の差異は、こ
のデータ情報の終端からの文字の数で発見される。
【0103】 二つのエレメント内のデータ情報の間の実際の差異は実際に比較的小さくて、
+“node”であるので、これは差異情報が必要な―“descriptio n.html”+“nodedescription.html”よりも大きいこ
とを意味する。
【0104】 データ情報内のどこに差異があるかにかかわりなく、種々のエレメント内の差
異情報が、先行するエレメントに属するデータ情報に関するデータ情報内の実際
の差異を表現するデータ・ワードを含んで構成されることを、この発明により提
案される。
【0105】 この差異情報は、先行するエレメントに属するデータ情報から何かを削除すべ
きかどうかについての指示(ディレクティブ)を含み、もしそうした場合ならば
、何を除去すべきか、またデータ情報内のどこからそれを除去すべきかの性質を
おびた指示を含む。
【0106】 この差異情報はまた先行する情報に属するデータ情報に何かを追加すべきかの
指示、およびこうした場合にデータ情報内のどこに何を追加すべきかについての
指示を含む。
【0107】 図3はデータ・ワードの構成を示すことを目的とする。図示の場合データ・ワ ード5はヘッダ51と情報部52を含み、ヘッダ51は情報部52がどのように 解釈されるべきかを開示する。
【0108】 情報部52は下記の通り5つの異なったビットのグループを含み得る。
【0109】 − 第1グループ521は、本書では接尾語と呼ばれ、データ情報内に包含さ れる接尾語のタイプを表現する。
【0110】 − 第2グループ522は、本書ではマイナス情報と呼ばれ、先行するエレメ
ントに関して除去されるべきバイトの数を表現する。
【0111】 − 第3グループ523は、本書ではプラス情報と呼ばれ、先行するエレメン
トに追加すべきバイトの数を表現する。
【0112】 − 第4グループ524は、本書では類似性を指示し、接尾語に関係なく、先
行するエレメントに類似する終端からのバイトの数を表現する。
【0113】 − 第5グループ525は、本書では差異を指示し、追加されるべき情報、す
なわち、明瞭な(クリア)テキスト内のプラス情報523を構成する。
【0114】 ヘッダ51は、5ビットを含んで構成され、下記の通りである。
【0115】 − 第1ビット511は、第4グループ524が存在するかどうか、すなわち
、データ情報の終端に差異があるかどうかを開示する。
【0116】 − 第2ビット512は、第2グループ522と第3グループ523が4ビッ
トまたは8ビットを含むかどうかを開示する。
【0117】 − 第3ビット513は、第2グループ522、第3グループ523、第5グ
ループ525が存在するかどうか、すなわち、接尾語521のほかに、何か差異
情報が見出されるかどうかを開示する。
【0118】 第1グループ521は5ビットを含み、第2グループ522と第3グループ5
23は4ビットまたは8ビットを含み、第4グループ524は0ビットまたは8
ビットを含み、第5グループ525は追加され得ることを表現するのに必要な数
のバイトを含む。
【0119】 こうして、第2グループのほかには、差異が接尾語内だけに存在するとき、全
ての差異情報を最低8ビットで、すなわち1バイトで表現でき、または全てのグ
ループが最大数のビットを含むとき、最大32ビット、すなわち4バイトで表現
できる。
【0120】 その5ビットの媒体を通して、第1グループ521は、所定の接尾語リストに
より、32の異なった接尾語を表現できる。
【0121】 例えば、接尾語“html”に“00000”の値を割り当てでき、また接尾
語“pdf”に“00001”の値を割り当てできる。こうして、それぞれの接
尾語は、両方の場合とも5ビットで表現される。これに対して、もし接尾語“h
tml”を略さないで書けば、4バイト、32ビットを必要とし、“pdf”は
3バイト、24ビットを必要とする。
【0122】 これを例示するために、リンクされたhttpアドレスの例に戻ると、下記の
通りである。
【0123】 1)http://www.ericsson.se/ndb/description.html 2)http://www.ericsson.se/ndb/nodedescription.html 3)http://www.ericsson.se/ndb/system arch.pdf 4)http://www.ericsson.se/ndb/system arch.ps
【0124】 この発明によれば、これは既知の技法により達成し得るよりも更に圧縮された
形で、下記のように記述し得る。
【0125】 1)http://www.ericsson.se/ndb/description.html
【0126】 2) ヘッダ51:101(3ビット);接尾語521:html(5ビット)
;マイナス情報522:−0(4ビット);プラス情報523:4(4ビット)
;終端524における類似性:11(8ビット)、差異525:“node”(
4バイト)。
【0127】 3) ヘッダ51:001(3ビット);接尾語521:pdf(5ビット);
マイナス情報522:―15(4ビット);プラス情報523:+11(4ビッ
ト);差異525:“system#arch”(11バイト)。
【0128】 4) ヘッダ52:000(3ビット)接尾語521:ps(ビット)。
【0129】 既知の技法による圧縮に必要な80バイトおよび非圧縮情報に関する128バ
イトに対して、上記の結果は第2行、第3行、第4行について、21バイトであ
る。
【0130】 ツリー構造を維持して前記構造を通してサーチができるようにするために、こ
の情報に対してアドレス情報を追加しなければならない。
【0131】 それぞれの葉エレメントに属するデータ情報もまた実際のオブジェクト、例え
ばユーザが見る外部httpアドレスのための内部表現、いわゆるオブジェクト
・キーを含む。
【0132】 あるエレメントは、種々の仕方のトランザクション、例えばオブジェクトの変
更または更新により影響され得る。一定の変化の場合は、他のトランザクション
に対して、エレメントまたはオブジェクトをロックすることが必要である。他の
トランザクションのためにそのオブジェクトを使用可能にできる範囲によって、
種々のタイプのロックを使用できる。
【0133】 図4に示すように、この発明によれば、あるオブジェクト6は4つの異なった
ビット組み合わせを含む。
【0134】 オブジェクト6における第1ビット組み合わせは、このオブジェクトがロック
されているかどうかを明らかにする。
【0135】 オブジェクト6がロックされていないことを第1ビット組み合わせが明らかに
するとき、第2ビット組み合わせ62がオブジェクト・ステータス・ビットを含
み、第3ビット組み合わせ63が前記オブジェクトに属するオブジェクト・キー
の長さに関する情報を含み、第4ビット組み合わせが実際のオブジェクト・キー
を含む。
【0136】 オブジェクト6がロックされていることを第1ビット組み合わせが明らかにす
るとき、図5の通りに、ロックが加えられるようにしたトランザクションに属す
るトランザクション・レジスタ7への参照65を、残りのビット組み合わせに属
するビットが表現する。
【0137】 このトランザクション・レジスタ7はオブジェクト・ステータス・ビット62
、オブジェクト・キーの長さに関する情報63、オブジェクト・キー自身、オブ
ジェクト6に加えられたロックのタイプに関する情報66を含む。
【0138】 ステータスビット62は、オブジェクト・コピー処理中に使用され、そこでそ
れぞれのビットは、前記オブジェクトがコピー済みであるかどうかを指示する。
同時コピー処理の番号の各々は、それぞれのステータス・ビットを使用し、これ
により、ステータス・ビットがあるのと同じ数の異なったコピー処理のために、
オブジェクトを利用できる。
【0139】 図6は、この発明により、あるエレメントE’2が、どのように除去されるか
を示すつもりである。図6は、除去されるエレメントE’2に先行するエレメン
トE’1に関して異なった情報を構成するように、あり得る後続のエレメントE
’3に属する差異情報E’31が調整されることを示す。
【0140】 後続のエレメントE’3に所属する全てのアドレス情報E’13もまた、先行
するエレメントE’1をポイントするように調整され、また先行するエレメント
E’1に属するアドレス情報E’13は、後続のエレメントE’3をポイントす
るように調整される。
【0141】 図7は、あるエレメントE’’2を追加すると、この追加されたエレメントE
’’2に属する差異情報E’’21が、先行するエレメントE’’1に関して差
異情報を形成するように調整されることを、同様な仕方で図示する。
【0142】 あり得る後続のエレメントEに属する差異情報E’’31は、追加されたエレ
メントE’’に関する差異情報を形成するように、それから調整される。
【0143】 追加されたエレメントE’’に属するいずれかのアドレス情報E’’12、E
’’23は、先行するエレメントE’’1と後続のエレメントE’’3をポイン
トするように調整され、いずれかの後続エレメントE’’3のアドレス情報E’
’23は、追加されたエレメントE’’2をポイントするように調整され、先行
するエレメントE’’1に属するアドレス情報E’’12は追加されたエレメン
トE’’2をポイントするように調整されている。
【0144】 上記の説明において、ノード内のエレメントはリンクされたリスト内でインタ
・リンクされる。これは、これらのエレメントを通してのサーチには、エレメン
トごとに1つのメモリへのアクセスを必要とすることを意味する。
【0145】 前述の圧縮構造は、必要なメモリ空間の著しい圧縮を供給するので、1つの共
通のコンテナ内に複数のエレメントを記憶することを、この構造が可能にする。
【0146】 図8は、この発明の好ましい実施例を示し、ここでそれぞれのノードはコンテ
ナ8を含んで構成される。
【0147】 1つのノードに属するそれぞれのエレメント8E1、8E2、8E3,...
は、コンテナ8内で、互いの直後の位置に配置されている。
【0148】 この発明のツリー構造を通じてのサーチの可能な能力を一層効率的にする目的
で、コンテナ8内に収納される情報の量を、データベース内で作動または前記デ
ータベースを使用するプロセッサに属するキャッシュメモリへ1回の読み込みで
読める情報量に等しいか、それ以下にすることが提案される。
【0149】 コンテナ内のエレメント8E1、8E2、8E3,...は互いに連続的にあ
るので、それぞれのエレメントが、リンクされたリスト内に必要とされる全ての
アドレス情報を含む必要はない。
【0150】 こうして、エレメント8E1、8E2、8E3,...が1つのコンテナ内に
収納されているときに、この発明により提案されるのは、それぞれの中間エレメ
ント8E1、8E2、8E3,...内に見出されるリンクと関連アドレス情報
は、1つのリンク81と階層内の後続のノード8’に属する第1エレメント8’
E1に関する関連アドレス情報、および、1つのリンク82とそれぞれの第1中 間エレメント8E1から階層内の先行するノード及び関連コンテナ8’’内のエ
レメント8’’E3への関連アドレス情報に限定されることである。
【0151】 同様に、それぞれの葉エレメント8’E1、8’E2、8’E3,...内の各
リンク及び関連アドレス情報は、一つのリンク81とそれぞれの第1葉エレメン
ト8’E1から先行するノード内のエレメント8E3への関連アドレス情報と階
層内の関連コンテナ8だけに限定される。
【0152】 一つのテーブル内でアドレスするときは種々の量のアドレス情報が必要である
が、この量は種々のノードがどのように配置されるかによって異なる。他のペー
ジヘのノードをアドレスするときにはこのアドレス手順は最悪の場合8バイトま
で必要になるかもしれない。
【0153】 これらのページは種々のサイズでありうるし、異なったデータ構造に適応し得
る。
【0154】 この発明の一つの好ましい実施例において、これらのツリーのノードはできる
かぎり同一ページ上に配置される。
【0155】 これにより他のノードを参照することが一層容易になる。この発明によれば、
一つのアクセスによりキャッシュメモリへコンテナの内容を読み込むことができ
るのに適した特定のサイズをコンテナに与えることができる。
【0156】 今日のプロセッサは、通常一回128バイトをキャッシュメモリへ読み込ませ
ることができ、以下の説明はこの値に基づいている。しかしながら下記の説明で
指摘するコンテナサイズおよび他の寸法は、希望する効果を得るために、関連す
るプロセッサのキャッシュメモリへ一度に読み込むことができる情報の量により
調整されることを理解すべきである。
【0157】 この発明の将来の応用において考慮にいれる必要のありうるもう一つのパラメ
ータは、キャッシュメモリへ情報を読み込む処理にとられる時間である。処理時
間がキャッシュ・ミス(cache−miss)のための時間を上回るときは、
コンテナのサイズをおよび他の寸法を制限して、一度にキャッシュメモリへ読み
込むことのできる情報量にかかわりなく、コンテナを処理するのにとられる時間
がキャッシュ・ミスに取られる時間よりも短い値にすることがふさわしい。
【0158】 一つのページ上に少量の修正アドレス情報と共にある全てのコンテナをアドレ
スしたいと望むときは、この発明により1バイトの支援によりアドレスできる数
のコンテナを最低収容できるように1ページを調整することが提案される。1バイ
トで256個のコンテナをアドレスでき、これは32768バイトに相当する。
こうして1ページは少なくとも33Kバイトおよび1ページに属する他の必要な情
報を含むように調整できる。
【0159】 図9は一つのBツリーが、どのように多数のより小さなパーツ・ツリーT1、同
T2、同T3に分割されたかを図式的に示す。これにより1ページに収容するには 大きすぎるツリーをより小さな複数のパーツ・ツリーに分割できる。
【0160】 パーツ・ツリーT1が1つのページp1に収容される場合は、必要なアドレ
ス情報R1は参照ごとに1バイト必要なだけである。参照R2、同3がパーツ・
ツリーT1、同T2、同T3の間にあるときは、より大きな量のアドレス情報が
必要であり、すなわち異なったページp1、p2,...,pnの上のアドレス
コンテナに必要な情報の量が必要である。
【0161】 こうしてツリー全体の参照の大部分はそれぞれ1バイト以内に収容し得る。パ
ーツ・ツリーの間の参照だけがより大きなメモリ空間を必要とする。
【0162】 この発明によるBツリーを通じて参照する一つの方法を以下に例示により説明
する。
【0163】 図10は一つのツリーの略図である。いわゆる根ページからサーチが始まって
下向きに続く。Bツリーのエレメントは差異情報のみを含むので、全てのサーチ
レベルで開始値を有する必要がある。記憶される実際のオブジェクトは、開始値
と差異情報を利用することにより発見できる。根ページ上の根ノードは開始値“
NULL”を含有する。
【0164】 希望するオブジェクトは第1エレメント9el1と比較される。もしこのオブジ ェクトがエレメント9el1と等しいかまたはより小さければ、サーチは左ポイン
タ9pl1に続き、さもなければ次のエレメント9el2との比較が続く。もしこの
オブジェクトが9el2に等しいかまたはより小さければ、このサーチは左ポイン
タ9pl2へ続き、これがわれわれの例の場合である。
【0165】 ポインタ9pl2がポイントするノードの開始値は、そのときエレメント9el2
であり、それはこのノード内の全てのエレメントは、エレメント9el2よりも大
きいからである。この仕方でサーチが継続して、1つのページ用の複数のノード 全体を行う。
【0166】 もしサーチが他のページへ移っても、ページに注意せずにツリーを通してサー
チが継続されたかのように、このページは根ノードと同一の開始値を有する。上
記のことから開始値がサーチ全体を通じて暗黙に知られていることが明らかであ
る。こうしてサーチに関連して開始値を記憶することは必要がない。
【0167】 一つのコンテナ内であるオブジェクトを収容できない場合は、更なるコンテナ
が割り当てられて、第1のコンテナに結合され、こうして必要な空間を有するよ り大きなコンテナが形成される。
【0168】 そのときこのコンテナはその内容を一回でキャッシュメモリへ読み込むのに大
きすぎるようになり、このコンテナ内のあるエレメントのサーチに関連してキャ
ッシュミスが生じる。これは一つの機能を提供するが、しかしながら能率の低下
という損失を支払う。
【0169】 この発明は上述し図示した例示の実施例に限定されるものではなく、前記の特
許請求の範囲に説明されたこの発明の概念の範囲内で修正と変更をなし得ること
を理解すべきである。
【図面の簡単な説明】
この発明を一層容易に理解し、その他の諸特徴を明らかにするために、実施例
を参照し、また添付図面を参照して説明してきたが、添付図面は下記の通りであ
る。
【図1】 公知技術によるエレメントのリンクされたリストの図式的で高度に単純化され
た図である。
【図2】 公知の仕方でのツリー構造により構造化された第1図によるリンクされたリス
トの部分を示す図である。
【図3】 2つの隣接するエレメントの間の差異情報を表現するために、どのようにデー
タ・ワードがこの発明により構造化されるかを図式的に示す図である。
【図4】 ロックされてないオブジェクトの構造の略図である。
【図5】 ロックされたオブジェクトの構造の略図である。
【図6】 どのようにあるエレメントをツリー構造から削除できるかを図式的に示す。
【図7】 どのようにあるエレメントをツリー構造へ追加できるかを図式的に示す。
【図8】 あるエレメントに属する複数のノードが1つのコンテナ内に集められる代案の
実施例を図示する。
【図9】 どのように1つのツリーを多数のより小さなサブ・ツリーに分割できるかを図
式的に示す。
【図10】 Bツリーの略図で、Bツリーを通してどのようにサーチが遂行されるかを示す
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,ML,MR, NE,SN,TD,TG),AP(GH,GM,KE,L S,MW,SD,SZ,UG,ZW),EA(AM,AZ ,BY,KG,KZ,MD,RU,TJ,TM),AL ,AM,AT,AU,AZ,BA,BB,BG,BR, BY,CA,CH,CN,CU,CZ,DE,DK,E E,ES,FI,GB,GE,GH,GM,GW,HR ,HU,ID,IL,IS,JP,KE,KG,KP, KR,KZ,LC,LK,LR,LS,LT,LU,L V,MD,MG,MK,MN,MW,MX,NO,NZ ,PL,PT,RO,RU,SD,SE,SG,SI, SK,SL,TJ,TM,TR,TT,UA,UG,U Z,VN,YU,ZW 【要約の続き】 であり、残りのエレメント内の差異情報は、データ情報 内のどこに差異があるかにかかわりなく、先行するエレ メントに属するデータ情報に関して、データ情報の実際 の差異を表現するデータ・ワードで作られている。

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 データベース内のデータ情報の記憶のための構造であって、
    1つの根ノードと1つ以上の中間ノードと1つ以上の葉ノードとを含むツリー構
    造を含んでいるノード階層内にデータ情報が構造化され、根ノードは1つ以上の
    根エレメントを含み、それぞれの中間ノードは1つ以上の中間エレメントを含み
    、それぞれの葉ノードは1つ以上の葉エレメントを含み、1つの中間ノード内の
    1つの第1中間エレメントは根エレメントへまたは階層内のより上位に配置され
    た中間ノード内の1つの中間エレメントへリンクされ、中間ノード内の残りの中
    間エレメントは前記第1中間エレメントへリンクされ、それぞれの葉ノード内の
    1つの第1葉エレメントは根エレメントへまたは前記中間ノードの内の1つの中
    間エレメントへリンクされ、1つの葉ノード内の残りの葉エレメントは第1葉エ
    レメントへリンクされ、それぞれのエレメントは前記リンクのためのアドレス情
    報とデータ情報を含み、ノード内のエレメントの順序はデータ情報についての1
    つのアルファベット順または数字の順のような論理的順序であり、それぞれのエ
    レメント内のデータ情報は階層内の先行するエレメントに属するデータ情報に関
    する差異を構成する、前記データ情報の記憶構造において、前記根エレメント内
    のデータ情報は開始値を構成し、前記開始値は実際のデータ情報を含んでいて、
    前記データ情報内のどこに差異があるかにかかわりなく、残りのエレメント内の
    差異の情報は先行するエレメントに属するデータ情報に関するデータ情報の実際
    の差異を表現するデータ・ワードを含んでいる、前記構造。
  2. 【請求項2】 前記差異情報は先行するエレメントに属するデータ情報に関
    して何かを除去すべきかどうか、またそのような場合何を除去すべきか、前記デ
    ータ情報内のどこから除去すべきかについての情報を含み;前記差異情報は先行
    するエレメントに属するデータ情報に関して何かを追加すべきかどうか、またそ
    のような場合何を追加すべきか、前記データ情報内のどこへ追加すべきかについ
    ての情報を含むことを特徴とする請求項1記載の構造。
  3. 【請求項3】 前記データ・ワードはヘッダと情報部を含み、前記ヘッダは
    前記情報部をいかに解釈すべきかを明らかにすることを特徴とする請求項2記載
    の構造。
  4. 【請求項4】 前記情報部は5つの異なったビットのグループを含み得るこ
    とを特徴とする請求項3記載の構造であって、 第1グループは接尾語を指定し、前記データ情報により所有される接尾語のタ
    イプを表現し、 第2グループはマイナス情報を指定し、このマイナス情報は先行エレメントに
    関して除去すべきバイトの数を表現し、 第3グループはプラス情報を指定し、このプラス情報は先行エレメントに関し
    て追加すべきバイトの数を表現し、 第4グループは類似性を指定し、この類似性は先行エレメントに関して前記接
    尾語とは別に類似性を有するバイトの数を示し 第5グループは差異を指定し、この差異はクリアテキスト内の前記データ情報
    に追加すべき文字、すなわち前記プラス情報を構成する、前記構造。
  5. 【請求項5】 前記ヘッダは3ビットを含んでいることを特徴とする請求項
    4記載の構造であって、 第1ビットは前記第4グループが存在するかどうかを、すなわち前記データの
    終結において差異があるかどうかを明らかにし、 第2ビットは前記第2グループおよび前記第3グループが4ビットまたは8ビ
    ットを含むことを示し、 第3ビットは前記第2グループ、前記第3グループ、前記第4グループが存在
    するかどうかを、すなわち前記接尾語とは別に差異情報が存在するかどうかを示
    す、前記構造。
  6. 【請求項6】 前記第1グループが5ビットを含むことと、前記第2グルー
    プおよび前記第3グループが4ビットまたは8ビットを含むことと、前記第4グ
    ループが0ビットまたは8ビットを含むことと、前記第5グループが必要な数の
    バイトを含むことを特徴とする請求項5記載の構造。
  7. 【請求項7】 前記第1グループがその5ビットの媒体を通じて、所定の接
    尾語のリストにより32の異なった接尾語を表現できることを特徴とする請求項
    6記載の構造。
  8. 【請求項8】 それぞれの葉エレメントについて前記データ情報が捜索済み
    のオブジェクトを含むことと、前記オブジェクトが4つの異なったビット組み合
    わせを含み、その第1のビット組み合わせは前記オブジェクトがロックされてい
    るかどうかを示すものであることを特徴とする請求項8記載の構造。
  9. 【請求項9】 前記オブジェクトがロックされていないことを前記第1のビ
    ット組み合わせが示すときに、第2のビット組み合わせがオブジェクトのステー
    タス・ビットを含み、第3のビット組み合わせが前記オブジェクトに属するオブ
    ジェクト・キーの長さに関する情報を含み、第4のビット組み合わせが前記オブ
    ジェクト・キーを含むことを特徴とする請求項8記載の構造。
  10. 【請求項10】 前記オブジェクトがロックされていないことを前記第1の
    ビット組み合わせが示すときに、残りのビット組み合わせに属するビットがトラ
    ンザクション・レジスタへの参照を表現することと、前記トランザクション・レ
    ジスタが、オブジェクト・ステータス・ビット、前記オブジェクトに属するオブ
    ジェクト・キーの長さに関する情報、前記オブジェクト・キー自体、前記オブジ
    ェクトの適用されているロックのタイプに関する情報を含むことを特徴とする請
    求項8記載の構造。
  11. 【請求項11】 前記ステータス・ビットがオブジェクト・コピー処理で使
    用されることと、前記オブジェクトが使用されているかどうかをそれぞれのビッ
    トが指示することと、複数の同時的なコピー処理が各々それぞれのステータスビ
    ットを使用することを特徴とする請求項9または請求項10に記載の構造。
  12. 【請求項12】 あるエレメントを除去するときに、あり得る後続のエレメ
    ントに属する前記差異情報を、前記除去されるエレメントに先行するエレメント
    に関連する差異情報を構成するように調整することと、前記後続のエレメントに
    属するアドレス情報を前記先行するエレメントをポイントするように調整するこ
    とと、前記先行するエレメントに属するアドレス情報を前記後続のエレメントを
    ポイントするように調整することを特徴とする請求項1記載の方法。
  13. 【請求項13】 あるエレメントを追加するときに、前記追加されるエレメ
    ントに属する前記差異情報を、先行するエレメントに関連する差異情報を構成す
    るように調整することと、前記追加されるエレメントに属するアドレス情報を前
    記先行するエレメントおよびあり得る後続のエレメントを示すように調整するこ
    とと、前記あり得る後続のエレメントに属する差異情報を、前記追加されるエレ
    メントに関する差異情報を構成するように調整することと、前記後続のエレメン
    トに属するアドレス情報を、前記追加されるエレメントをポイントするように調
    整することと、前記先行するエレメントに属するアドレス情報を前記後続のエレ
    メントをポイントするように調整することを特徴とする請求項1記載の構造。
  14. 【請求項14】 あるノードがコンテナを含んでいることと、あるノードに
    属するそれぞれのエレメントが前記コンテナ内で直接に順次の位置に割り当てら
    れていることを特徴とする請求項1記載の構造。
  15. 【請求項15】 同一時間に前記データベース内または前記データベースを
    使用して作動するプロセッサに属するキャッシュメモリへ読みこみできる情報よ
    りも少ないかまたは同一量の情報をあるコンテナが収納することを特徴とする請
    求項14記載の構造。
  16. 【請求項16】 それぞれの中間エレメント内の前記リンクと関連アドレス
    情報は、前記階層内の1つの後続のノードに属する第1エレメントに関する1つ
    のリンクとその関連アドレス情報に限定されることと、それぞれの葉エレメント
    内の前記リンクと関連アドレス情報は、それぞれの第1葉エレメントから前記階
    層内の1つの先行するノードに属する1つのエレメントまでに関する1つのリン
    クとその関連アドレス情報に限定されることを特徴とする請求項14または請求
    項15に記載の構造。
  17. 【請求項17】 1バイトによりアドレスできる複数のノードを収容できる
    ように1つのページが調整されていることと、1つのツリー構造が複数のパーツ
    ・ツリーに分割され、そこではそれぞれのパーツ・ツリーが1ページに含まれる
    ことと、1つの共通のパーツ・ツリー内の2つのノードの間のそれぞれの参照に
    属するアドレス情報は1バイトを含んでいることと、2つの異なったパーツ・ツ
    リー内のそれぞれの参照に属するアドレス情報はそれに必要なメモリ空間を含ん
    でいることを特徴とする請求項13記載の構造。
JP2000504524A 1997-07-21 1998-07-07 データベースのための構造 Pending JP2001511563A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9702761-9 1997-07-21
SE9702761A SE510000C2 (sv) 1997-07-21 1997-07-21 Struktur vid databas
PCT/SE1998/001333 WO1999005617A2 (en) 1997-07-21 1998-07-07 Structure for a data-base

Publications (1)

Publication Number Publication Date
JP2001511563A true JP2001511563A (ja) 2001-08-14

Family

ID=20407792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000504524A Pending JP2001511563A (ja) 1997-07-21 1998-07-07 データベースのための構造

Country Status (9)

Country Link
US (1) US6249788B1 (ja)
EP (1) EP0996902B1 (ja)
JP (1) JP2001511563A (ja)
KR (1) KR20010022028A (ja)
CN (1) CN1271442A (ja)
AU (1) AU8365198A (ja)
BR (1) BR9810766A (ja)
SE (1) SE510000C2 (ja)
WO (1) WO1999005617A2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684985A (en) * 1994-12-15 1997-11-04 Ufil Unified Data Technologies Ltd. Method and apparatus utilizing bond identifiers executed upon accessing of an endo-dynamic information node (EDIN)
KR100289331B1 (ko) * 1998-10-27 2001-05-02 정선종 고차원 색인 구조의 동시성 제어 방법
JP3464172B2 (ja) * 1999-06-30 2003-11-05 株式会社次世代情報放送システム研究所 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法
WO2001014948A2 (en) * 1999-08-19 2001-03-01 Matrix Device Limited Recursive dynamic access to a data model having a hierarchical tree structure
US20020029229A1 (en) * 2000-06-30 2002-03-07 Jakopac David E. Systems and methods for data compression
US6842878B1 (en) * 2000-09-29 2005-01-11 International Business Machines Corporation Method to document relations between objects using a graphical interface tree component
GB2406680B (en) * 2000-11-30 2005-05-18 Coppereye Ltd Database
KR100488414B1 (ko) * 2000-12-30 2005-05-11 한국전자통신연구원 다중탐색 트리의 노드 생성 방법, 및 그에 따라 생성된 다중탐색 트리 구조의 자료 탐색 방법
US6959303B2 (en) * 2001-01-17 2005-10-25 Arcot Systems, Inc. Efficient searching techniques
US20040234995A1 (en) * 2001-11-09 2004-11-25 Musick Eleanor M. System and method for storage and analysis of gene expression data
KR20030044498A (ko) * 2001-11-30 2003-06-09 엘지전자 주식회사 주기억 장치 데이터베이스 관리 시스템의 자료 구조와블록 할당 및 레코드 검색 방법
US7062499B2 (en) * 2002-01-08 2006-06-13 Intel Corporation Enhanced multiway radix tree and related methods
US7487535B1 (en) * 2002-02-01 2009-02-03 Novell, Inc. Authentication on demand in a distributed network environment
US7707416B2 (en) 2002-02-01 2010-04-27 Novell, Inc. Authentication cache and authentication on demand in a distributed network environment
US6785674B2 (en) * 2003-01-17 2004-08-31 Intelitrac, Inc. System and method for structuring data in a computer system
AU2003259097A1 (en) * 2002-07-09 2004-01-23 Intelitrac, Inc. System and method for structuring data in a computer system
US7330863B2 (en) 2002-11-28 2008-02-12 International Business Machines Corporation Method and systems for hyperlinking files
US7315862B1 (en) * 2002-12-20 2008-01-01 Nortel Networks Limited Concurrent lock-free access to a record by write and read processes
US7058640B2 (en) * 2003-02-05 2006-06-06 International Business Machines Corporation Systems, methods, and computer program products to efficiently update multidimensional databases
US7401105B2 (en) 2003-10-02 2008-07-15 International Business Machines Corporation Method, system, and program product for retrieving file processing software
US7805710B2 (en) * 2003-07-15 2010-09-28 International Business Machines Corporation Shared code caching for program code conversion
JP2005301904A (ja) * 2004-04-15 2005-10-27 Mitsubishi Electric Corp 住所データベースおよびこれを用いた住所検索システム
CN100432999C (zh) * 2005-06-06 2008-11-12 上海宝信软件股份有限公司 Oracle下利用表结构体对整记录进行数据存取的方法
CN100452047C (zh) * 2005-12-27 2009-01-14 国际商业机器公司 执行关系数据库搜索的系统和方法
JP5121146B2 (ja) * 2006-02-22 2013-01-16 株式会社東芝 構造化文書管理装置、構造化文書管理プログラムおよび構造化文書管理方法
FR2902209B1 (fr) * 2006-06-07 2008-08-01 Sagem Defense Securite Procede de gestion d'une memoire comportant des elements pourvus d'une information d'identification indicative de l'ascendance desdits elements
JP4567754B2 (ja) * 2008-01-17 2010-10-20 株式会社エスグランツ ビット列検索装置、検索方法及びプログラム
US8380684B2 (en) * 2008-09-30 2013-02-19 Microsoft Corporation Data-tier application component fabric management
US9155320B2 (en) * 2011-07-06 2015-10-13 International Business Machines Corporation Prefix-based leaf node storage for database system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130647A (ja) * 1988-11-11 1990-05-18 Toshiba Corp 索引木構造の更新方式
US5274805A (en) * 1990-01-19 1993-12-28 Amalgamated Software Of North America, Inc. Method of sorting and compressing data
US5151697A (en) * 1990-10-15 1992-09-29 Board Of Regents Of The University Of Washington Data structure management tagging system
US5430869A (en) * 1991-05-29 1995-07-04 Hewlett-Packard Company System and method for restructuring a B-Tree
US5404505A (en) * 1991-11-01 1995-04-04 Finisar Corporation System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates
GB9204450D0 (en) * 1992-03-02 1992-04-15 Ibm Concurrent access to indexed data files
US5497485A (en) * 1993-05-21 1996-03-05 Amalgamated Software Of North America, Inc. Method and apparatus for implementing Q-trees
US5649023A (en) * 1994-05-24 1997-07-15 Panasonic Technologies, Inc. Method and apparatus for indexing a plurality of handwritten objects
JP3441807B2 (ja) * 1994-09-19 2003-09-02 株式会社日立製作所 B木インデクスの管理方法およびシステム
EP0718980A1 (en) * 1994-12-20 1996-06-26 International Business Machines Corporation Data compression method of individual sequences of strings of a data stream based on a dictionary and device for performing the same
US5734381A (en) * 1994-12-21 1998-03-31 Nec Corporation Cancel undo method and system for tree structure data edition based on hierarchical menu inquiry
US5842196A (en) * 1996-04-03 1998-11-24 Sybase, Inc. Database system with improved methods for updating records
US5842197A (en) * 1996-08-29 1998-11-24 Oracle Corporation Selecting a qualified data repository to create an index
US6067574A (en) * 1998-05-18 2000-05-23 Lucent Technologies Inc High speed routing using compressed tree process

Also Published As

Publication number Publication date
SE9702761L (sv) 1999-01-22
CN1271442A (zh) 2000-10-25
EP0996902B1 (en) 2012-06-13
EP0996902A2 (en) 2000-05-03
BR9810766A (pt) 2000-08-15
SE510000C2 (sv) 1999-03-29
KR20010022028A (ko) 2001-03-15
AU8365198A (en) 1999-02-16
US6249788B1 (en) 2001-06-19
SE9702761D0 (sv) 1997-07-21
WO1999005617A2 (en) 1999-02-04
WO1999005617A3 (en) 1999-04-15

Similar Documents

Publication Publication Date Title
JP2001511563A (ja) データベースのための構造
US7769728B2 (en) Method and system for intra-row, inter-row compression and decompression of data items in a database using a page-based structure where allocating a page-buffer based on a stored value indicating the page size
US6463439B1 (en) System for accessing database tables mapped into memory for high performance data retrieval
JP4218997B2 (ja) システム性能を改善するためのハシュテーブルのハシュバケットにおけるコリジョンの再編成
US5761536A (en) System and method for reducing memory fragmentation by assigning remainders to share memory blocks on a best fit basis
US7096227B2 (en) Database utilities
JP3844370B2 (ja) 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造
US6457021B1 (en) In-memory database system
AU2002222096B2 (en) Method of organising, interrogating and navigating a database
US7085911B2 (en) Resizable cache sensitive hash table
US5642503A (en) Method and computer system for implementing concurrent accesses of a database record by multiple users
US6308169B1 (en) Method of storing elements in a database
US5687361A (en) System for managing and accessing a dynamically expanding computer database
EP0446940A2 (en) Dynamic data storage system
JP2002540502A (ja) データベースシステムにおけるバーチャルメモリマッピングとトランザクションマネージメントのポインターリロケーションオプチミゼーションの方法及び装置
JPH10504407A (ja) データを記憶し検索する方法及びメモリ構成体
US6532457B1 (en) Look-ahead tree structure
JP2001527240A (ja) データ構造内の管理
Zobel et al. Storage Management for Files of Dynamic Records.
US5978810A (en) Data management system and method for storing a long record in a set of shorter keyed records
JP2675958B2 (ja) 情報検索用計算機システム及びその記憶装置の動作方法
JP2933486B2 (ja) データベースの同時全件検索方法
CN1492363A (zh) 一种嵌入式系统的数据存放及其查找方法
US20040047357A1 (en) Method for accessing a memory unit in which sequences of notes are stored, corresponding memory unit and corresponding program
JP3087701B2 (ja) 排他制御装置