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

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

Info

Publication number
JP2000339337A
JP2000339337A JP11150704A JP15070499A JP2000339337A JP 2000339337 A JP2000339337 A JP 2000339337A JP 11150704 A JP11150704 A JP 11150704A JP 15070499 A JP15070499 A JP 15070499A JP 2000339337 A JP2000339337 A JP 2000339337A
Authority
JP
Japan
Prior art keywords
unit
cache
search
range
record
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
JP11150704A
Other languages
English (en)
Inventor
Nobue Momota
伸江 百田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11150704A priority Critical patent/JP2000339337A/ja
Publication of JP2000339337A publication Critical patent/JP2000339337A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 レンジをまたがった検索時に目的とするレコ
ードを取り出す処理において、検索性能を向上させ、更
新時にも検索処理の高速化を実現可能なデータ検索シス
テムを提供する 【解決手段】 キャッシュはある特定のプロセス、表、
レンジ単位に用意されるので、レンジをまたがった検索
処理を継続して実行した場合に、レンジ単位に目的とな
るレコードが自、他のプロセスのキャッシュ領域104
内に読み込まれている場合には、データベースをアクセ
スすることなくキャッシュ領域104内のレコードを比
較する。他のプロセスから更新要求があった場合には、
キャッシュ領域104内のレコードを無効にし、更新を
可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リレーショナルデ
ータベースの単位である表を、ある条件によりデータや
索引を格納する物理的なデータベースを分割しているデ
ータベース検索システムに関し、特に検索結果のキャッ
シュ機能を有し、物理的にまたがってデータベースに対
する検索を行うデータベース検索システムに関する。
【0002】
【従来の技術】従来、この種のデータベース検索システ
ムとしては、例えば特開平10−289135号公報に
開示されるものがあった。図7は、上記公報に開示され
た従来のデータベース検索システムの構成を示すブロッ
ク図である。このデータベース検索システムでは、クラ
イアント605の検索依頼時に、検索結果キャッシュフ
ァイル604とデータベース更新履歴テーブル603と
を参照することにより、キャッシュファイル604上の
今回の検索依頼の検索条件と同一の検索条件の実行日時
以降に変更または追加された内のレコードに対してのみ
検索を実行する。これと同時に、上記実行日時以降に削
除されたデータベース602内のレコードに対応するレ
コードをキャッシュファイル604内の上記同一検索条
件に対応する検索結果レコード群から削除する。そし
て、その結果得られるキャッシュファイル604上の検
索結果レコード群とデータベースに対する今回の新たな
検索の結果得られるレコード群とを結合することによ
り、今回の検索依頼に対する更新された検索結果レコー
ド群を取得し、それをクライアント605に返信する。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来のデータペース検索システムでは、次のような問題点
があった。 (1)キャッシュ領域は有限でありシステム内で共通領
域であるため、再利用される率の低いキャッシュ情報は
キャッシュ領域から追い出されてしまう。その結果、1
つのプロセスに多様な検索を行っている場合には、他の
プロセスに悪影響が生ずることになる。 (2)更新があった場合に、即時にキャッシュ領域中の
検索結果を無効にせずデータベース更新履歴テーブル6
03にデータを登録するため、検索時にデータベース更
新履歴テーブル603を毎回検索しなければならないこ
とである。データベースに対して検索命令を多く実行す
る場合には、このデータベース更新履歴テーブル603
の検索処理によるオーバヘッドにより検索性能の悪化が
懸念される。
【0004】本発明は上記従来の問題点に鑑み、1つの
プロセスに多様な検索を行っている場合において、自プ
ロセスのキャッシュ情報が再利用されて、他のプロセス
に悪影響を与えることを回避可能なデータ検索システム
を提供することを目的とする。また、その他の目的は、
レンジをまたがった検索時に目的とするレコードを取り
出す処理において、検索性能を向上させ、更新時にも検
索処理の高速化を実現可能なデータ検索システムを提供
することである。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明に係るデータベース検索システ
ムでは、リレーショナルデータベースの単位である表
を、所定の条件に基づいて物理的なデータベースに分割
したデータベース検索システムにおいて、前記各データ
ベースに分割された単位であるレンジ単位でレコードを
検索するレンジ単位検索手段と、前記レンジ単位に分割
された表をオープンするときに、所定のプロセス単位及
び/または表単位に用意されたキャッシュ領域をレンジ
単位でシステム共有空間に確保するキャッシュ確保手段
と、前記レンジ単位検索手段によって取り出したレコー
ドを、前記レンジ単位のキャッシュ領域に登録するキャ
ッシュ登録手段と、前記レンジ単位のキャッシュ領域に
登録された各レコードを比較して、目的とするレコード
を抽出するレンジ比較手段とを備えたことを特徴とす
る。
【0006】請求項2記載の発明に係るデータベース検
索システムでは、請求項1記載のデータベース検索シス
テムにおいて、前記レンジ単位検索手段は、ユーザプロ
グラムに記述されている表に対する検索条件に従って、
所定のプロセス単位及び/または表単位に用意されたキ
ャッシュ領域からレンジ単位でレコードを検索するか、
あるいは実際にデータが格納されているデータベースか
らレンジ単位でレコードを検索するかの判断を行って、
レンジ単位で所定のレコードを取り出す構成にしたこと
を特徴とする。
【0007】請求項3記載の発明に係るデータベース検
索システムでは、請求項1または請求項2記載のデータ
ベース検索システムにおいて、前記キャッシュ領域にあ
るレコードに対して、自プロセスまたは他プロセスから
更新要求が生じた場合に、更新対象のレコードを前記キ
ャッシュ領域から検索するキャッシュ検索手段と、前記
キャッシュ検索手段の検索結果である更新対象レコード
を前記キャッシュ領域から無効にするキャッシュ無効手
段とを備えたことを特徴とする。
【0008】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図1は、本発明の実施の形態に係
るデータベース検索システムの構成を示すブロック図で
ある。本実施形態では、ある表をレンジ1からmまで分
割した場合に、これに対応したレンジ単位のデータベー
ス101〜103と、各プロセス及び各レンジ1〜m単
位に用意されるキャッシュ領域104とからなるデータ
ベースシステムを備えている。さらに、このデータシス
テムに対して、各レンジ間にまたがった検索要求をユー
ザプログラム121から実行するに際し、プロセス毎に
キャッシュ領域を用意するキャッシュ確保手段122
と、レンジ単位にレンジ内で目的とするレコードを取り
出すレンジ単位検索手段123と、取り出したレコード
をキャッシュに登録するキャッシュ登録手段124、キ
ャッシュに登録されたレコードを比較するレンジ比較手
段125を備えている。また、更新命令実行時には、更
新対象のレコードをキャッシュから検索するキャッシュ
検索手段127と、見つかったキャッシュ内のレコード
を削除するキャッシュ無効手段126とを備えている。
【0009】次に図2〜図5を参照して本実施形態の動
作(A),(B)について詳細に説明する。 (A)検索命令時の動作 まず、図3に示すように、ユーザプログラム121から
あるレンジ分割している表に対してアクセス要求が実行
されると(図3のステップS1)、キャッシュ確保手段
122が実行され(ステップS2)、該当する表が自プ
ロセスにて、既にキャッシュ領域が確保されているかを
チェックし(ステップS3)、キャッシュ領域が既にシ
ステム共有空間211(図2参照)に確保されていれ
ば、キャッシュ確保手段122は終了する(ステップS
4)。キャッシュ領域が確保されていなければ、新規に
キャッシュ領域をシステム共有空間211にレンジ数個
分確保する(ステップS5)。さらに、システム共有空
間の表名域212を検索し(ステップS6)、同一表に
対して、他のプロセスにてキャッシュ領域が確保されて
いるかどうかを検索を行う(ステップS7)。検索の結
果、既に他のプロセス用に同一表で確保されていれば、
確保済みの他のプロセス空間213に、今回確保したキ
ャッシュ領域214を登録し(ステップS8)、キャッ
シュ確保手段122を終了する。他のプロセスにて領域
が確保されていなければ、新規の表となるので、表名域
212に登録しておき(ステップS9)、キャッシュ確
保手段122を終了する。
【0010】次に図4に示すように、レンジ分割表に対
する検索命令の条件を判断する(図4のステップS1
1)。検索条件があるレンジ内に閉じた検索ならば(ス
テップS12)、キャッシュ領域を使用せず、直接デー
タベースに対してアクセスを行い(ステップS13)、
検索結果を得て、ユーザプログラム121に結果を返却
する(ステップS14)。検索条件がレンジにまたがっ
た検索であった場合、先ほど実行したキャッシュ確保手
段122にてキャッシュ領域が確保されているかをチェ
ックし、キャッシュ領域が確保されていれば、レンジ単
位検索手段123を起動する(ステップS15)。レン
ジ単位検索手段123では、自プロセスの該当レンジの
キャッシュ領域214に、既にレコードが存在するかど
うかを検索する(ステップS16)。検索の結果、既に
レコードが登録されていれば、次のレンジに対してレン
ジ単位検索手段123を起動する(ステップS17)。
レコードが登録されていなければ、システム共有空間2
11から他のプロセスにて使用しているキャッシュ領域
213に対して、目的とするレコードがないかをサーチ
し(ステップS18,ステップS19)、登録されてい
れば、自プロセスの同一レンジのキャッシュ領域214
にレコードを複写する(ステップS20)。他のプロセ
ス空間で該当する表を使用していなければ、他のプロセ
ス空間の情報がないので、データベースからレコードを
読み出す(ステップS21)。また、目的のレコードが
全てのキャッシュ領域に登録されていなければ、同じく
データベースから読み出し、キャッシュ登録手段124
を起動する(ステップS22)。キャッシュ登録手段1
24では、読み出されたレコードを該当のレンジ用のキ
ャッシュ領域214に登録し、次のレンジに対してレン
ジ単位検索手段123を起動する。全レンジ分、レンジ
単位検索処理が完了したら、レンジ比較手段125を起
動し(ステップS23)、キャッシュ領域214内の全
レコード中に目的に合うレコードを選び出し、キャッシ
ュ無効手段126を呼び出す(ステップS24)。キャ
ッシュ無効手段126では、選択されたレンジのキャッ
シュ領域214内のレコードを無効にし、目的のレコー
ドをユーザプログラム121へ返却する(ステップS1
4)。
【0011】(B)更新命令時の動作 図5に示すように、更新命令では(ステップS31)、
キャッシュ検索手段127を起動する(ステップS3
2)。キャッシュ検索手段127では、更新対象のレコ
ードがシステム共有空間211のキャッシュ領域内に登
録されているかどうかを検索する(ステップS33)。
まず自プロセスにてキャッシュ領域214を使用してい
る場合には、自プロセスのキャッシュ領域214をサー
チし、該当するレコードがあればキャッシュ無効手段1
26を起動し(ステップS34)、キャッシュ領域21
4内のレコードを削除する(ステップS35)。次に他
のプロセスがキャッシュ領域に登録されていれば、他の
プロセスのキャッシュ領域213を対象にキャッシュ検
索手段127を再起動する(ステップS36)。全プロ
セス分キャッシュ領域をチェック完了すれば、該当する
レコードを更新して(ステップS37)、完了する(ス
テップS38)。
【0012】本来レンジ分割している表は、レンジ分割
することでそのレンジ内に閉じた検索に対して高速化出
来るようになっている。しかし、多種多様な要求を行う
場合には、レンジ内に閉じた検索条件ではなく、全部の
レンジを対象にすることもある。その結果、目的とする
レコードを読み出すための比較対照とすべくレンジ単位
にデータベースファイルに対してレコードの読み出し要
求が実行されてしまう。これに対して、本実施形態で
は、あるプロセスや表のレンジ単位に専用のキャッシュ
領域を用意することで、レンジをまたがった検索時に目
的とするレコードを取り出す処理にて、各レンジ単位に
一度候補となるレコードを読み出しておけば、次回の読
み出し時にはキャッシュ内にあるレコードを使用するこ
とで、ファイルに対してアクセス要求が出ないことによ
り、検索性能を向上させることが可能である。
【0013】また、キャッシュ領域はプロセス単位に用
意されているため、他のプロセスで多種多様な検索を行
っている結果、自プロセスのキャッシュ情報が再利用さ
れないという悪影響を受けない。
【0014】さらに、更新が実行されれば、更新してい
るプロセス側の処理にて、キャッシュを無効にするた
め、検索/更新が多発する表に対する検索時にも、全検
索処理が悪化することなく利用可能である。
【0015】[本実施形態の具体例]この具体例では、
プロセス1〜3にて実行されるプログラム1,2で本実
施形態を説明する。プロセス1と2で実行するプログラ
ム1では、レンジ分割している表を検索する。プロセス
3にて実行されるプログラム2では、同一表に対して更
新命令を実行している。
【0016】図6は、本具体例の動作を時系列に示す流
れ図である。まず、プロセス1にてプログラム1が起動
され(ステップS51)、表に対してレンジをまたがっ
た検索を実行すると、キャッシュ確保手段122によ
り、システム共有空間211に自プロセスのキャッシュ
領域をレンジ数個分562〜564を確保する。次にレ
ンジ単位検索手段123が起動される(ステップS5
2)。レンジ単位検索手段123では、前記キャッシュ
領域にレコードがなく、また他のプロセスでも同一表に
対するキャッシュ領域がないので、データベースからレ
コードを各レンジ単位に読み出し(ステップS53)、
キャッシュ登録手段124を起動する(ステップS5
4)。キャッシュ登録手段124では、キャッシュ領域
562〜564に読み出したレコードをそれぞれ登録
し、レンジ比較手段125を起動する(ステップS5
5)。レンジ比較手段125では、検索条件を確認し、
各キャッシュ領域から目的にあうレコードを選択し、そ
の結果、キャッシュ領域563のレンジ2のレコード1
が選択されている。選択したキャッシュ領域563のレ
コードをキャッシュ無効手段126にて削除し(ステッ
プS56)、選択したレコードをプログラム1へ返却す
る(ステップS57)。
【0017】次に、プロセス1にてプログラム1実行中
に、プロセス2にて同一プログラムが実行された場合を
想定する(ステップS61)。プロセス2のプログラム
1では、キャッシュ確保手段122にてプロセス2のキ
ャッシュ領域565〜567を確保し、レンジ単位検索
手段123を実行する(ステップS62)。レンジ単位
検索手段123では、目的とするレコードがプロセス1
のキャッシュ領域562,564に登録されているの
で、それぞれキャッシュ領域565,567にレコード
を複写する。レンジ2に関しては、データベースから新
たに読み出し(ステップS63)、キャッシュ登録手段
124を起動する(ステップS64)。
【0018】次に、プログラム1を実行中に、プロセス
3で同一表に対する更新命令を実行するプログラム2が
実行された場合を想定する(ステップS71)。プログ
ラム2では、キャッシュ検索手段127にて、更新要求
されたレンジ1のレコード1がシステム共有空間にある
各キャッシュ領域に登録されているかをチェックする
(ステップS72,ステップS73)。検索した結果、
見つかったので(ステップS74)、レンジ1のレコー
ド1をキャッシュ領域562,565から削除した後
(ステップS75)、レコードの更新を行う(ステップ
S76,ステップS77)。
【0019】その後、プロセス1にて次のレコードを検
索要求した場合(ステップS81)、キャッシュ領域5
62、563内にはレコードが存在しないので、データ
ベースから新たに読み出し(ステップS82)、またキ
ャッシュ領域564は再利用されることで(ステップS
65,ステップS66)、常に最新のデータが読み出さ
れ、かつキャッシュ領域が適時再利用されるになる。
【0020】
【発明の効果】以上詳述したように、本発明によれば、
次のような効果を奏する。 (1)レンジをまたがった検索時に目的とするレコード
を取り出す処理において、各レンジ単位に一度候補とな
るレコードを読み出しておけば、次回の読み出し時には
キャッシュ領域内にあるレコードを使用することで、デ
ータベースに対してアクセス要求が出ないため、検索性
能を向上させることが可能となり、検索処理の高速化を
実現することができる。 (2)キャッシュ領域はプロセス単位に用意されている
ので、他のプロセスで多種多様な検索を行っている結
果、自プロセスのキャッシュ情報が再利用されない、と
いった悪影響を防ぐことができる。 (3)更新が実行されれば、更新しているプロセス側の
処理において、キャッシュ領域内の更新対象レコードを
無効にするため、検索/更新が多発する表に対する検索
時にも、全検索処理が悪化することなく利用可能であ
る。
【図面の簡単な説明】
【図1】 本発明の実施の形態に係るデータベース検索
システムの構成を示すブロック図である。
【図2】 システム共有空間を示す図である。
【図3】 実施形態の検索命令時の動作を示すフローチ
ャートである。
【図4】 実施形態の検索命令時の動作を示すフローチ
ャートである。
【図5】 実施形態の更新命令時の動作を示すフローチ
ャートである。
【図6】 実施形態の具体例の動作を時系列に示す流れ
図である。
【図7】 従来のデータベース検索システムの構成を示
すブロック図である。
【符号の説明】
101〜103 レンジ単位のデータベース 104 キャッシュ領域 105〜107 キャッシュ領域内レコード 108〜111 検索結果 121 ユーザプログラム 122 キャッシュ確保手段 123 レンジ単位検索手段 124 キャッシュ登録手段 125 レンジ比較手段 126 キャッシュ無効手段 127 キャッシュ検索手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 リレーショナルデータベースの単位であ
    る表を、所定の条件に基づいて物理的なデータベースに
    分割したデータベース検索システムにおいて、 前記各データベースに分割された単位であるレンジ単位
    でレコードを検索するレンジ単位検索手段と、 前記レンジ単位に分割された表をオープンするときに、
    所定のプロセス単位及び/または表単位に用意されたキ
    ャッシュ領域をレンジ単位でシステム共有空間に確保す
    るキャッシュ確保手段と、 前記レンジ単位検索手段によって取り出したレコード
    を、前記レンジ単位のキャッシュ領域に登録するキャッ
    シュ登録手段と、 前記レンジ単位のキャッシュ領域に登録された各レコー
    ドを比較して、目的とするレコードを抽出するレンジ比
    較手段とを備えたことを特徴とするデータベース検索シ
    ステム。
  2. 【請求項2】 前記レンジ単位検索手段は、 ユーザプログラムに記述されている表に対する検索条件
    に従って、所定のプロセス単位及び/または表単位に用
    意されたキャッシュ領域からレンジ単位でレコードを検
    索するか、あるいは実際にデータが格納されているデー
    タベースからレンジ単位でレコードを検索するかの判断
    を行って、レンジ単位で所定のレコードを取り出す構成
    にしたことを特徴とする請求項1記載のデータベース検
    索システム。
  3. 【請求項3】 前記キャッシュ領域にあるレコードに対
    して、自プロセスまたは他プロセスから更新要求が生じ
    た場合に、更新対象のレコードを前記キャッシュ領域か
    ら検索するキャッシュ検索手段と、 前記キャッシュ検索手段の検索結果である更新対象レコ
    ードを前記キャッシュ領域から無効にするキャッシュ無
    効手段とを備えたことを特徴とする請求項1または請求
    項2記載のデータベース検索システム。
JP11150704A 1999-05-28 1999-05-28 データベース検索システム Pending JP2000339337A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11150704A JP2000339337A (ja) 1999-05-28 1999-05-28 データベース検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11150704A JP2000339337A (ja) 1999-05-28 1999-05-28 データベース検索システム

Publications (1)

Publication Number Publication Date
JP2000339337A true JP2000339337A (ja) 2000-12-08

Family

ID=15502602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11150704A Pending JP2000339337A (ja) 1999-05-28 1999-05-28 データベース検索システム

Country Status (1)

Country Link
JP (1) JP2000339337A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046807B (zh) * 2006-03-31 2010-04-14 华为技术有限公司 存储数据已读信息的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046807B (zh) * 2006-03-31 2010-04-14 华为技术有限公司 存储数据已读信息的方法及装置

Similar Documents

Publication Publication Date Title
US6546394B1 (en) Database system having logical row identifiers
CN114416798B (zh) 基于数据依赖关系和一致性保证的缓存管理方法及装置
CN109871338B (zh) 一种数据存储方法、装置及计算机设备
JP3484440B2 (ja) 分散型データベース更新方法
JPH0644309A (ja) データベース管理方式
JPH07319742A (ja) 論理削除データ物理削除方式
JP2503361B2 (ja) デ―タベ―ス検索方式
JPH05204729A (ja) データベースアクセス方式
JP3005476B2 (ja) ハッシュテーブルの動的変更システム
JP3022574B2 (ja) データ操作命令閉塞方式
JP2616686B2 (ja) 業務処理中データベース再編成方式
JPH10240744A (ja) レンジ分割表の検索処理方式、検索処理方法および検索 処理プログラムを記録した記録媒体
JPH1173353A (ja) 時刻指定によるトランザクション検索処理装置
JPS633351A (ja) バツフア検索制御方式
JPH03116252A (ja) ソースプログラムの世代管理方式
JPH1097562A (ja) 設計支援システム
JPH11306061A (ja) データベース定義情報のプロセス間共有制御方式
JPS629433A (ja) デ−タベ−スアクセス機構
JP2000172542A (ja) ファイルアクセス方式
JPH01282635A (ja) 索引保守方式
JPH11242589A (ja) プログラム検索システムおよびそのプログラム記録媒体
JPH03189744A (ja) データベース制御方式
JPH06250912A (ja) データベースにおけるデータ編成方法
JPS6327927A (ja) 予約情報検索システムにおけるインデツクス作成方式
JPH05334156A (ja) データ操作命令内クローズ方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040406