JP2002041567A - データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 - Google Patents

データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体

Info

Publication number
JP2002041567A
JP2002041567A JP2000230383A JP2000230383A JP2002041567A JP 2002041567 A JP2002041567 A JP 2002041567A JP 2000230383 A JP2000230383 A JP 2000230383A JP 2000230383 A JP2000230383 A JP 2000230383A JP 2002041567 A JP2002041567 A JP 2002041567A
Authority
JP
Japan
Prior art keywords
data
additional information
search
database
identification number
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
JP2000230383A
Other languages
English (en)
Inventor
Takaaki Matsumoto
高明 松本
Shinji Fujiwara
真二 藤原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000230383A priority Critical patent/JP2002041567A/ja
Publication of JP2002041567A publication Critical patent/JP2002041567A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 データベース検索の処理効率を向上させるこ
とが可能な技術を提供する。 【解決手段】 検索処理の行われるデータベースを管理
するデータベース管理方法において、検索処理の対象と
なっているデータを識別する為の識別番号を生成するス
テップと、データがデータベース中に存在しているかど
うかを示す付加情報を格納した付加情報ビットマップを
参照し、前記生成した識別番号に対応する付加情報の内
容を読み出すステップと、前記読み出した付加情報が当
該データの存在を示している場合にそのデータの検索を
行い、前記付加情報が当該データの存在を示していない
場合にそのデータの検索を抑止するステップとを有する
ものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータベースを管理
するデータベース管理システムに関し、特にB−Tre
eインデックスを用いたインデックス検索時の検索速度
を向上させるデータベース管理システムに適用して有効
な技術に関するものである。
【0002】
【従来の技術】従来、“Lehman、P.、Yao、S.B:Efficient
Locking for Concurrent Operationson B-trees、ACM
Transactions on Database System Vol6、No4(1981)、P.
650〜P.670”にある様に、B−Treeの検索ではルー
トノードから検索を開始し、着目したノードに検索した
いデータが格納されているかどうかを検査している。着
目したノードに格納されていない場合には、検索したい
データが格納されていると期待される子ノードを検査
し、以上の動作を繰り返して行う。その為、B−Tre
eインデックスに存在しないデータ、つまりデータベー
スに存在しないデータの場合にはリーフノードまで検索
が行われる。
【0003】
【発明が解決しようとする課題】前記従来技術では、B
−Treeインデックスに存在しないデータあってもリ
ーフページまで検索している為、B−Treeインデッ
クスに存在しないデータの検索を行うとB−Treeイ
ンデックスの検索時のコストが増加し、検索効率が低下
するという問題がある。本発明の目的は上記問題を解決
し、データベース検索の処理効率を向上させることが可
能な技術を提供することにある。
【0004】
【課題を解決するための手段】本発明は、検索処理の行
われるデータベースを管理するデータベース管理システ
ムにおいて、検索処理の対象となっているデータがデー
タベース中に存在している場合に当該データの検索を行
うものである。
【0005】本発明のデータベース管理システムでは、
インデックスを作成する際にインデックス作成の対象と
なっているデータを識別する為の識別番号を生成し、前
記データがデータベース中に存在していることを示す付
加情報を、前記生成した識別番号に対応するビットマッ
プに設定して付加情報ビットマップを作成する。
【0006】インデックス検索を行う際には、検索処理
の対象となっているデータを識別する為の識別番号を生
成し、前記生成した識別番号に対応する付加情報ビット
マップを参照して当該データがデータベース中に存在し
ているかどうかを示す付加情報の内容を読み出す。前記
読み出した付加情報が当該データの存在を示している場
合にはそのデータの検索を行い、前記付加情報が当該デ
ータの存在を示していない場合にはそのデータの検索を
抑止する。
【0007】前記の様に本発明では、インデックスに存
在しないデータをリーフページまで検索するのではな
く、検索する必要のあるデータと必要のないデータを区
別し、検索する必要のあるデータについてのみインデッ
クスを検索する。これにより、インデックス上に存在し
ないデータであってもリーフページまで検索するという
従来のインデックス検索時のコストを削減することが可
能である。
【0008】以上の様に本発明のデータベース管理シス
テムによれば、検索処理の対象となっているデータがデ
ータベース中に存在している場合に当該データの検索を
行うので、データベース検索の処理効率を向上させるこ
とが可能である。
【0009】
【発明の実施の形態】以下にB−Treeインデックス
を用いた検索処理の行われるデータベースを管理する一
実施形態のデータベース管理システムについて説明す
る。
【0010】図1は本実施形態のあるデータについて付
加情報ビットマップからB−Treeインデックスをア
クセスして対応するデータを検索する処理の概要を示す
図である。図1に示す様に本実施形態のインデックスに
格納するデータと1対1に対応する付加情報ビットマッ
プ111では、該当データがB−Treeインデックス
112に格納されている場合にそのデータに対応するビ
ットに「1」を設定し、また、当該データが格納されて
いない場合にはそのデータに対応するビットに「0」を
設定している。そして付加情報ビットマップ111の対
応するビットが「1」の場合にはB−Treeインデッ
クス112を探索し、データベース中の表113から該
当するデータを検索する。
【0011】図2は本実施形態のデータベース管理シス
テムの概略構成を示す図である。図2に示す様に本実施
形態のデータベース管理装置211は、インデックス作
成処理部200と、データ検索処理部201と、データ
挿入処理部202と、データ削除処理部203と、識別
番号生成処理部204と、付加情報設定処理部205
と、付加情報参照処理部206とを有している。
【0012】インデックス作成処理部200は、B−T
reeインデックス216を作成する際に、そのデータ
がデータベース中に存在していることを示す付加情報を
格納した付加情報ビットマップ214を作成する処理部
である。
【0013】データ検索処理部201は、データ検索を
行う際に、検索処理の対象となっているデータに対応す
る付加情報が当該データの存在を示している場合にその
データの検索を行い、前記付加情報が当該データの存在
を示していない場合にそのデータの検索を抑止する処理
部である。
【0014】データ挿入処理部202は、データを表R
217へ挿入する際に、当該データがデータベース中に
存在していることを示す付加情報を付加情報ビットマッ
プ214に設定する処理部である。データ削除処理部2
03は、データを表R217から削除する際に、当該デ
ータの識別番号がそのデータの取り得る範囲内で当該デ
ータを一意に識別する為の番号である場合に、当該デー
タがデータベース中に存在していないことを示す付加情
報を付加情報ビットマップ214に設定する処理部であ
る。
【0015】識別番号生成処理部204は、インデック
ス作成やインデックス検索等のデータベース処理の対象
となっているデータを識別する為の識別番号として、そ
のデータが取り得る範囲内で当該データを一意に識別す
る為の番号または当該データのハッシュ値を示す番号を
生成する処理部である。
【0016】付加情報設定処理部205は、あるデータ
がデータベース中に存在しているかどうかを示す付加情
報を、当該データを識別する為の識別番号に対応する付
加情報ビットマップ214に設定する処理部である。
【0017】付加情報参照処理部206は、データがデ
ータベース中に存在しているかどうかを示す付加情報を
格納した付加情報ビットマップ214を参照し、あるデ
ータについて生成された識別番号に対応する付加情報の
内容を読み出す処理部である。
【0018】データベース管理装置211をインデック
ス作成処理部200、データ検索処理部201、データ
挿入処理部202、データ削除処理部203、識別番号
生成処理部204、付加情報設定処理部205及び付加
情報参照処理部206として機能させる為のプログラム
は、CD−ROM等の記録媒体に記録され磁気ディスク
等に格納された後、メモリにロードされて実行されるも
のとする。なお前記プログラムを記録する記録媒体はC
D−ROM以外の他の記録媒体でも良い。
【0019】図2ではCPU212、メモリ213、外
部記憶装置215からなるデータベース管理装置211
に表R217及びB−Treeインデックス216を格
納し、B−Treeインデックス216に付加情報ビッ
トマップ214を付加した検索を行うデータベース管理
システムの構成を表している。
【0020】図2において、B−Treeインデックス
216は、表R217(表R217の全行数|R|:以
下、表の全行数を|表|の様に表すものとする)の列Rk
を構成列の先頭に持つ様な定義のインデックスである。
このとき、あるデータがB−Treeインデックス21
6の構成列として用いられた、データベースの列データ
中に存在しているかどうかを示す付加情報ビットマップ
214を付加する。以下に本実施形態のデータベース管
理システムにおいて、インデックス作成時に付加情報ビ
ットマップ214を作成する処理について説明する。
【0021】図3は本実施形態の付加情報ビットマップ
作成時の処理手順を示すフローチャートである。図3に
示す様に本実施形態のデータベース管理装置211のイ
ンデックス作成処理部200は、B−Treeインデッ
クス216の作成の際に、そのB−Treeインデック
ス216を構成するデータがデータベース中に存在して
いることを示す付加情報を格納した付加情報ビットマッ
プ214を作成する処理を行う。
【0022】ステップ311でインデックス作成処理が
開始されると、データベース管理装置211のインデッ
クス作成処理部200は、ステップ312でB−Tre
eインデックス216を作成してステップ313に進
む。
【0023】ステップ313では、付加情報ビットマッ
プ214を作成する指定がデータベース管理者により行
われているかどうかを判定し、付加情報ビットマップ2
14の作成が指定されていないときには、ステップ31
4でB−Treeインデックス216の作成を終了し、
付加情報ビットマップ214の作成が指定されている場
合にはステップ321へ進む。
【0024】ステップ321では、B−Treeインデ
ックス216に格納するデータの取り得る組合せ数がメ
モリ213に展開できるビット数かどうかを判定し、前
記データの取り得る組合せ数がメモリ213に展開でき
るビット数以下であればステップ331へ進む。
【0025】ステップ331では、識別番号生成処理部
204及び付加情報設定処理部205により、B−Tr
eeインデックス216の取り得るデータに1対1に対
応した付加情報ビットマップ214を作成する。すなわ
ち、識別番号生成処理部204は、インデックス作成の
対象となっているデータを識別する為の識別番号とし
て、そのデータが取り得る範囲内で当該データを一意に
識別する為の番号を生成する。例えば、そのデータのデ
ータ型がSMALLINT(2バイトのバイナリ形式の符号付き
整数)の場合、取り得る値の種類は65536種類であ
るので、そのデータの最小値から順に「1」から655
36番までの識別番号を生成する処理を行う。そして付
加情報設定処理部205は、前記データがデータベース
中に存在していることを示す付加情報として「1」を、
前記生成した識別番号に対応する付加情報ビットマップ
214に設定する。
【0026】ステップ321で判定した結果、B−Tr
eeインデックス216に格納するデータの取り得る組
合せ数がメモリ213に展開できるビット数より大きい
場合にはステップ332へ進む。
【0027】ステップ332では、識別番号生成処理部
204及び付加情報設定処理部205により、そのハッ
シュ値がメモリ213に展開できるビット数に収まる適
当なハッシュ関数によって当該データを類別して、ハッ
シュ値のビット数の大きさを持つ付加情報ビットマップ
214を作成する。すなわち、ステップ332でデータ
ベース管理装置211の識別番号生成処理部204は、
インデックス作成の対象となっているデータを識別する
為の識別番号として、当該データのハッシュ値を示す番
号を生成し、付加情報設定処理部205は、前記データ
がデータベース中に存在していることを示す付加情報と
して「1」を、前記生成した識別番号に対応する付加情
報ビットマップ214に設定する。
【0028】また本実施形態の付加情報ビットマップ2
14には、データに1対1に対応した付加情報ビットマ
ップかハッシュ値による付加情報ビットマップかを区別
する為のフラグを設定しておくものとする。
【0029】図4は本実施形態の付加情報ビットマップ
214の例を示す図である。図4ではデータと1対1に
対応する付加情報ビットマップ411とハッシュ関数の
ハッシュ値による付加情報ビットマップ421の例を表
している。
【0030】図4において、ハッシュ値による付加情報
ビットマップ421は、同一のハッシュ値になる複数の
異なるデータの内のどれか1つがB−Treeインデッ
クス216中に現在格納されているか或いは過去に格納
されていた場合に、そのハッシュ値に対応するビットが
「1」になる。また、同一のハッシュ値になる複数の異
なるデータがどれ一つとして現在格納されておらず、か
つ、過去においても格納されていなかった場合にそのハ
ッシュ値に対応するビットが「0」となる。
【0031】以下に本実施形態のデータベース管理シス
テムにおいて、B−Treeインデックス216に付加
された付加情報ビットマップ214を利用して2つの表
の結合検索を行う処理について説明する。
【0032】図5は本実施形態のデータベース管理シス
テム中に格納されている2つの表の結合検索の概要を示
す図である。図5において、表S511(全行数|S|)
がデータベース管理システムに格納されており、表R2
17と表S511の結合検索を行う際には、まず表S5
11のデータの内、表S511を検索する為の条件、つ
まり表S511の列しか含まない条件(例えば表S51
1の列Snに対する条件としてSn=10やSn>10
等の条件)に該当するデータである表S’512(全行
数|S’|)を検索する。
【0033】そして前記検索したデータS’と表R21
7のデータの突き合わせを行い、結合検索の条件を満た
す行をデータベース管理システムから検索する。結合検
索の条件の内、表R217と表S’512を突き合わせ
る為の条件には表S’512の列Skと、表R217の
列Rk(例えばSk=RkやSk=Rk+10等の条
件)が含まれているものとする。
【0034】図6は本実施形態の付加情報ビットマップ
214を使用した検索処理の処理手順を示すフローチャ
ートである。図6では表S511の列Skを含む検索行
の集合つまり表S’512に対して、表R217の列R
kを構成列の先頭に持つB−Treeインデックス21
6の付加情報ビットマップ214を使用した検索を行う
処理を表している。
【0035】ステップ612でデータベース管理装置2
11のデータ検索処理部201は、まずS’のデータを
取り出し、ステップ613では、表R217の検索を行
う為にB−Treeインデックス216が使用できるか
どうかを判定する。B−Treeインデックス216が
使用できない場合には、ステップ614でデータベース
中の表R217のデータを検索し、B−Treeインデ
ックス216が使用できる場合にはステップ621へ進
む。
【0036】ステップ621では、そのB−Treeイ
ンデックス216に対して付加情報ビットマップ214
が存在するかどうかを調べ、B−Treeインデックス
216に対して付加情報ビットマップ214が存在しな
い場合にはステップ633へ進む。
【0037】ステップ633では、S’から取り出した
データがB−Treeインデックス216中に存在して
いるかどうかを検索する。ステップ634では、ステッ
プ633での検索の結果、S’から取り出したデータが
B−Treeインデックス216中に存在していたかを
調べ、S’のデータがB−Treeインデックス216
に存在していなければステップ612のS’からのデー
タの取り出しに戻り、S’のデータがB−Treeイン
デックス216に存在している場合にはステップ635
に進む。
【0038】ステップ635では、B−Treeインデ
ックス216の検索だけで良いか判定する。B−Tre
eインデックス216を構成する列のみで検索の為の条
件判定が完結し、かつ、検索するデータがB−Tree
インデックス216の構成列のみであれば、B−Tre
eインデックス216のみの検索で良い。よって、B−
Treeインデックス216の検索だけで良ければステ
ップ615へ進み、検索を終了する。B−Treeイン
デックス216に存在しないデータも検索するのであれ
ば、ステップ614でデータベース中の表R217を検
索した後、検索を終了する。
【0039】ステップ621でB−Treeインデック
ス216に対して付加情報ビットマップ214が存在す
る場合にはステップ622に進み、その付加情報ビット
マップ214が、インデックス中のデータのハッシュ値
による付加情報ビットマップ421であるかどうかを判
定する。
【0040】ステップ622で付加情報ビットマップ2
14がハッシュ値による付加情報ビットマップ421で
あると判定された場合はステップ631に進む。ステッ
プ631で識別番号生成処理部204は、S’から取り
出したデータの内、表R217のインデックス構成列に
該当する列を用いてハッシュ値を求める。
【0041】ステップ632で付加情報参照処理部20
6は、付加情報ビットマップ214を参照し、そのハッ
シュ値番目の付加情報ビットマップ421の該当ビット
が「1」かどうかを調べる。該当ビットが「0」であれ
ばB−Treeインデックス216中に該当データが無
いのでステップ612のS’からのデータの取り出しに
戻り、該当ビットが「1」であればB−Treeインデ
ックス216中に該当データが存在する可能性があるの
でステップ633へ進む。
【0042】ステップ633でデータ検索処理部201
は、B−Treeインデックス216の検索を行う。ス
テップ634では、前記検索の結果、S’から取り出し
たデータと同じ値が存在していなければステップ612
に戻り、同じ値が存在している場合にはステップ635
へ進む。ステップ635では、B−Treeインデック
ス216の検索だけで良いか判定して、前記検索だけで
良ければ検索を終了し、それ以外のデータを検索するの
であれば、ステップ614でデータベース中の表R21
7のデータを検索した後、検索を終了する。
【0043】ステップ622で付加情報ビットマップ2
14がハッシュ値による付加情報ビットマップ421で
はなく、データと1対1に対応した付加情報ビットマッ
プ411であると判定された場合はステップ641に進
む。
【0044】ステップ641で識別番号生成処理部20
4は、検索処理の対象となっているデータを識別する為
の識別番号として、そのデータが取り得る範囲内で当該
データを一意に識別する為の番号を生成し、S’から取
り出したデータの値が表R217のB−Treeインデ
ックス216のデータの何番目かを求める。これが付加
情報ビットマップ411での該当ビットの位置となる。
例えば、Rkのデータ型がSMALLINT(2バイトのバイナ
リ形式の符号付き整数)でそのデータを最小値から順序
付けている場合では、S’から取り出したデータの値が
「0」であればそのデータは32769番目となる。
【0045】ステップ642で付加情報参照処理部20
6は、付加情報ビットマップ411を参照し、その該当
ビットが「1」かどうかを調べる。該当ビットが「0」
であれば、B−Treeインデックス216中に該当デ
ータが無いのでステップ612のS’からのデータの取
り出しに戻り、該当ビットが「1」であればB−Tre
eインデックス216中に該当データが存在するのでス
テップ643へ進む。
【0046】ステップ643でデータ検索処理部201
は、B−Treeインデックス216の検索を行う。ス
テップ644では、B−Treeインデックス216の
検索だけで良いか判定して、前記検索だけで良ければ検
索を終了し、それ以外のデータを検索するのであれば、
ステップ614でデータベース中の表R217のデータ
を検索した後、検索を終了する。
【0047】図7は本実施形態のB−Treeインデッ
クス216に付加情報ビットマップ214が存在する表
への行の挿入処理の処理手順を示すフローチャートであ
る。図7に示す様に本実施形態のデータベース管理装置
211のデータ挿入処理部202は、データを表R21
7へ挿入する際に、当該データがデータベース中に存在
していることを示す付加情報を付加情報ビットマップ2
14に設定する処理を行う。
【0048】図7において、表R217に対して行の挿
入を行う場合、挿入するデータをデータベース管理装置
211に渡す。ステップ712でデータベース管理装置
211のデータ挿入処理部202は、渡されたデータを
表R217のデータベースに挿入する。
【0049】次にステップ713では、表R217にB
−Treeインデックス216が定義されているかを調
べ、定義されていなければステップ714で挿入処理を
終了し、B−Treeインデックス216が定義されて
いる場合には、ステップ721でB−Treeインデッ
クス216にデータを追加する。
【0050】その次にステップ722では、そのB−T
reeインデックス216に対して付加情報ビットマッ
プ214が存在するかを調べ、付加情報ビットマップ2
14が存在しなければステップ714で挿入処理を終了
し、付加情報ビットマップ214が存在する場合にはス
テップ731へ進む。
【0051】ステップ731では、その付加情報ビット
マップ214がB−Treeインデックス216中のデ
ータのハッシュ値による付加情報ビットマップ421か
どうかを判定し、付加情報ビットマップ214がハッシ
ュ値による付加情報ビットマップ421である場合には
ステップ741に進む。
【0052】ステップ741で識別番号生成処理部20
4は、挿入処理の対象となっているデータを識別する為
の識別番号として、当該データのハッシュ値を示す番号
を生成する。ステップ742で付加情報設定処理部20
5は、前記生成されたハッシュ値番目の付加情報ビット
マップ421のビットを「1」に設定する。そして、ス
テップ714で挿入処理を終了する。
【0053】またステップ731で判定した結果、付加
情報ビットマップ214がハッシュ値による付加情報ビ
ットマップ421ではなく、データと1対1に対応した
付加情報ビットマップ411である場合にはステップ7
51に進む。
【0054】ステップ751で識別番号生成処理部20
4は、挿入処理の対象となっているデータを識別する為
の識別番号として、そのデータが取り得る範囲内で当該
データを一意に識別する為の番号を生成し、当該データ
が表R217のB−Treeインデックス216のデー
タの何番目かを求める。ステップ752で付加情報設定
処理部205は、前記生成した番号に該当する付加情報
ビットマップ411のビットを「1」に設定する。そし
てステップ714で挿入処理を終了する。
【0055】図8は本実施形態のB−Treeインデッ
クス216に付加情報ビットマップ214が存在する表
からの行の削除処理の処理手順を示すフローチャートで
ある。図8に示す様に本実施形態のデータベース管理装
置211のデータ削除処理部203は、データを表R2
17から削除する際に、当該データの識別番号がそのデ
ータの取り得る範囲内で当該データを一意に識別する為
の番号である場合に、当該データがデータベース中に存
在していないことを示す付加情報を付加情報ビットマッ
プ214に設定する処理を行う。
【0056】図8において表R217に対して行の削除
を行う場合、まずステップ812でデータベース管理装
置211のデータ削除処理部203は、データを表R2
17のデータベースから削除する。次にステップ813
では、表R217にB−Treeインデックス216が
定義されているかを調べ、定義されていなければステッ
プ814で削除処理を終了し、B−Treeインデック
ス216が定義されている場合には、ステップ821で
B−Treeインデックス216のメンテナンスを行
う。
【0057】次にステップ822では、B−Treeイ
ンデックス216中に削除したデータと同じデータの行
が存在するかどうかを調べ、削除したデータと同じデー
タの行が存在していればステップ814で削除処理を終
了し、削除したデータと同じデータの行が存在していな
い場合にはステップ823へ進む。
【0058】ステップ823では、B−Treeインデ
ックス216に対して付加情報ビットマップ214が存
在するかを調べ、存在していなければステップ814で
削除処理を終了し、付加情報ビットマップ214が存在
する場合にはステップ824へ進む。
【0059】ステップ824では、その付加情報ビット
マップ214がB−Treeインデックス216中のデ
ータのハッシュ値による付加情報ビットマップ421か
どうかを判定する。
【0060】ステップ824で判定した結果、付加情報
ビットマップ214がハッシュ値による付加情報ビット
マップ421である場合には、同じハッシュ値を取り得
る、異なるデータが存在する可能性があるので、付加情
報ビットマップ421の該当ビットを「0」に設定する
処理は行わず削除処理を終了する。この場合、B−Tr
eeインデックス216中にデータが存在しないにもか
かわらず、付加情報ビットマップ421の該当ビットが
「1」になっている場合が起こり得るので、B−Tre
eの適正化を行う際等、所定のタイミングで付加情報ビ
ットマップ421の再作成を行う。
【0061】ステップ824で判定した結果、付加情報
ビットマップ214がハッシュ値による付加情報ビット
マップ421でなく、データと1対1で対応する付加情
報ビットマップ411の場合にはステップ831へ進
む。
【0062】ステップ831で識別番号生成処理部20
4は、削除処理の対象となっているデータを識別する為
の識別番号として、そのデータが取り得る範囲内で当該
データを一意に識別する為の番号を生成し、当該データ
が表R217のB−Treeインデックス216のデー
タの取り得る種類数の何番目かを求める。ステップ83
2で付加情報設定処理部205は、前記生成した番号に
該当する付加情報ビットマップ411のビットを「0」
に設定する。そしてステップ814で削除処理を終了す
る。
【0063】図9は本実施形態のB−Treeインデッ
クス216に付加情報ビットマップ214が存在する表
中の行の更新処理の処理手順を示すフローチャートであ
る。図9において、表R217に対して行の更新があっ
た場合、データベース管理装置211においてデータが
更新される。この場合、まずステップ912でデータの
削除処理を行い、次にステップ913でデータの挿入処
理を行う。この際、データの削除処理は図8、データの
挿入処理は図7で示した処理手順で行う。
【0064】図10は本実施形態の表及びB−Tree
インデックス216を複数のデータベース管理装置に分
割して格納し、B−Treeインデックス216に付加
情報ビットマップ214を付加した検索を行うデータベ
ース管理システムの構成を示す図である。図10に示し
た構成では、表R217(全行数|R|)のデータをn台
のデータベース管理装置211に表R1012として分
割して格納しているものとする。
【0065】ここで、表R217を分割する為に使用し
た列をRmとし、表R217のデータの分割に用いた列
Rmと異なる列Rkを構成列の先頭に持つ様なB−Tr
eeインデックス216を定義する。このとき、各デー
タベース管理装置211の管理するB−Treeインデ
ックス216(ローカルインデックス)中にデータが存
在するかどうかを示す付加情報ビットマップ214をB
−Treeインデックス216に付加する。
【0066】図11は本実施形態の複数のデータベース
管理装置211に分割された表R1012と表S511
の結合検索の概要を示す図である。図11において、表
S511(全行数|S|)がデータベース管理システムに
格納されているものとする。
【0067】表R1012と表S511の結合検索を行
う場合には、まず表S511のデータの内、表S511
を検索する為の条件に該当するデータである表S’51
2を検索する。そして、その検索したデータS’と表R
1012のデータの突き合わせを行い、結合検索の条件
を満たす行をデータベース管理システムから検索する。
【0068】結合検索の条件の内、表R1012と表S
511を突き合わせる為の条件には表S511の列Sk
と表R1012の列Rkが含まれており、且つ表R10
12に分割する為に用いた列Rmは含まれていないもの
とする。このとき、表R1012の分割に用いた列Rm
と表R1012に定義したインデックス構成列の先頭の
Rkは異なる列なので、表R217を分割した部分表で
ある表R1012を持つ全データベース管理装置211
にS’中の全データを転送する。
【0069】表R217の部分表を持つあるデータベー
ス管理装置211に注目する。付加情報ビットマップ2
14は各データベース管理装置211に閉じた情報であ
り、他のデータベース管理装置211の状態に依存して
いない。よって、注目したデータベース管理装置211
内において1台のデータベース管理装置211に格納し
ている場合と同じ処理を行うことができる。この様に本
実施形態では他の装置の処理に依存することなく、各デ
ータベース管理装置211で付加情報ビットマップ21
4を用いたデータベース処理を行うことが可能である。
【0070】また、図11では付加情報ビットマップ2
14をメモリ213中に保持しているが、メモリ213
中に収まらない大きさの時は付加情報ビットマップ21
4の一部または全部を外部記憶装置215上に保持して
も良い。この場合には、付加情報ビットマップ214を
幾つかの区間に分割し、分割した区間単位でメモリ21
3上の区間付加情報ビットマップと外部記憶装置215
上の区間付加情報ビットマップを、LRU(Least Rece
ntly Used)方式等を用いて入れ換える。この付加情報
ビットマップ214の一部または全部を外部記憶装置2
15上に保持する指定は、B−Treeインデックス2
16の定義時またはスキーマの定義時、データベース管
理システムの動作を規定する部分、または、その他デー
タベース管理システムが認識可能な方式で行われるもの
とする。
【0071】更に、B−Treeインデックス216を
構成するデータの取り得る組合せ数が多い場合には、付
加情報ビットマップ214を作成するデータの範囲を制
限することにより、頻繁に参照するデータに対してのみ
付加情報ビットマップ214を作成し、メモリ213ま
たは外部記憶装置215に占める大きさを削減すること
が可能である。このとき、ハッシュ関数による類別では
なく、データとB−Treeインデックス216とが1
対1に対応する付加情報ビットマップ411を作成する
ことができるので検索速度を向上することが可能であ
る。この付加情報ビットマップ214のデータ範囲を制
限する指定は、B−Treeインデックス216の定義
時またはスキーマの定義時、データベース管理システム
の動作を規定する部分、または、その他データベース管
理システムが認識可能な方式で行われるものとする。
【0072】また、B−Treeインデックスに限ら
ず、他の方式のインデックスについても付加情報ビット
マップを用いてインデックスの検索コストを削減するこ
とが可能である。この付加情報ビットマップを用いるこ
とを示す指定は、インデックスの定義時またはスキーマ
の定義時、データベース管理システムの動作を規定する
部分、または、その他データベース管理システムが認識
可能な方式で行われるものとする。
【0073】更に、インデックスの存在しない表に対し
ても、表中にデータが存在するかどうかを示す付加情報
ビットマップを用いることにより、データが存在しない
場合に表を検索しないことにより、検索コストを削減す
ることが可能である。このインデックスの存在しない表
に対して付加情報ビットマップを用いることを示す指定
は、インデックスの定義時またはスキーマの定義時、デ
ータベース管理システムの動作を規定する部分、また
は、その他データベース管理システムが認識可能な方式
で行われるものとする。同様に、表形式でデータを保持
しない方式のデータベース管理システムのインデックス
についても、付加情報ビットマップを適用することが可
能である。
【0074】以上説明した様に本実施形態のデータベー
ス管理システムによれば、検索処理の対象となっている
データがデータベース中に存在している場合に当該デー
タの検索を行うので、データベース検索の処理効率を向
上させることが可能である。
【0075】
【発明の効果】本発明によれば検索処理の対象となって
いるデータがデータベース中に存在している場合に当該
データの検索を行うので、データベース検索の処理効率
を向上させることが可能である。
【図面の簡単な説明】
【図1】本実施形態のあるデータについて付加情報ビッ
トマップからB−Treeインデックスをアクセスして
対応するデータを検索する処理の概要を示す図である。
【図2】本実施形態のデータベース管理システムの概略
構成を示す図である。
【図3】本実施形態の付加情報ビットマップ作成時の処
理手順を示すフローチャートである。
【図4】本実施形態の付加情報ビットマップ214の例
を示す図である。
【図5】本実施形態のデータベース管理システム中に格
納されている2つの表の結合検索の概要を示す図であ
る。
【図6】本実施形態の付加情報ビットマップ214を使
用した検索処理の処理手順を示すフローチャートであ
る。
【図7】本実施形態のB−Treeインデックス216
に付加情報ビットマップ214が存在する表への行の挿
入処理の処理手順を示すフローチャートである。
【図8】本実施形態のB−Treeインデックス216
に付加情報ビットマップ214が存在する表からの行の
削除処理の処理手順を示すフローチャートである。
【図9】本実施形態のB−Treeインデックス216
に付加情報ビットマップ214が存在する表中の行の更
新処理の処理手順を示すフローチャートである。
【図10】本実施形態の表及びB−Treeインデック
ス216を複数のデータベース管理装置に分割して格納
し、B−Treeインデックス216に付加情報ビット
マップ214を付加した検索を行うデータベース管理シ
ステムの構成を示す図である。
【図11】本実施形態の複数のデータベース管理装置2
11に分割された表R1012と表S511の結合検索
の概要を示す図である。
【符号の説明】
111…付加情報ビットマップ、112…B−Tree
インデックス、113…データベース中の表、211…
データベース管理装置、212…CPU、213…メモ
リ、214…付加情報ビットマップ、215…外部記憶
装置、216…B−Treeインデックス、217…表
R、200…インデックス作成処理部、201…データ
検索処理部、202…データ挿入処理部、203…デー
タ削除処理部、204…識別番号生成処理部、205…
付加情報設定処理部、206…付加情報参照処理部、4
11…付加情報ビットマップ、421…付加情報ビット
マップ、511…表S、512…表S’、1011…ネ
ットワーク、1012…表R。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 検索処理の行われるデータベースを管理
    するデータベース管理方法において、 検索処理の対象となっているデータを識別する為の識別
    番号を生成するステップと、データがデータベース中に
    存在しているかどうかを示す付加情報を格納した付加情
    報ビットマップを参照し、前記生成した識別番号に対応
    する付加情報の内容を読み出すステップと、前記読み出
    した付加情報が当該データの存在を示している場合にそ
    のデータの検索を行い、前記付加情報が当該データの存
    在を示していない場合にそのデータの検索を抑止するス
    テップとを有することを特徴とするデータベース管理方
    法。
  2. 【請求項2】 インデックス作成の対象となっているデ
    ータを識別する為の識別番号を生成するステップと、前
    記データがデータベース中に存在していることを示す付
    加情報を、前記生成した識別番号に対応する付加情報ビ
    ットマップに設定するステップとを有することを特徴と
    する請求項1に記載されたデータベース管理方法。
  3. 【請求項3】 前記識別情報は、そのデータが取り得る
    範囲内で当該データを一意に識別する為の番号または当
    該データのハッシュ値を示す番号であることを特徴とす
    る請求項1または請求項2のいずれかに記載されたデー
    タベース管理方法。
  4. 【請求項4】 検索処理の行われるデータベースを管理
    するデータベース管理システムにおいて、 検索処理の対象となっているデータを識別する為の識別
    番号を生成する識別番号生成処理部と、データがデータ
    ベース中に存在しているかどうかを示す付加情報を格納
    した付加情報ビットマップを参照し、前記生成した識別
    番号に対応する付加情報の内容を読み出す付加情報参照
    処理部と、前記読み出した付加情報が当該データの存在
    を示している場合にそのデータの検索を行い、前記付加
    情報が当該データの存在を示していない場合にそのデー
    タの検索を抑止するデータ検索処理部とを備えることを
    特徴とするデータベース管理システム。
  5. 【請求項5】 検索処理の行われるデータベースを管理
    するデータベース管理システムとしてコンピュータを機
    能させる為のプログラムを記録したコンピュータ読み取
    り可能な記録媒体において、 検索処理の対象となっているデータを識別する為の識別
    番号を生成する識別番号生成処理部と、データがデータ
    ベース中に存在しているかどうかを示す付加情報を格納
    した付加情報ビットマップを参照し、前記生成した識別
    番号に対応する付加情報の内容を読み出す付加情報参照
    処理部と、前記読み出した付加情報が当該データの存在
    を示している場合にそのデータの検索を行い、前記付加
    情報が当該データの存在を示していない場合にそのデー
    タの検索を抑止するデータ検索処理部としてコンピュー
    タを機能させる為のプログラムを記録したことを特徴と
    する記録媒体。
JP2000230383A 2000-07-31 2000-07-31 データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 Pending JP2002041567A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000230383A JP2002041567A (ja) 2000-07-31 2000-07-31 データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000230383A JP2002041567A (ja) 2000-07-31 2000-07-31 データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2002041567A true JP2002041567A (ja) 2002-02-08

Family

ID=18723350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000230383A Pending JP2002041567A (ja) 2000-07-31 2000-07-31 データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2002041567A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052698A (ja) * 2005-08-19 2007-03-01 Kddi Corp 暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システム
JP2008242749A (ja) * 2007-03-27 2008-10-09 Seiko Epson Corp 検索装置およびプログラム
JP2010266996A (ja) * 2009-05-13 2010-11-25 Hitachi Ltd データベース処理方法、データベース処理システム及びデータベースサーバ
WO2013069149A1 (ja) * 2011-11-11 2013-05-16 株式会社日立製作所 データ検索装置、データの検索方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052698A (ja) * 2005-08-19 2007-03-01 Kddi Corp 暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システム
JP4722620B2 (ja) * 2005-08-19 2011-07-13 Kddi株式会社 暗号化文書検索方法および暗号化文書検索システム
JP2008242749A (ja) * 2007-03-27 2008-10-09 Seiko Epson Corp 検索装置およびプログラム
JP2010266996A (ja) * 2009-05-13 2010-11-25 Hitachi Ltd データベース処理方法、データベース処理システム及びデータベースサーバ
WO2013069149A1 (ja) * 2011-11-11 2013-05-16 株式会社日立製作所 データ検索装置、データの検索方法及びプログラム

Similar Documents

Publication Publication Date Title
US5590320A (en) Computer file directory system
US9195738B2 (en) Tokenization platform
CN103077199B (zh) 一种文件资源查找定位方法及装置
US9405784B2 (en) Ordered index
US20170063695A1 (en) Full flow retrieval optimized packet capture
US10104021B2 (en) Electronic mail data modeling for efficient indexing
US8150818B2 (en) Method and system for storing structured documents in their native format in a database
US20070174261A1 (en) Database retrieval apparatus, retrieval method, storage medium, and progam
CN110888837B (zh) 对象存储小文件归并方法及装置
JP4237813B2 (ja) 構造化文書管理システム
US20110113052A1 (en) Query result iteration for multiple queries
US7792866B2 (en) Method and system for querying structured documents stored in their native format in a database
US20080071732A1 (en) Master/slave index in computer systems
JP2002041567A (ja) データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
CN106126555B (zh) 一种文件管理方法及文件***
CN115495462A (zh) 批量数据更新方法、装置、电子设备和可读存储介质
CN114218277A (zh) 一种关系数据库的高效查询方法和装置
JP4091586B2 (ja) 構造化文書管理システム、索引構築方法及びプログラム
JP3260706B2 (ja) パーソナルコンピュータのハードディスクに記憶されたファイルを検索する検索システム
JP4304226B2 (ja) 構造化文書管理システム、構造化文書管理方法及びプログラム
JP2000066933A (ja) 時系列データ管理方式
US20210011881A1 (en) System and method for insertable and removable file system
JP2001101233A (ja) データベース処理装置
Bertino et al. An evaluation of text access methods
CN117216020A (zh) 基于文件的时序数据存储方法、***、设备及介质