JPH07113924B2 - データ・ベース検索システム - Google Patents

データ・ベース検索システム

Info

Publication number
JPH07113924B2
JPH07113924B2 JP61301941A JP30194186A JPH07113924B2 JP H07113924 B2 JPH07113924 B2 JP H07113924B2 JP 61301941 A JP61301941 A JP 61301941A JP 30194186 A JP30194186 A JP 30194186A JP H07113924 B2 JPH07113924 B2 JP H07113924B2
Authority
JP
Japan
Prior art keywords
data
access
node
statistical information
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP61301941A
Other languages
English (en)
Other versions
JPS62191922A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62191922A publication Critical patent/JPS62191922A/ja
Publication of JPH07113924B2 publication Critical patent/JPH07113924B2/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/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • 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)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、データ・アクセスを実現する物理的なデータ
の編成または構造を持つデータ・ベース検索システムに
関する。さらに詳しくは、統計処理のためのデータ・ア
クセスを促進する構造を持つデータ・ベース検索システ
ムに関する。
B.従来技術 データ・ベース管理システム(DBMS)には、データ・モ
デル、データ定義言語、データ操作言語、問合わせ言
語、データ・アクセス方法、問合わせオプティマイザ、
並行及びロッキング機構等の多くの重要な構成要素があ
る。これらの構成要素のすべては、データ・ベース管理
システムの望ましい特性に寄与する。データ・ベース管
理システムの基礎的な概念の多くは、DBMSについてのど
の標準的な教科書にも記述されている。例えば、Ghosh
S.,Data Base Organization for Data Management,Publ
ished by Academic Press,New York(1977);Data C.
J.,An Introduction to Database Systeme,Published b
y Addison−Wesley,Reading,Mass、(1977);Wiederhol
d G.,Database Design,Pub1ished by McGraw−Hill,New
York(1977)などの文献がある。
DBMS製品の説明の多くは、様々なベンダーによつて配ら
れるマニユアルの形で入手できる。リレーショナル・モ
デルに基づくDBMS製品が開発されてきているが、いくつ
かの製品についての優れた要約が、Kim W.,“Relationa
l Database Systemes,"Computing Survey,Published by
ACM.,Vol.11,No,3、pp.185−211(1979)に記されてい
る。
DBMSの構成要素のうち、アクセス方法及び該方法を実現
する構造は、記憶媒体上のデータのビット及びバイトの
編成並びにホスト・プロセッサからのI/O要求への応答
について責任を持つ。
索引順次探索に基づくISAM(システム360オペレーテイ
ング・システム、索引順次アクセス方式(プログラミン
グ・ロジック)、IBMフォームY28−6618(1975a)),
及びBツリー(Bayet R.and McCreight C.,“Organizat
ion and Maintenance of Large Ordered Indexes",Act
a.Inf.Vol.1、No.3、pp.173−189(1972))に基づくVS
AM(OS/VS仮想記憶アクセス方式(VSAM)プログラマー
ズ・ガイド、IBMフォームGC26−3838(1975b))が発明
されて、コンピユータに記憶されているファイルの中の
情報の探索が促進されるようになつた。これらのアクセ
ス方法によつて、データ・ベースから情報を検索するの
に要する探索時間が大幅に減少した。
これらの従来のアクセス方法のすべては、XXXに等しい
キーを持つレコードを見つけたり、述語(Predicate)
P(A)を満たすすべてのレコードを見つけたり、ある
いは値XXXXの属性Aを持つレコードを更新したりすると
いう、論理的な情報処理を促進するために設計されてい
た。商業的なアクセス方法で実現されたもの以外にも、
多くの探索技術がある(Knuth D.,The Art of Computer
Programming,Vols.1,2,3、Published by Addison−Wes
ley Publ.Co.,Reading,Mass(1968))。
しかしながら、これらのすべては論理的は情報処理の効
率を向上させるように設計されている。したがつて、既
存のアクセス方法の何れを使つても、編成されたレコー
ドから属性の平均値を計算しようとすれば、ファイルの
中のすべてのレコードを処理しなければならず、時間の
大きな浪費である。
一般に、論理処理用に設計されたシステムでは、平均値
の計算のような統計的な情報処理が遅い。
統計的情報処理には多くのタイプがある(Kendall M.G.
&Stuart A.,The Advance Theory of Statistics,Vol.
1,Published by Charles Griffin&Company,London(19
58)及び(Kendall M.G.&Stuart A.,The Advance Theo
ry of Statistics,Vol.2、Published by Hafner Publis
hing Co.New York,(1961))。これらの殆どは、多く
の個々のレコード、通常はファイルのレコードのすべて
に基づいて、いくつかの関数の計算を処理しなければな
らない。これでは統計計算に時間がかかつてしまう。統
計計算の例としては、パラメータの推定、曲線のフィッ
ティング、統計的要約(周波数分布、モーメント、表に
よる表現の計算)、仮説の統計的検証、サンプリング、
実験の統計的設計、統計的連想手段、統計的予測等があ
る。統計的な情報処理の最終結果は数であり、精度が関
連することに注意すべきである。
統計的な情報処理に関連する基本的な要素は、処理に要
する時間である。コンピユータ・サイエンスの主要な目
標の1つは、処理時間を最小にすることである。これ
は、通常、記憶空間への要求との兼ね合いにより達成さ
れる。統計的計算では、精度も時間最小化のための基本
的な兼ね合い材料である。
C.発明が解決しようとする問題点 統計的問合わせにおける時間、空間及び精度の兼ね合い
の認識の上に立って、本発明は、構造中に記憶されてい
るレコードに関する統計的問合わせの処理を促進するデ
ータ・アクセス構造を持つデータ・ベース検索システム
を提供する。
本発明によれば、該構造は、レコードを記憶する複数の
データ・ノード及び複数のアクセス・ノードからなる。
各アクセス・ノードは、別のアクセス・ノードまたはデ
ータ・ノードを指すポインタを少なくとも1つ持つ。各
アクセス・ノードは少なくとも1つのデータ・ノードと
直接にまた間接に結合されている。それぞれのアクセス
・ノードまたはデータ・ノードに直接または間接に結合
されているデータ・ノードに記憶されているレコードに
関する複数のアクセス・ノード及びデータ・ノードのサ
ブセットに統計的情報が関連づけられている。
さらに、データ・ノードに記憶されているレコードの変
更に応答して、アクセス構造に記憶されている統計的情
報を更新する手段が設けられる。
本発明は、様々な階層的及び非階層的アクセス方式によ
る実現に適している。そのようなアクセス方式には、B
ツリー、指標順次アクセス法(ISAM,Index Sequential
Access Method)、IBMの仮想記憶アクセス方式(VSAM,V
irtual Storage Access Method)の相対レコード・デー
タ・セット(RDDS,Relative Record Data Set)及びIBM
の情報管理システム(IMS,Information Management Sys
tem)の階層直接アクセス方式(HDAM,Hierachical Dire
ct Access Method)などに基づくものである。
統計的情報をデータ・アクセス構造内にアクセス・ノー
ドに関連づけて保持するようにしたので、アクセス構造
内のノードのサブセットから統計的情報を読み取ること
により、統計的問合わせを処理することができる。その
結果、統計的問合わせの処理に要するアクセス時間が大
幅に削減される。高精度が求められる問合わせについて
は、ユーザがアクセス構造に沿って実際のレコードまで
下がることができる。そうすることによつて、情報の喪
失を防ぐことができる。加えて、構造中の任意のレベル
で所望の精度を維持するように統計的情報の更新手段を
適応化することができる。
D.実施例 図面を参照して、本発明の実施例を詳細に説明する。
第1図は、本発明を実現し得るデータ処理システムの簡
単な説明図である。データ処理システムは、通信チャネ
ルまたはオペレータが操作するキーボードのようなデー
タ・ソース10を含む。データ・ソース10は、ユーザの指
定に応じ、プロセツサ11と交信してデータを処理する。
典型的な場合、プロセッサ11は直接アクセス記憶装置
(DASD)12と交信する。DASD12は、プロセッサ11が与え
たデータを不揮発性記憶に保持する。プロセッサ11は、
アクセス構造に従つてデータを編成するとともに、チャ
ネル13を会して制御情報を与える。
第1図に示すシステムは、説明のために大幅に簡略化し
たものである。本発明は、データがプロセッサ11が保持
される通り、DASD12上でデータを編成することに関す
る。典型的なシステムでは、複数のプロセッサ及び非常
に多くの数の記憶装置を含んでいる。
第2図は、本発明によるデータ・アクセス構造20を示
す。該構造は、その中に記憶されているレコードに関す
る統計的問合わせの処理を促進するためのものである。
データ・レコードは、複数のデータ・ノード、例えばデ
ータ・ノード21に記憶される。また、アクセス構造20
は、複数のアクセス・ノード、例えばアクセス・ノード
22を含む。各アクセス・ノードは、アクセス情報ACCを
記憶する。ACCの例は、別のアクセス・ノード、または
データ・ベースを指す少なくとも1つのポインタ、また
はそれらの識別子である。アクセス・ノードは、各アク
セス・ノードが該構造中の少なくとも1つのデータ・ノ
ードに関連するように編成される。ポインタは、第2図
において、アクセス・ノードから別のアクセス・ノード
へ、あるいはアクセス・ノードからデータ・ノードへ至
る線で表わされる。本発明によれば、各アクセス・ノー
ドに記憶される統計的情報STATは、該アクセス・ノード
の直前または間接の後続データ・ノードに記憶されてい
るレコードに関連する情報である。第2図に示される構
造は、レベル0からレベル4までのラベルを付けられた
複数個のレベルを含む。このようなレベル記述を一般化
して、各レベルをレベルi(i=0〜n)として示す列
表記が可能である。
第2図に示される実施例では、nが4に等しい。レベル
0はルート・アクセス・ノード23であり、レベル1のア
クセス・ノード22、24、25を示すポインタを記憶する。
レベルi(i=0〜(n−1))の各アクセス・ノード
は、レベル(i+1)のアクセス・ノードのサブセット
を指すポインタを持つ。したがつて、レベル1のアクセ
ス・ノード22は、レベル2のアクセス・ノード26、27、
28を指すポインタを記憶する。レベル2のアクセス・ノ
ード27は、レベル3のアクセス・ノード29等を指すポイ
ンタを含む。レベル3のアクセス・ノード29は、レベル
4のデータ・ノード21、30、31を指すポインタを記憶す
る。従って、レベルnは実際のレコードが保持されてい
るデータ・ノードを記憶していることがわかる。
統計的情報STATは、アクセス・ノード及びデータ・ノー
ドのサブセットに対して保持される。第2図に示される
実施例においてサブセットはデータ・アクセス構造20を
構成するすべてのアクセス・ノード及びデータ・ノード
を含んでいる。ユーザは、記憶空間、精度及びアクセス
時間の間の希望する兼ね合いに応じて、例えば該構造の
1つのレベルのみに統計的情報を保持するように本発明
を適応化することができる。
第2図に示されるように、統計的情報は、記憶装置のア
クセス・ノードに含まれるレコードに記憶される。した
がつて、1つのアクセス・ノードにアクセスするだけ
で、統計的情報及びアクセス構造を通つて実際のデータ
へ至るポインタが得られる。
第3図は、統計的情報をアクセス・ノードと関連づける
代替手段を示す。具体的には、アクセス・ノード、例え
ば第3図のノード35は、統計的情報STATを指すポインタ
STAT PNTR及び構造中のアクセス・ノードを指す索引ポ
インタINDEX PNTRSを記憶している。統計的情報STAT
は、記憶装置内の、統計ポインタSTAT PNTRによつて指
示される位置36に記憶される。この代替手段によれば、
アクセス構造の空間を節約できるけれども、アクセス・
ノードに関連する統計的問合わせを処理するために、付
加的なアクセスを要する。
第2図に示されるような、データ・ノードが統計的情報
をも持つアクセス構造では、第3図に示されるような統
計ポインタを使つて、統計的情報をアクセス・ノードに
関連づけることができる。
第2図に示されるようなアクセス構造は、第1図に示さ
れるDASD12のようなデイスク・ドライブ内の数個の連続
するシリンダに記憶させておくことができる。データ・
ノードは、データ記憶システム内の、アクセス構造によ
つて示される位置に記憶される。統計的情報は、第2図
を参照して記述したようなアクセス構造で、該統計的情
報が関連する特定のアクセス・ノードと同じシリンダ
に、そして同じアドレスに記憶される。代案として、統
計的情報は、該アクセス構造と隣接する数個のシリンダ
に、関連する統計的情報を指す該構造中のポインタを使
つて記憶することができる。
上述のように、第1図に示されるプロセッサ11の働き
は、データ・ノードの中に記憶されるレコードが挿入さ
れたり、変更されたり、削除されたりするときに、第2
図に示される階層構造20のようなアクセス構造を維持す
ることである。アクセス構造を維持する1つのよく知ら
れている方法は、Bツリー(B氏木)と呼ばれる.Bツリ
ー・データ編成は、Jeffrey D.Ullman,Principles of D
atabase Systems,second edition,Computer Science Pr
ess(1982)、pages58−65によく書かれている。本発明
によれば、プロセッサ11は、実行中に統計的情報STATを
階層的データ構造20内に保持する。
第4図及び第5図は、本発明によるアクセス・ノード及
びデータ・ノードのそれぞれのフォーマットを示す。第
4図はアクセス・ノードを示す。保持される統計的情報
STATは、特定のアクセス・ノードが関連づけられている
データ・ノード内に記憶されているレコードの数n及び
例えばn個のレコードのそれぞれの属性Xの総和Sであ
る。統計的情報は、Xの2乗の総和、中央値、モード、
nの範囲に亙る頻度分布、多変量統計、またはデータ・
ベースを用いて処理される可能性のある統計的問合わせ
の処理を容易にするその他の情報を含んでいてもよい。
統計的情報STATは、STAT−REC1及びSTAT−REC2よりなる
フォームで保持される。STAT−REC1は、アクセス・ノー
ドに対する現在の統計的情報nを保持する。STAT−REC2
は、更新直前の統計的情報n′及びk=1〜n′につい
ての属性X′の総和S′を記憶する。したがつて、階層
的構造において、レベルiにある所定のノードについて
のSTAT−REC1は、該所定のノードと関連するレベル(i
+1)のノードからのSATA−REC2の値から生成される。
更新直前のSTAT−REC2の使用は、アクセス構造内に統計
的情報を保持する方法に関連して以下に説明される。
アクセス構造を通つて導かれるアクセス情報ACCは、第
4図に示されるアクセス・ノードの2番目の部分に記憶
される。Bツリーのような階層的索引に基づくアクセス
構造では、アクセス情報ACCが、各ポインタに関連する
索引値を含む。例えば、索引1、ポインタ1といつた具
合である。例えば、索引は、ポインタ1によつて指示さ
れる階層的構造に沿った下流のノードに関連するデータ
・ノードに記憶されているレコードについての最大値ま
たは値の範囲を示す。同様に、アクセス・ノード内の2
番目のエントリは、索引2及びポンインタ2を含む。以
下同じである。
第5図は、データ・ノードの編成を示す。本実施例での
データ・ノード中の統計的情報STATは、現在の統計的情
報STAT−REC1及び更新直前の統計的情報STAT−REC2を保
持する。STAT−REC1は、データ・ノード内のレコードの
現実の変化に応じて計算される。データは、P個の属性
X1K、X2K、…、XPKを各レコードk(k=1〜n)に関
連づけるテーブルの形で保持される。第5図のデータ・
ノードで、STAT−REC1はデータ・ノードに保持されるデ
ータ・レコードの数nを記憶している。このようにし
て、属性Xjk(j=1〜p、k=1〜n)を持つ複数の
レコードがデータ・ノードのデータ部に記憶されてい
る。
第6図は、3レベルのBツリー・データ構造の例であ
る。ここでは、本発明に従つて、統計的情報が第4図、
第5図に示すように編成されている。レベル0のルート
・アクセス・ノード50は、統計的情報のコピーを1つだ
け保持している。すなわち、n及びk=1〜nについて
の属性X1Kの値の総和Sである。ルート・アクセス・ノ
ード50に関連するアクセス情報は、属性の値の範囲の標
識(図示の例では最大値)及びレベル1のアクセス・ノ
ードの位置を指すポインタまたは他の識別子を含む。な
お、子ノードでは、前記標識によつてアクセス構造が編
成される。
第6図に示す実施例では、ルート・ノード50に5個のポ
インタがあり、これらは矢印で示すようにレベル1にあ
るページP2、P3、P4、P5、P6を指している。レベル1の
アクセス・ノード51、52、53、54、55は、図面でSR1と
記す現在の統計的情報STAT−REC1のコピー及び図面でSR
2と記す更新直前のSTAT−REC2のコピーを記憶してい
る。P1、つまりルート・アクセス・ノード50に記憶され
ている数nは、レベル1のアクセス・ノードについての
更新直前の統計的情報SR2に記憶されているn′の値の
総和に等しいことがわかる。つまり、79=14+20+15+
20+10である。さらに、ルート・アクセス・ノード50に
記憶されているX1kの総和Sは、レベル1のアクセス・
ノードにおけるSR2からの、更新直前のS′の総和に等
しい。つまり、2483=133+500+450+800+600であ
る。
レベル1の各アクセス・ノードは、データ・ノードを指
すポインタを含む。図面では、P2というラベルのつけら
れたアクセス・ノード51からのポインタだけが示されて
いる。図面からわかるように、アクセス・ノード51には
4個のポインタがあり、それぞれP7、P8、P9、P10を指
している。アクセス・ノード51のSR1に記憶されている
統計的情報は、ページP7、P8、P9、P10にそれぞれ記憶
されているデータ・ノード56、57、58、59に記憶されて
いる統計的情報の要約である。具体的には、これはデー
タ・ノードに記憶されている更新直前のSR2の総和であ
る。したがつて、14=4+3+4+3であり、133=24
+24+45+40である。
データ・レコードがセットアップされたとき、または定
常状態にあるときは、統計的情報の更新直前のSR2は、
現在のSR1に等しい。第6図はその例である。
第6図のアクセス構造を用いて平均値を計算する場合、
ユーザは値n(レコードの数)及びS(属性X1Kの値の
和)をルート・アクセス・ノードから検索しなければな
らない。平均値はS/nであり、本例では2483/79である。
第6図のアクセス構造に記憶された属性の平均値を計算
する場合、ルート・アクセス・ノード50がアクセスされ
て、統計的情報n、Sが検索される。平均値はS/n、つ
まり2483/79に等しい。データ・レコードが変更された
結果、レベル2のノードのSR1及びSR2が異なるならば、
レベル2のノードのSR1に記憶されている統計的情報を
検索して、一層良い精度を得ることができる。
下記第1表の中央値を計算するアルゴリズムは、本発明
によるソーティングに基づく統計的問合わせの計算を説
明している。
第1表 中央値の計算 GET n from STAT−REC in root page SET mo=[(n+1)/2] SET m=0 SET P=ルート・アクセス・ノードを指すポインタ DO WHILE(Pがアクセス・ノードを指す) CALL SUBROUTINE(m,mo,P) SUBROUTINE:PROC(m,mo,P) DO WHILEm<mo 走査アクセス・ノードの指標により指示されたページ
のSTAT−REC2を昇順に走査 Pを走査対象ノードのポンインタにSET; SET m=m+n(ノードのSTAT−RECから); END DO LOOP; SET m=m−n(ルート・ノードから); END SUBROUTINE END DO LOOP GO TO(Pで指定されたノードの(mo−m)番目のデー
タ・レコード) この中央値は検索されたレコードからの属性の値に等し
い。
第6図の例では、中央値は次のように計算される。
mo=(79+1)/2=40; P=P2について、m=0+14=14; P=P3について、m=14+20=34; P=P4について、m=34+15=49; 49>40なので、m=49−15=34にセットする。
mo−m=40−34=6; つまり、中央値は、P4の6番目のレコードの属性の値に
等しい。
統計的情報は、データ・ノードに記憶されているレコー
ドの変更に応じてBツリー内に保持される。記憶機構に
関連するプロセッサ11のソフトウエアは、本実施例にお
いて下記のようにして統計的情報を保持する。
第7図は、2つの索引ページであるページ1及びページ
2並びにデータ・ページであつページ3を第2図のよう
な階層的構造で示している。ページ1はn1及びS1を記憶
するルート・アクセス・ノードである。ページ2は、SR
1にn2及びS2を記憶し、SR2にn′及びS′を記憶す
るアクセス・ノードである。データ・ノード・ページ3
では、n3及びS3がSR1に記憶され、n′及びS′がS
R2に記憶される。
データ・ページに新しいレコードが付加されると、デー
タ・ページのSTAT−REC2が更新される。属性Xの値Vを
持つあるレコードがページ3に付加された場合を想定す
ると、n′及びS′の新しい値は次のようになる。
n′=n′+1; S′=S′+V; データ・ノードにおける新しいレコードの付加に応答す
る統計的情報を更新するためのアルゴリズムの概要は、
下記第2表の通りである。
第2表 DO WHILE(値Vを持つ新しいレコードの加算); n′=n′+1; S′=S′+V; IF(n′−n3)/n3>第1しきい値;OR (S′−S3)>第2しきい値 THEN DO; n′=n′−n3; S′=S2+S′−S3; n3=n′3; S3=S′3; END DO LOOP; END; 即ち、レコード数の相対変化(n′−n3)/n3が所定
の第1しきい値を越えるか、又は属性の総和の変化
(S′−S3)が所定の第2しきい値を越えたとき、レ
コード数n及び属性の総数Sを更新する。
アクセス・ノードにもデータノードにも同じアルゴリズ
ムが適用可能である。削除アルゴリズムは、レコードが
削除される場合に、統計的情報n′、S′の値が次
のように更新される点を除き、更新アルゴリズムと同じ
である。
n′=n′−1 S′=S′−D; ページ3にレコード挿入される結果、該ページが、第8
図のように、つまりBツリー分裂のように、ページ4及
びページ5の2ページに分裂すると想定する。ここで、
n′はn4及びn5に分裂し、S′はS4及びS5に、それ
ぞれ次の関係を満たすように分裂する。
n′=n4+n5 S′=S4+S5 挿入アルゴリズムでは、n′及びS′を使つて計算
する場合、n′及びS′についての式は同じにな
る。ページ4及びページ5のパラメータを使う場合の新
しい式は次の通りである。
n′=n′+n4+n5−n3 S′=S′+S4+S5−S3 更新は挿入及び削除の組合せである。したがつて、更新
アルゴリズムは、前述の挿入アルゴリズム及び削除アル
ゴリズムの組合せになる。
ユーザは、上記更新アルゴリズムで関係するしきい値を
選択することにより、統計的情報の精度及び情報の流れ
を維持するのに要する時間の兼ね合いをとることができ
る。しきい値は、保持される統計的情報の種類によつて
違つていてもよいし、アクセス構造のレベルによつて違
つていてもよい。次に述べる例は、属性Xの平均値に関
係する統計記情報についてのしきい値の選び方を説明す
るものである。
更新前の平均値Mが、(S1+S2+…+Sk)/nによつて与
えられると想定する。1以上のデータ・ノードに記憶さ
れているレコードの更新の際、和のエントリSk-j、S
k-j+1、…、Skが、データ・ページにおいて、S′k-j
S′k-j+1、…、S′に変更されると想定する。
その場合、更新後の真の平均値MUは次のように表現でき
る。
MU=(S1+S2+…Sk-j-1+S′k-j+S′k-j+1… +S′)/(n1+n2+…nk-j-1+n′k-j +n′k-j+1…+n′) ={M+(es/n)}/{1+(en/n)} ={M+(es/n)}・{1+(en/n)}-1 ここで、 es=(S′k-j+Sk-j)+(S′k-j+1−Sk-j+1) +…+(S′−Sk) en=(n′k-j+nk-j)+(n′k-j+1−nk-j+1) +…+(n′−nk) である。
ここでen/nは非常に小さいので、MUの近似値は次のよう
にして求められる。
MU={M+(es/n)}・{1−(en/n)} =M+(es/n)−M・(en/n)−(es・en)/n2 この結果、更新前の平均値MUを更新後の真の平均値MU
近似値として使つた場合に生じる相対誤差Eは、次のよ
うに表わされる。
E=(MU−M)/M =es/(M・n)−en/n−(es・en)/(M・n2) したがつて、和の誤差esについてのしきい値をαに選
び、カウントの誤差enについてのしきい値をαに選ん
だ場合、ルート・ノードに記憶されるSTAT−RECから概
算した平均値に与える選択されたしきい値の影響は、次
のように表わされる。
αS/(M・n)−αn/n−(α・α)/(M・n2) データ・ページ・レベルで和を更新する場合、これによ
り次の上位レベルで生じる相対誤差はこの和がより大き
なカウントで除されるために小さくなる。その次の上位
レベルでは更に小さくなる。従って、ルート・レベルで
ある最大誤差を所望する場合、その次の下位における誤
差はより高くてよく、更にその次の下位レベルではもっ
と高くてよい。このように、実際には、アクセス・ノー
ドにおける和についてのしきい値よりもデータ・ノード
における和についてのしきい値を遥かに高く設定するこ
とができる。同様の理由で、アクセス・ノードにおける
カウントについてのしきい値をデータ・ノードにおける
しきい値より遥かに低く設定することができる。したが
つて、データ・ノードでは、和について相対誤差の10%
をしきい値として設定するとともに、カウントについて
相対誤差の1%をしきい値として設定することができ
る。次に高いレベルのアクセス・ノードのしきい値は、
和について8%または9%を設定し、カウントについて
2%または3%を設定することができる。このプロセス
は、アクセス・ノードの連鎖中で繰り返すことができ
る。したがつて、5または6レベルの索引を持つ場合、
この例に従つて、ルート・ノードのカウントについての
しきい値は10%もの高さとなり、和についてのしきい値
は1%もの低さとなる。
属性X1kの平均値の計算についての上記の例のように、
本実施例では統計的情報が保持され、それに基づいてア
クセス構造が編成される。他の実施例では、統計的情報
の中に、レコードの他の属性、または属性の組合せから
導いた統計資料を含めることができる。
E.発明の効果 本発明によれば、アクセス・ノードをアクセスするだけ
で統計的情報が得られるので、統計的計算を行う度にデ
ータ記憶装置の中の関連するレコード全部を検索する必
要がなくなるので、検索時間が大幅に減少するという優
れた効果が得られる。
【図面の簡単な説明】
第1図は、データ・ベース・システムの要素を示す簡単
な概略ブロック図である。 第2図は、本発明によるデータ・アクセス構造の説明図
である。 第3図は、第2図に示すような構造におけるノードに統
計的情報を関連させる代替手段の説明図である。 第4図は、本発明の一実施例によるアクセス・ノードの
構造の説明図である。 第5図は、本発明の一実施例によるデータ・ノードの構
造の説明図である。 第6図は、本発明に従つて実現されるBツリー・アクセ
ス構造の説明図である。 第7図は、アクセス構造中のアクセス・ノードに関連す
る統計的情報の更新の説明図である。 第8図は、本発明に従つて実現されるBツリー構造に新
しくデータ・ページを挿入した後にノードが分裂する様
子の説明図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 レイモンド・アマンド・チヤールズ・ロー リイ アメリカ合衆国カリフオルニア州サンノ ゼ、エコー・バレー・ドライブ1272番地 (56)参考文献 Niklaus Wirth著、片山卓 也訳「アルゴリズム+データ構造プログラ ム」P.P184−P.P314第4章動的デー タ構造、日本コンピュータ協会昭和54年9 月15日発行 A.S.P.Ghosh ‘SIAM Statistics Informat ion Access Method’R esearch Report(IBM Research Laboratory 1985.3.10)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ・アクセス構造内に記憶されてお
    り、各々が検索キー及びレコード・データを持っている
    複数のレコードに関連する統計的問合わせ処理を促進す
    るためのデータ・アクセス構造を保持するためのデータ
    処理システムであって、 データ記憶媒体と、 前記データ記憶媒体内に、各々がレコードのサブセット
    を記憶している複数のデータ・ノード及び一連の連続し
    たレベルを持つBツリーで構成された複数のアクセス・
    ノードを保持する第1保持手段と、 前記アクセス・ノードの少なくとも1つの選択されたア
    クセス・ノードに結合された統計的情報を保持するため
    の第2保持手段と、 レコードの変更に応答して統計的情報を更新する更新手
    段とを含み、 前記第1保持手段はアクセス・ノード及びデータ・ノー
    ドをi個(i=1〜n、但しnは1より大)のレベルに
    保持し、レベル0はルート・アクセス・ノードでありレ
    ベル1のノードに対するポインタを有し、レベルi(i
    =1〜(n−1))のアクセス・ノードはレベル(i+
    1)のアクセス・ノードもしくはデータ・ノード又はそ
    の両者に対するポインタを有し、レベルnは複数の属性
    を各レコードな関連づけるデータを有し、 前記第2保持手段により保持される統計的情報は前記選
    択されたアクセス・ノードに直前又は間接に結合された
    1つ又は複数のデータ・ノードに記憶されたレコードの
    個数及び属性に関連づけられており、 前記更新手段はレベルi上の選択されたアクセス・ノー
    ドの統計的情報内の所定のしきい値を越える変化の結果
    として生じる、前記選択されたアクセス・ノードに直接
    又は間接に結合されたデータ・ノードの1つに記憶され
    ているレコードの変化に応答して前記選択されたアクセ
    ス・ノードの統計的情報を更新することを特徴とするデ
    ータ処理システム。
JP61301941A 1986-02-14 1986-12-19 データ・ベース検索システム Expired - Fee Related JPH07113924B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82973086A 1986-02-14 1986-02-14
US829730 1986-02-14

Publications (2)

Publication Number Publication Date
JPS62191922A JPS62191922A (ja) 1987-08-22
JPH07113924B2 true JPH07113924B2 (ja) 1995-12-06

Family

ID=25255392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61301941A Expired - Fee Related JPH07113924B2 (ja) 1986-02-14 1986-12-19 データ・ベース検索システム

Country Status (3)

Country Link
EP (1) EP0235525B1 (ja)
JP (1) JPH07113924B2 (ja)
DE (1) DE3751388T2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11503539A (ja) * 1995-01-26 1999-03-26 ソーセン,ハンス,バーナー データにアクセスするための方法及びシステム
GB2315889A (en) * 1996-07-31 1998-02-11 Ibm Locating and sampling of data in parallel processing systems
CA2349476A1 (en) 1998-11-03 2000-05-11 Byk Gulden Lomberg Chemische Fabrik Gmbh Imidazonaphthyridines
US7633886B2 (en) 2003-12-31 2009-12-15 University Of Florida Research Foundation, Inc. System and methods for packet filtering
CN101937365B (zh) 2009-06-30 2013-05-15 国际商业机器公司 并行程序的死锁检测方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A.S.P.Ghosh‘SIAMStatisticsInformationAccessMethod’ResearchReport(IBMResearchLaboratory1985.3.10)
NiklausWirth著、片山卓也訳「アルゴリズム+データ構造プログラム」P.P184−P.P314第4章動的データ構造、日本コンピュータ協会昭和54年9月15日発行

Also Published As

Publication number Publication date
DE3751388D1 (de) 1995-08-10
EP0235525A2 (en) 1987-09-09
EP0235525A3 (en) 1992-04-08
EP0235525B1 (en) 1995-07-05
DE3751388T2 (de) 1996-03-07
JPS62191922A (ja) 1987-08-22

Similar Documents

Publication Publication Date Title
US5265244A (en) Method and system for facilitating processing of statistical inquires on stored data accessible through a data access structure
Olken et al. Random sampling from databases: a survey
US7103588B2 (en) Range-clustered tables in a database management system
US6470330B1 (en) Database system with methods for estimation and usage of index page cluster ratio (IPCR) and data page cluster ratio (DPCR)
US6973452B2 (en) Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps
US7158996B2 (en) Method, system, and program for managing database operations with respect to a database table
US6128610A (en) Index with entries that store the key of a row and all non-key values of the row
US7552121B2 (en) Autonomic lock escalation in an SQL environment
US5210686A (en) Multilevel bill of material processing
US5404510A (en) Database index design based upon request importance and the reuse and modification of similar existing indexes
US8108355B2 (en) Providing a partially sorted index
Nag et al. Using a knowledge cache for interactive discovery of association rules
US5845274A (en) Computer program product for avoiding complete index tree traversals in sequential and almost sequential index probes
US6122644A (en) System for halloween protection in a database system
Burkhard Hashing and trie algorithms for partial match retrieval
US11176105B2 (en) System and methods for providing a schema-less columnar data store
US6366902B1 (en) Using an epoch number to optimize access with rowid columns and direct row access
EP1446737B1 (en) An efficient index structure to access hierarchical data in a relational database system
US6647386B2 (en) Method, system, and program for reverse index scanning
Kouramajian et al. The time index+ an incremental access structure for temporal databases
US8452757B2 (en) Index mechanism for finding nearest matches in a computer system
JPH07113924B2 (ja) データ・ベース検索システム
Shin et al. Adaptive and incremental processing for distance join queries
Hammer et al. Data structures for databases
Rupley Jr Introduction to query processing and optimization

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees