JP3953537B2 - B木最適化のためのコンピュータ方法及び装置 - Google Patents

B木最適化のためのコンピュータ方法及び装置 Download PDF

Info

Publication number
JP3953537B2
JP3953537B2 JP22320994A JP22320994A JP3953537B2 JP 3953537 B2 JP3953537 B2 JP 3953537B2 JP 22320994 A JP22320994 A JP 22320994A JP 22320994 A JP22320994 A JP 22320994A JP 3953537 B2 JP3953537 B2 JP 3953537B2
Authority
JP
Japan
Prior art keywords
tree
page
amount
data
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP22320994A
Other languages
English (en)
Other versions
JPH07168746A (ja
Inventor
トーマス バーコウィッツ ブライアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JPH07168746A publication Critical patent/JPH07168746A/ja
Application granted granted Critical
Publication of JP3953537B2 publication Critical patent/JP3953537B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、一般的にはデータを記憶するためのコンピュータ方法及び装置に関し、具体的にはB木(即ち、平衡多方向探索樹)を最適化するためのコンピュータ方法及び装置に関する。
【0002】
【従来の技術】
補助記憶装置に記憶されているデータの特定のユニット(例えば、データベース内のデータレコード、もしくは登録簿(ディレクトリ)内のファイル)を迅速に捜し出すために、公知のB木のような普通の記憶装置構造が使用される。B木はデータのユニットを指し示すポインタをクラスタ化した手段を構成しているので、ユニットを迅速に捜し出すことができる。
図1は、データベース索引を記憶する普通のB木100のブロック線図である。B木100は根ノード101と、内部ノード102、103、104と、葉ノード105、106、107、108、109、110、111、112及び113とを有している。根ノード101は樹木100の頂上にあるノードであり、葉ノード105、106、107、108、109、110、111、112及び113は樹木の底にあるノードであり、そして内部ノード102、103及び104は全て、根ノードと葉ノードとの間にあるノードである。
根ノード101は、1またはそれ以上のキー値と、内部ノード102、103及び104を指し示す2またはそれ以上のポインタとを含んでいる。各内部ノード102、103及び104は、1またはそれ以上のキー値と、下位レベルの内部ノード、もしくは葉ノード105、106、107、108、109、110、111、112及び113を指し示す2またはそれ以上のポインタとを含んでいる。各葉ノード105、106、107、108、109、110、111、112及び113は複数のキー値と、これらのキー値によって索引付けられたデータのユニットを指し示す複数のポインタとを含んでいる。例えば、葉ノード107はキー値“40”と、このキー値“40”に対応するデータレコード119ポインタ118とを含む。
【0003】
ノードは、それらの次に下位のレベルのノード(子ノードと考えられる)に対する親ノードと考えられる。葉ノードは子ノードを有していない。例えば、内部ノード102は根ノード101に対しては子ノードであるが、葉ノード105、106、107に対しては親ノードである。
B木内においてどのように探索が遂行されるかは、一つの例を考えると理解し易い。図1のB木があるデータベースのための索引であり、各ノード内のキー値は、データベースファイルのデータレコードにファイルされているキー値に対応するものとする。“40”のキー値を有するデータレコードを捜し出すためには、探索ルーチンはポインタ114を根ノード101から内部ノード102まで辿る。次に、探索ルーチンはポインタ117を内部ノード102から葉ノード107まで辿る。次いで探索ルーチンは、キー値“40”を見出すまで葉ノード107内のキー値をあまねく探索する。最後に、探索ルーチンはポインタ118を葉ノード107からデータレコード119まで辿る。
B木及びB木保守アルゴリズムの包括的な説明に関しては、Cormen, Introduction to Algorithms ( The MIT Press 1991 ), pp. 381-399 を参照されたい。
【0004】
B木は補助記憶装置内に記憶され、データは典型的には補助記憶装置から主メモリへ一時に1ページずつ転送されるから、一般的な最適化とは、B木内の各ノードが1つのページを占めるようにすることである。これにより、あるノード内の全てのキー値を読み取るのに補助記憶装置アクセスを1回だけ遂行すればよいことになる。
あるノードが1つのページ全体を占めることを許容される場合には、ノード及びページが一杯になるまで、即ちそのページ内に使用可能な空間が無くなるまでキー値及びポインタをそのノードに付加する。一杯になったノードにキー値を付加するためには、そのノードを2つのノードに分割し(各ノードがキー値及びポインタの半分を含む)、B木に付加的なページを割り当て、そして2つのノードの一方を新しいぺージに記憶させる。他方のノードは付加的なページに記憶させる。キー値及び他方のノードを指し示すポインタは、分割されたノードの親ノードに付加される。親ノードが一杯になると、その親ノードも同一の技術を使用して分割される。分割は根ノードまで伝播することができ、根ノードが分割されるとそのB木内に新しいレベルが作られる。一杯になったノードに1つのキー値を付加しようとすると、あるページが分割されてB木には半分が空の2つのページが残される。
【0005】
B木の通常の活動は、キー値の付加及び削除を含む。前述したように、キー値を付加することによってB木に付加的なページがもたらされることがあり得る。これらの付加的なページは常に最大可能な数のキー値を含んでいないので、貴重な記憶空間が浪費されることになる。更に、キー値の削除によって、最適数よりも少ない数のキー値が記憶されているページが残され得る。
【0006】
【発明の概要】
本発明によれば、命令を実行する中央処理装置と、情報を記憶する記憶装置とを有するコンピュータシステムにおいてある方法が実行される。本発明のこの方法によれば、B木オプティマイザのための規約が提供される。B木オプティマイザはB木内で発生する活動を監視する。この活動は、キー値のB木への付加及びB木からの削除を含む。B木オプティマイザはB木内において発生する活動の量及び型を監視した後に、そのB木を再編成すべきか否かを決定する。そのB木を再編成すべきであることが決定されると、B木オプティマイザはそのB木のページのための最適充填率を計算する。最適充填率は、B木内において先に検出された活動の量及び型に依存してB木内の各ページを充填すべき百分率である。最適充填率を計算した後に、B木オプティマイザはB木を再編成する。
B木オプティマイザは、B木を再編成すべきか否かを決定するのに幾つかの方法を使用する。一つの方法は、B木が最小数のページからなり、且つ所与の時間中にB木内において実質的な量のページ付加及びページ削除が発生した時に、そのB木は再編成すべきであると決定することを含む。別の方法は、最後の再編成以降の時間量が所定の最小時間量よりも大きく、且つ実質的な数のキー値削除が発生した時に、そのB木は再編成すべきであると決定することを含む。更に別の方法は、B木のための最適充填率を計算し、次いで最後の再編成以降の時間量が所定の最小時間量よりも大きく、且つ実際の充填率が先に決定された充填率よりも大きい時に、そのB木は再編成すべきであると決定することを含む。
【0007】
【実施例】
本発明の好ましい実施例は、B木内で発生する活動の量及び型(例えばキー値及びページの付加及び削除)に従ってB木を自動的に再編成するB木オプティマイザ機構を提供する。B木オプティマイザはある時間中のB木内の活動の量及び型に基づいて、ページ分割を行う前にB木内のページを充填すべき最適量を決定し、次いで各ページが決定された最適量で充填されるようにB木を再編成する。各ページが充填される量をそのB木の充填率と言う。
図2は、本発明の好ましい実施例を実現するコンピュータシステム200の好ましい実施例のブロック線図である。このコンピュータシステム200は単なる例示に過ぎず、本発明を限定するものではないことを理解されたい。当業者ならば本発明を実現する他の適当なコンピュータシステム構成を知っていよう。コンピュータシステム200は、補助記憶装置201、ランダムアクセスメモリ(RAM)装置202、中央処理装置(CPU)203、入力装置204、及び出力装置205を備えている。本発明により提供されるB木オプティマイザは、呼び出されるとRAM装置202内へロードされる。補助記憶装置201はある種のディスクシステムであることが好ましい。
【0008】
ある時間中のB木内の活動の量は、そのB木が“静的”であるのか、もしくは“動的”であるのかを決定する。静的B木は、その時間中に多くのキー値が付加もしくは削除されなかった樹木であり、一方動的B木はその時間中に多くのキー値が付加もしくは削除された樹木である。静的B木ではページ分割は殆ど発生しないから、最適化とは静的B木内の各ページにできる限り多くのキー値を含ませることである。各ページにできる限り多くのキー値を記憶させることによって、静的B木の記憶空間は少なくてよくなる。反対に、動的B木では多くのキー値の付加及び削除が発生するので、最適化とは動的B木内の各ページに丁度充分なキー値を含ませ、ページを過度に屡々分割させることなく新しいキー値を付加できるようにすることである。
本発明の好ましい実施例によって提供されるB木オプティマイザは、最適充填率を計算する時にB木が静的であるか、もしくは動的であるかを配慮する。B木が静的であるのか、もしくは動的であるのかを決定するために、B木オプティマイザはB木内において発生する活動の量及び型に関する活動統計へのアクセスを有していなければならない。好ましい実施例では、以下の表Aにリストしてあるような活動統計をB木保守アルゴリズムが提供する。これらの活動統計はB木の根ノード内の特別なブロックに記憶されている。B木オプティマイザは呼び出されると活動統計を含むこの特別なブロックを指し示すポインタを辿る。
【0009】
表 A
1. B木内のページの数。
2. 最後の再編成以降に付加されたページの数。
3. 最後の再編成以降に削除されたページの数。
4. 最後の再編成の時点。
5. 最後の再編成以降に削除されたキー値の数。
6. 最後の再編成時の充填率。
表Aにリストされている活動統計はカウンタ変数を使用して入手することができる。即ち、新しいページがB木に付加される度に、ページカウンタが増数(インクリメント)される。当業者ならば、他の方法を使用して活動統計を取得できることが理解されよう。
好ましい実施例では、キー値がB木に付加されるか、もしくはB木から削除されるとB木オプティマイザが呼び出される。当業者ならば、他の事象によってB木オプティマイザをトリガできることが理解されよう。
B木オプティマイザは、図3に示す流れ図の諸段階を遂行することによってB木を最適化する。段階302においてB木オプティマイザは、B木に関する活動統計を調べる。前述したようにB木オプティマイザは、呼び出されるとB木の根ノード内に記憶されている活動統計を指し示すポインタを辿る。B木に関する活動統計を調べた後に、段階304においてB木オプティマイザは、そのB木を再編成すべきか否かを決定する。当業者ならば、B木を再編成すべきか否かを決定するために種々の方法を使用することができることが理解されよう。好ましい実施例において使用されている再編成すべきか否かを決定する方法に関しては図4及び図5を参照して後述する。もしB木オプティマイザがそのB木を再編成すべきではないと決定すればプロセスは終了し、B木オプティマイザは再度呼び出されるまで待機する。
【0010】
段階304において、もしB木オプティマイザがそのB木を再編成すべきであると決定すれば、段階306においてB木オプティマイザは、樹木内で発生した活動の量及び型に基づいてそのB木内のページに充填すべき最適量を計算する。この量は百分率で表され、充填率と称される。好ましい実施例において使用している最適充填率を計算する方法に関しては図6を参照して後述する。段階306において最適充填率を決定した後に段階308においてB木オプティマイザは、計算された最適充填率に従ってそのB木を再編成する。B木を再編成する好ましい実施例で使用している方法に関しては、図7を参照して後述する。
B木を再編成すべきか否かを決定するためにB木オプティマイザが遂行する諸段階を説明する。図4及び5の流れ図は、B木を再編成すべきか否かを決定するために好ましい実施例が使用している諸段階を表している。この方法は、B木が1ページより多くのページを含むか否かを決定するありふれた試験から開始され、次いでB木が静的かもしくは動的かを配慮する、より本質的な試験が続く。
【0011】
最初の段階402においてB木オプティマイザは、そのB木の根ノードが葉ノードでもあるか否かを(即ち、そのB木が1ページだけを含んでいるのか否かを)決定し、もし葉ノードでもあればB木オプティマイザはそのB木の再編成は必要ないと決定する。この決定はそのB木内で発生する活動に配慮することなくなされる。各ノードは、そのノードが葉ノードであるか否かを指示するためにセットされるフラグを有しているので、B木オプティマイザはその根ノードが葉ノードであるか否かを迅速に決定することができる。もしB木の根ノードが葉ノードでなければ、B木オプティマイザはそのB木を再編成すべきか否かを決定するための一連の試験を遂行する。
好ましい実施例において使用される第1の試験は、B木内のページの数及び最後の再編成以降にB木内で発生した活動の量に基づいて、そのB木を再編成すべきか否かを決定することである。段階406においてB木オプティマイザは、B木内のページの合計数を決定する。この情報は、B木の根ノード内に記憶されている活動統計から入手することができる。
段階408においてB木オプティマイザは、最後の再編成以降にB木へ付加された、及びB木から削除されたページ数を決定する。この情報は、B木の根ノード内に記憶されている活動統計から入手することが好ましい。付加された、もしくは削除されたページ数を測定する時に使用される時間は、最後の再編成以降の経過時間以外の時間とすることもできる。
【0012】
段階410においてB木オプティマイザは、B木内のページの合計数がある最小しきい値よりも大きいか否かを決定する。この最小しきい値の値はどのような定数であってもよいが、本発明の好ましい実施例においてはこの最小しきい値は5ページである。この値は、小さいB木の性能がB木オプティマイザによって影響を受けないように選択されている。もしページの合計数が最小しきい値より大きければ、段階412においてB木オプティマイザは、最後の再編成以降に実質的な数のページの付加もしくは削除が発生したか否かを決定する。
好ましい実施例においては、もしページの合計数が、〔(ページ削除係数×削除ページ数)+(ページ付加係数×付加ページ数)〕よりも小さければ、実質的な数のページの付加もしくは削除が発生したと判断する。ページ削除係数及びページ付加係数は、B木の構造に対する重大な変化を反映している。好ましい実施例においては、ページ削除係数は“2”に、またページ付加係数は“1”に選択されている。これらの係数は、ページ削除のほうがページ付加よりも重要であると考えていることを表しており、これはページ削除がB木を空にすることを意味しているからである。もし段階410においてB木内のページの合計数が最小しきい値よりも大きいと判断され、段階412において実質的な量のページ付加もしくは削除が発生したと判断されれば、段階414においてB木オプティマイザはそのB木は再編成の要があると決定する。
【0013】
B木内のページの合計数が最小しきい値よりも小さいか(段階410)、もしくは実質的な量のページ付加または削除が発生しなければ(段階412)、B木オプティマイザは、B木を再編成すべきか否かを決定するための第2の試験を遂行する。好ましい実施例において使用されているこの第2の試験は、最後の再編成以降にB木から削除されたキー値の数と、最後の再編成以降の経過時間量とに依存している。
図5を参照する。段階416においてB木オプティマイザは、最後の再編成以降にB木から削除されたキー値の数を決定する。この情報は、B木の根ノード内に記憶されている活動統計から入手することが好ましい。次いでB木オプティマイザは各ページから削除されたキー値の平均数(キー値削除数÷ページ数)を決定する。段階418においてB木オプティマイザは、最後の再編成以降の経過時間量を決定する。最後の再編成の時点はB木の根ノード内に他の活動統計と共に記憶させることが好ましい。段階420においてB木オプティマイザは、最後の再編成以降の経過時間量がある最小時間量より大きいか否かを判断する。この最小時間量は、管理入力に依存して大幅に変化し得る。もしコンピュータシステムのユーザが、再編成の結果としての休止によって影響を受けるようであれば、この最小時間量は複数日とすべきである。もし最後の再編成以降の経過時間量が最小時間量より大きくなければ、段階422においてB木オプティマイザは、そのB木の再編成の要はないことを決定する。
【0014】
もし最後の再編成以降に最小時間量が経過していれば(段階420)、段階424においてB木オプティマイザは、最後の再編成以降に削除されたページ当たりのキー値の平均数がキー値削除しきい値より大きいか否かを決定する。好ましい実施例では、キー値削除しきい値は、合計ページサイズの約 10 %− 15 %を表すように“5”を選択している。もし最後の再編成以降に削除されたページ当たりのキー値の平均数がキー値削除しきい値より大きければ(即ち、ページの10 %− 15 %以上が自由空間であれば)、B木オプティマイザはこのB木は再編成の要ありと決定する(段階434)。
もし最後の再編成以降に削除されたページ当たりのキー値の平均数がキー値削除しきい値より小さければ、B木オプティマイザはB木を再編成すべきか否かを決定するための第3の試験を遂行する。好ましい実施例の第3の試験は、最後の再編成時の充填率と最適充填率との差、及び最後の再編成以降の経過時間量に依存する。段階428においてB木オプティマイザは、最後の再編成以降の経過時間量が最小時間量より大きいか否かを決定する。充填率はB木内の活動が変化した後に限って変化するから、好ましい実施例ではこの最小時間量を極めて大きい数(約 14 − 30 日)に選択してある。例えば、B木が最初に作成された後にそのB木内にかなりな量の活動が存在し、後になって少なくなることがあり得る。 14 − 30 日の時間を選択しておけば、このような移り変わりも反映することができよう。もし最後の再編成以降の経過時間量が最小時間量よりも小さければ、段階422においてB木オプティマイザは、B木は再編成の要なしと決定する。もし最後の再編成以降の経過時間量が最小時間量よりも大きければ、段階430においてB木オプティマイザは、B木ページに充填されるべき最適量(即ち、最適充填率)を計算する。段階432においてB木オプティマイザは、最適充填率が最後の再編成時の充填率より大きいか否かを決定する。もし否であれば、段階422においてB木オプティマイザはB木は再編成すべきではないと決定する。もし諾であれば、段階434においてB木オプティマイザは、B木は再編成の要ありと決定する。
【0015】
このB木は再編成の要ありと決定(図3の段階304)すると、B木オプティマイザはB木のページのための最適充填率を計算する(図3の段階306)。好ましい実施例における最適充填率は、最後の再編成以降に分割されたページの百分率に基づき、線形尺度を使用して最小充填率から最大充填率まで変化する。最適充填率を決定するために種々の方法を使用することができるが、本発明の好ましい実施例において使用されている方法を、図6を参照して以下に説明する。
段階502(図6)においてB木オプティマイザは、最後の再編成以降にB木に付加されたページの合計数を決定する。この情報は、B木の根ノード内に記憶されている活動統計から入手することが好ましい。次に、段階504においてB木オプティマイザは、最後の再編成以降に発生したページ分割の数を計算する。この数は、B木内のページの合計数に分割係数を乗じて計算される。好ましい実施例ではこの分割係数は“2”にしてある。それは、分割の結果として付加される全てのページに関して、2ページが半分満たされるからである。従って、もしB木内のページの中の半分のページが分割されるならば、各ページは半分満たされていることになる。
【0016】
次いで段階506においてB木オプティマイザは、ページ分割の数がB木内のページの合計数より大きいか否かを決定する。もし諾であればB木オプティマイザは非分割ページの数を表す変数を0にセットする(段階508)。もしページ分割の数がB木内のページの合計数よりも小さければ(段階506)、段階510においてB木オプティマイザは、非分割ページ数が〔ページの合計数−分割ページ数〕に等しいことを表す変数をセットする。
段階512においてB木オプティマイザは最適充填率を計算する。好ましい実施例においては、最適充填率(FF)を計算するために次の計算式を使用している。
FF = FF min +{( FFmax −FFmin ) ×非分割ページ数/ページの合計数}
最小充填率(FFmin )の値は、B木が再編成される時に望ましい最小充填率を表すように選択すべきである。最悪の場合には、B木オプティマイザは 50%の充填率を生成することになろう。充填率は 50 %以上であるように選択すべきであるが、高過ぎて動的B木を過充填することがないようにすべきである。好ましい実施例においては、最小充填率の値を 55 %− 65 %に選択してある。次のキー値がB木に付加された時に、直ちに分割が発生しないようにするために各ページに少量の空間を残すようにすることが望ましいから、最大充填率(FFmax )は 100%より僅かに小さくすべきである。好ましい実施例においては、最大充填率の値は 80 %− 90 %に選択されている。
【0017】
B木の最適充填率を計算した後にB木オプティマイザはB木を再編成する(図3の段階308)。B木の再編成は、新しいB木を作成し、古いB木内に含まれていた全てのキー値及びポインタを新しいB木へ移動することを含む。好ましい実施例においては、B木を再編成するためにB木オプティマイザは図7に示す流れ図の諸段階を遂行する。
段階602においてB木オプティマイザは、新しいB木に必要な記憶空間の量を計算する。必要な空間の量は、現存B木を走査し、B木内の各〔キー値、ポインタ〕対のサイズを合計することによって計算される。以前に計算された最適充填率(図3の段階306)と、B木内の全ての〔キー値、ポインタ〕対の合計サイズとに基づいて、B木オプティマイザは新しいB木に必要なサイズを計算する。好ましい実施例においては、動作を成功させる(即ち、新しい樹木のための空間が充分に存在する)ように、また新しいB木に割り当てられる空間が多分補助記憶装置上に画定されるように、新しいB木は前以て計算されている。
新しいB木に必要なサイズを計算した後に、段階604においてB木オプティマイザは新しいB木のために充分な空間を割り当てる。次いでB木オプティマイザは段階606において新しいB木を作成する。新しいB木は、現存B木を走査し、〔キー値、ポインタ〕対を新しいB木に付加することによって作成する。好ましい実施例においては、B木オプティマイザは、新しいB木の異なるレベルを表すページのスタック(例えば、現葉ページ、現第1レベル非葉ページ、現第2レベル非葉ページ、・・・、根ページ)を維持する。B木オプティマイザが新しいB木内の各ページを充填すると、B木オプティマイザは葉ページを補助記憶装置へ書き込み、〔キー値、ポインタ〕対を第1レベル非葉ページへ付加する。B木オプティマイザは再帰的アルゴリズムを使用するので、非葉ページが充填されると、非葉ページが補助記憶装置へ書き込まれ、非葉ページ上の第1のキー値が親ページに付加される。このようにして、各葉及び非葉ページを厳密に一時に書き込むことによってB木が作成される。全ての〔キー値、ポインタ〕対が新しいB木へ書き込まれた後に、部分的にしか充填されていない葉及び非葉ページが根ページと共に補助記憶装置へ書き込まれる。当業者ならば、新しいB木を作成するための他の方法が使用できることは理解されよう。
【0018】
以上に好ましい実施例に関連して本発明の方法及び装置を説明したが、本発明はこの実施例に限定されるものではない。本発明の思想内で多くの変更が可能であることは当業者には明白であろう。従って本発明の範囲は特許請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【図1】 普通のB木のブロック線図である。
【図2】 本発明の好ましい実施例を実現するためのコンピュータシステムの好ましい実施例のブロック線図である。
【図3】 B木を最適化するための好ましい実施例によって使用されている方法の総合的な流れ図である。
【図4】 B木を再編成すべきか否かを決定するために好ましい実施例によって使用されている方法の詳細な流れ図の前半部分である。
【図5】 図4に示す流れ図の後半部分である。
【図6】 B木のための最適充填率を決定するために好ましい実施例によって使用されている方法の詳細な流れ図である。
【図7】 最適充填率に従ってB木を再編成するために好ましい実施例によって使用されている方法の詳細な流れ図である。
【符号の説明】
100 B木
101 根ノード
102−104 内部ノード
105−113 葉ノード
114−118 ポインタ
119 データレコード
200 コンピュータシステム
201 補助記憶装置
202 RAM
203 CPU
204 入力装置
205 出力装置

Claims (10)

  1. コンピュータシステムにおける、B木の最適化についての方法において、前記B木は複数の固定サイズのページを備え、ある量のデータが前記B木の各ページに記憶される方法であって、
    前記コンピュータシステムが前記B木の活動統計を提供する段階であって、前記活動統計はある時間期間にわたりB木において発生した少なくとも活動の量を表すものである段階と、
    前記活動統計が、一定のしきい値より少ない活動が前記B木内に発生したことを指示する場合、前記コンピュータシステムが前記B木を静的として分類する段階と、
    前記活動統計が、一定のしきい値より多い活動が前記B木内に発生したことを指示する場合、前記コンピュータシステムが前記B木を動的として分類する段階と、
    前記コンピュータシステムが、前記B木が静的として分類されるかまたは動的として分類されるかに応じて前記B木を再編成すべきか否かを決定する段階と、
    前記コンピュータシステムにより前記B木を再編成すべきことが決定された場合には、前記コンピュータシステムが、前記B木の各ページに記憶させるべきデータの量を示す最適充填率を計算し、該計算された量のデータを前記B木の各ページに記憶させることによって前記コンピュータシステムが前記B木を再編成する段階とを備え
    前記B木を再編成すべきか否かを決定する段階は、
    静的なB木の各ページに記憶させるデータの量である第1の値を決定する段階と、
    動的なB木の各ページに記憶させるデータの量である第2の値を決定する段階と、
    前記B木が静的として分類され、前記B木の各ページに少なくとも前記第1の値より少ない量のデータが記憶されている場合には、該B木を再編成すべきであると決定する段階と、
    前記B木が動的として分類され、前記B木の各ページに少なくとも前記第2の値より多い量のデータが記憶されている場合には、該B木を再編成すべきであると決定する段階と
    を含むことを特徴とする方法。
  2. 前記コンピュータシステムが前記B木を再編成すべきか否かを決定する段階は、
    B木内のページの合計数を決定する段階と、
    ある時間内にB木に付加されたページの合計数を決定する段階と、
    上記時間内にB木から削除されたページの合計数を決定する段階と、
    B木内のページの合計数が所定の最小数より多く、かつ
    上記時間内に前記B木に付加されたページの合計数に付加係数を乗じた値と、上記時間内にB木から削除されたページの合計数に削除係数を乗じた値との合計が、ページの合計数よりも大きい
    場合にはその前記B木を再編成すべきであると決定する段階と
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記コンピュータシステムが前記B木を再編成すべきか否かを決定する段階は、
    前記B木内のページの合計数を決定する段階と、
    ある時間内にB木から削除されたキー値の個数の合計を決定する段階であって、前記キー値はB木の各ページに記憶されるデータを索引付けるものである段階と、
    最後の再編成以降の時間量が所定の最小時間量よりも大きく、かつ上記時間内に前記B木から削除されたキー値の個数の合計を前記B木内のページの合計数で除した値が所定のデータ削除係数よりも大きい場合にはそのB木を再編成すべきであると決定する段階と
    を含むことを特徴とする請求項1に記載の方法。
  4. 前記B木が以前に再編成されている場合における、前記コンピュータシステムが前記B木を再編成すべきか否かを決定する段階は、
    先の再編成以降の経過時間量を決定する段階と、
    先の再編成時に前記B木の各ページに記憶されたデータの量を決定する段階と、
    前記B木の各ページに記憶させるべきデータの量を決定する段階と、
    最後の再編成以降の経過時間量が所定の最小時間量よりも大きく、かつ
    B木の各ページに記憶させるべきデータの量が先の再編成時にB木の各ページに記憶されたデータの量よりも多い
    場合にはそのB木を再編成すべきであると決定する段階と
    を含むことを特徴とする請求項1に記載の方法。
  5. コンピュータシステムにおける、B木の最適化についての方法において、前記B木は複数の固定サイズのページを備え、ある量のデータが前記B木の各ページに記憶される方法であって、
    前記コンピュータシステムが前記B木の活動統計を提供する段階であって、前記活動統計は前記B木が静的であるか、すなわち、一定のしきい値より少ない活動が前記B木内に発生したか、もしくは前記B木が動的であるか、すなわち、前記一定のしきい値より多い活動が前記B木内に発生したかを指示するものである段階と、
    前記コンピュータシステムは前記活動統計により指示される前記B木が静的であるかもしくは動的であるかに応じて前記B木を再編成すべきか否かを決定する段階と、
    前記コンピュータシステムにより前記B木を再編成すべきであることが決定された場合、前記コンピュータシステムは、前記B木の各ページに記憶させるべきデータの量を示す最適充填率を計算し、前記計算された量のデータを前記B木の各ページに記憶させることによって前記B木を再編成する段階とを備え
    前記B木を再編成すべきか否かを決定する段階は、
    静的なB木の各ページに記憶させるデータの量である第1の値を決定する段階と、
    動的なB木の各ページに記憶させるデータの量である第2の値を決定する段階と、
    前記B木が静的として分類され、前記B木の各ページに少なくとも前記第1の値より少ない量のデータが記憶されている場合には、該B木を再編成すべきであると決定する段階と、
    前記B木が動的として分類され、前記B木の各ページに少なくとも前記第2の値より多い量のデータが記憶されている場合には、該B木を再編成すべきであると決定する段階と
    を含むことを特徴とする方法。
  6. B木の最適化用のコンピュータシステムであって、前記B木は複数の固定サイズのページを備え、ある量のデータが前記B木の各ページに記憶され、前記コンピュータシステムは、
    前記B木の活動統計を提供する監視機構であって、前記活動統計は前記B木が静的であるか、すなわち、一定のしきい値より少ない活動が前記B木内に発生したか、もしくは前記B木が動的であるか、すなわち、前記一定のしきい値より多い活動が前記B木内に発生したか、を指示するものである監視機構と、
    前記活動統計により指示される前記B木が静的であるかもしくは動的であるかに応じて前記B木を再編成すべきか否かを決定する最適化機構と、
    前記最適化機構により前記B木を再編成すべきであることが決定された場合、前記B木の各ページに記憶させるべきデータの量を示す最適充填率を計算し、前記計算された量のデータを前記B木の各ページに記憶させることによって前記B木を再編成する再編成機構とを備え
    前記B木を再編成すべきか否かを決定する最適化機構は、
    静的なB木の各ページに記憶させるデータの量である第1の値を決定する機構と、
    動的なB木の各ページに記憶させるデータの量である第2の値を決定する機構と、
    前記B木が静的として分類され、前記B木の各ページに少なくとも前記第1の値より少ない量のデータが記憶されている場合には、該B木を再編成すべきであると決定する機構と、
    前記B木が動的として分類され、前記B木の各ページに少なくとも前記第2の値より 多い量のデータが記憶されている場合には、該B木を再編成すべきであると決定する機構と
    を含むことを特徴とするコンピュータシステム。
  7. B木の最適化用のコンピュータシステムであって、前記B木は複数の固定サイズのページを備え、ある量のデータが前記B木の各ページに記憶され、前記コンピュータ装置は、
    前記B木の活動統計を提供する監視機構であって、前記活動統計はある時間期間にわたりB木において発生した少なくとも活動の量を表すものである監視機構と、
    前記活動統計が、一定のしきい値より少ない活動が前記B木内に発生したことを指示する場合、前記B木を静的として分類し、前記活動統計が、前記一定のしきい値より多い活動が前記B木内に発生したことを指示する場合、前記B木を動的として分類する分類機構と、
    前記分類機構により前記B木が静的として分類されるかまたは動的として分類されるかに応じて前記B木を再編成すべきか決定する最適化機構と、
    前記最適化機構が前記B木を再編成すべきであることを決定した場合には、前記B木の各ページに記憶させるべきデータの量を示す最適充填率を計算し、前記計算された量のデータを前記B木の各ページに記憶させることによって前記B木を再編成する再編成機構とを備え
    前記B木を再編成すべきか決定する最適化機構は、
    静的なB木の各ページに記憶させるデータの量である第1の値を決定する機構と、
    動的なB木の各ページに記憶させるデータの量である第2の値を決定する機構と、
    前記B木が静的として分類され、前記B木の各ページに少なくとも前記第1の値より少ない量のデータが記憶されている場合には、該B木を再編成すべきであると決定する機構と、
    前記B木が動的として分類され、前記B木の各ページに少なくとも前記第2の値より多い量のデータが記憶されている場合には、該B木を再編成すべきであると決定する機構と
    を含むことを特徴とするコンピュータシステム。
  8. 前記活動の量は、最後の再編成以降に付加されたページの数を含むことを特徴とする請求項1に記載の方法。
  9. 前記活動の量は、最後の再編成以降に削除されたページの数を含むことを特徴とする請求項1に記載の方法。
  10. 前記活動の量は、最後の再編成以降に削除されたキー値の数を含むことを特徴とする請求項1に記載の方法。
JP22320994A 1993-09-17 1994-09-19 B木最適化のためのコンピュータ方法及び装置 Expired - Lifetime JP3953537B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/123322 1993-09-17
US08/123,322 US5446887A (en) 1993-09-17 1993-09-17 Optimal reorganization of a B-tree

Publications (2)

Publication Number Publication Date
JPH07168746A JPH07168746A (ja) 1995-07-04
JP3953537B2 true JP3953537B2 (ja) 2007-08-08

Family

ID=22407973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22320994A Expired - Lifetime JP3953537B2 (ja) 1993-09-17 1994-09-19 B木最適化のためのコンピュータ方法及び装置

Country Status (5)

Country Link
US (2) US5446887A (ja)
EP (1) EP0644494B1 (ja)
JP (1) JP3953537B2 (ja)
CA (1) CA2131968C (ja)
DE (1) DE69425711T2 (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446887A (en) * 1993-09-17 1995-08-29 Microsoft Corporation Optimal reorganization of a B-tree
CA2117846C (en) * 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
JP3441807B2 (ja) * 1994-09-19 2003-09-02 株式会社日立製作所 B木インデクスの管理方法およびシステム
DE59410112D1 (de) * 1994-09-19 2002-06-06 Siemens Ag Speicherverwaltungssystem eines Rechnersystems
US5826262A (en) * 1996-03-22 1998-10-20 International Business Machines Corporation Parallel bottom-up construction of radix trees
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US5761667A (en) * 1996-08-07 1998-06-02 Bmc Software, Inc. Method of optimizing database organization using sequential unload/load operations
US5978795A (en) * 1997-01-14 1999-11-02 Microsoft Corporation Temporally ordered binary search method and system
US6011795A (en) * 1997-03-20 2000-01-04 Washington University Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes
US6418450B2 (en) 1998-01-26 2002-07-09 International Business Machines Corporation Data warehouse programs architecture
US7028043B2 (en) 1998-04-10 2006-04-11 International Business Machines Corporation Creation of customized trees
US6449256B1 (en) 1998-05-07 2002-09-10 Washington University Fast level four switching using crossproducting
US6212184B1 (en) 1998-07-15 2001-04-03 Washington University Fast scaleable methods and devices for layer four switching
US6282605B1 (en) * 1999-04-26 2001-08-28 Moore Computer Consultants, Inc. File system for non-volatile computer memory
US6421664B1 (en) * 1999-06-16 2002-07-16 International Business Machines Corporation Apparatus, program product and method for estimating the number of keys within an index key range
US6334123B1 (en) 1999-09-03 2001-12-25 Whamtech, Inc. Index relational processor
US20040225865A1 (en) * 1999-09-03 2004-11-11 Cox Richard D. Integrated database indexing system
US6829695B1 (en) * 1999-09-03 2004-12-07 Nexql, L.L.C. Enhanced boolean processor with parallel input
US6675157B1 (en) 1999-11-01 2004-01-06 International Business Machines Corporation System and method for balancing binary search trees
US20050237949A1 (en) * 2000-12-21 2005-10-27 Addessi Vincent M Dynamic connection structure for file transfer
US7383276B2 (en) * 2004-01-30 2008-06-03 Microsoft Corporation Concurrency control for B-trees with node deletion
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US7668845B1 (en) 2004-02-18 2010-02-23 Microsoft Corporation C-tree for multi-attribute indexing
US9646107B2 (en) * 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7620632B2 (en) 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7603346B1 (en) 2004-07-23 2009-10-13 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and b-tree maintenance sub-engines therein
US7653619B1 (en) 2004-07-23 2010-01-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
US7725450B1 (en) 2004-07-23 2010-05-25 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations
US8886677B1 (en) 2004-07-23 2014-11-11 Netlogic Microsystems, Inc. Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length
US7747599B1 (en) 2004-07-23 2010-06-29 Netlogic Microsystems, Inc. Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations
GB2418747A (en) * 2004-09-29 2006-04-05 Siemens Ag A data structure distributed over a number of pages
US7801923B2 (en) * 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US8316059B1 (en) * 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US20070162506A1 (en) * 2006-01-12 2007-07-12 International Business Machines Corporation Method and system for performing a redistribute transparently in a multi-node system
EP1821571A1 (en) * 2006-02-15 2007-08-22 Oticon A/S Loop antenna for in the ear audio device
US7792812B1 (en) 2006-03-31 2010-09-07 Netlogic Microsystems, Inc. Search engine devices that support high speed parallel decoding of digital search tries
US7697518B1 (en) 2006-09-15 2010-04-13 Netlogic Microsystems, Inc. Integrated search engine devices and methods of updating same using node splitting and merging operations
EP1918822A1 (fr) * 2006-10-31 2008-05-07 Axalto SA Système et procédé d'indexation de mémoire
JP4933222B2 (ja) * 2006-11-15 2012-05-16 株式会社日立製作所 インデックス処理方法及び計算機システム
US7831626B1 (en) 2006-11-27 2010-11-09 Netlogic Microsystems, Inc. Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
US7987205B1 (en) 2006-11-27 2011-07-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
US8086641B1 (en) 2006-11-27 2011-12-27 Netlogic Microsystems, Inc. Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US7953721B1 (en) 2006-11-27 2011-05-31 Netlogic Microsystems, Inc. Integrated search engine devices that support database key dumping and methods of operating same
US7886176B1 (en) 2007-09-24 2011-02-08 Integrated Device Technology, Inc. DDR memory system for measuring a clock signal by identifying a delay value corresponding to a changed logic state during clock signal transitions
US7716204B1 (en) 2007-12-21 2010-05-11 Netlogic Microsystems, Inc. Handle allocation managers and methods for integated circuit search engine devices
US20090254594A1 (en) * 2008-04-02 2009-10-08 Microsoft Corporation Techniques to enhance database performance
US7801877B1 (en) 2008-04-14 2010-09-21 Netlogic Microsystems, Inc. Handle memory access managers and methods for integrated circuit search engine devices
US8756213B2 (en) 2008-07-10 2014-06-17 Mcafee, Inc. System, method, and computer program product for crawling a website based on a scheme of the website
US8412881B2 (en) * 2009-12-22 2013-04-02 Intel Corporation Modified B+ tree to store NAND memory indirection maps
US8438330B2 (en) 2010-05-17 2013-05-07 Netlogic Microsystems, Inc. Updating cam arrays using prefix length distribution prediction
CN103049444B (zh) * 2011-10-12 2016-09-28 阿里巴巴集团控股有限公司 一种数据信息分类结构的存储方法和系统
JP5372131B2 (ja) * 2011-12-27 2013-12-18 株式会社日立製作所 インデックス処理方法及び計算機システム
US20140222870A1 (en) * 2013-02-06 2014-08-07 Lei Zhang System, Method, Software, and Data Structure for Key-Value Mapping and Keys Sorting
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US11176111B2 (en) 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US9501363B1 (en) 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
WO2014168913A1 (en) 2013-04-08 2014-10-16 Nuodb, Inc. Database management system with database hibernation and bursting
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
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
CN107257550B (zh) * 2017-07-13 2020-06-23 京信通信系统(中国)有限公司 一种信号处理方法、基站及计算机存储介质
EP3669286A4 (en) 2017-08-15 2021-06-23 NUODB Inc. DIVISION OF INDEX INTO DISTRIBUTED DATABASES
US11093450B2 (en) * 2017-09-27 2021-08-17 Vmware, Inc. Auto-tuned write-optimized key-value store
US11379433B2 (en) * 2018-05-25 2022-07-05 Microsoft Technology Licensing, Llc Persistent version storage for relational database management system
KR102195836B1 (ko) * 2019-02-07 2020-12-28 주식회사 티맥스티베로 인덱스 관리 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS581242A (ja) * 1981-06-27 1983-01-06 Fujitsu Ltd 木構造情報記憶制御方式
US5058002A (en) * 1987-06-23 1991-10-15 Mitsubishi Denki Kabushiki Kaisha Page splitting method and apparatus for a database stored in a plurality of memory storage units
US5089952A (en) * 1988-10-07 1992-02-18 International Business Machines Corporation Method for allowing weak searchers to access pointer-connected data structures without locking
JPH033045A (ja) * 1989-05-31 1991-01-09 Nec Corp 高速ファイル処理方式
US5218696A (en) * 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5261088A (en) * 1990-04-26 1993-11-09 International Business Machines Corporation Managing locality in space reuse in a shadow written B-tree via interior node free space list
US5204958A (en) * 1991-06-27 1993-04-20 Digital Equipment Corporation System and method for efficiently indexing and storing a large database with high data insertion frequency
JP3119919B2 (ja) * 1991-12-11 2000-12-25 富士通株式会社 計算機システム
EP0547992A3 (en) * 1991-12-17 1993-12-01 Ibm Method and system for enhanced efficiency of data recovery in balanced tree memory structures
US5446887A (en) * 1993-09-17 1995-08-29 Microsoft Corporation Optimal reorganization of a B-tree

Also Published As

Publication number Publication date
JPH07168746A (ja) 1995-07-04
DE69425711D1 (de) 2000-10-05
DE69425711T2 (de) 2000-12-28
CA2131968C (en) 2005-06-28
US5446887A (en) 1995-08-29
US5522068A (en) 1996-05-28
EP0644494A1 (en) 1995-03-22
CA2131968A1 (en) 1995-03-18
EP0644494B1 (en) 2000-08-30

Similar Documents

Publication Publication Date Title
JP3953537B2 (ja) B木最適化のためのコンピュータ方法及び装置
Tomasic et al. Incremental updates of inverted lists for text document retrieval
EP0520488B1 (en) Method and apparatus for integrating a dynamic lexicon into a full-text information retrieval system
Sacks-Davis et al. Multikey access methods based on superimposed coding techniques
US6694325B2 (en) Database method implementing attribute refinement model
Dunkel et al. Data organization and access for efficient data mining
US10783115B2 (en) Dividing a dataset into sub-datasets having a subset of values of an attribute of the dataset
US8566308B2 (en) Intelligent adaptive index density in a database management system
CN112395293B (zh) 分库分表方法、分库分表装置、分库分表设备及存储介质
Lomet A simple bounded disorder file organization with good performance
US7912869B1 (en) Database component packet manager
Kent et al. A signature file scheme based on multiple organizations for indexing very large text databases
US9275091B2 (en) Database management device and database management method
EP1410260B1 (en) Method and system for reorganizing a tablespace in a database
US7440936B2 (en) Method for determining an access mode to a dataset
EP3940572A1 (en) Data generalization device, data generalization method, and program
US7599949B1 (en) Database management system and method for maintaining a database in a range sensitive manner
US9576004B1 (en) Free space management in databases
Batory B+ trees and indexed sequential files: a performance comparison
US7028041B2 (en) Methods and apparatus for database space calculation and error detection
CN107315806B (zh) 一种基于文件系统的嵌入式存储方法和装置
EP3550451A1 (en) Data storage and maintenance method and device, and computer storage medium
CN115993932A (zh) 数据处理方法、装置、存储介质以及电子设备
JP3996040B2 (ja) データベース乱れ解消処理方法及びその実施装置並びにその処理プログラム
CN111444194A (zh) 一种块链式账本中索引的清除方法、装置及设备

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050722

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051024

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051024

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060324

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060626

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term