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

データ検索システム

Info

Publication number
JPH0830632A
JPH0830632A JP6190028A JP19002894A JPH0830632A JP H0830632 A JPH0830632 A JP H0830632A JP 6190028 A JP6190028 A JP 6190028A JP 19002894 A JP19002894 A JP 19002894A JP H0830632 A JPH0830632 A JP H0830632A
Authority
JP
Japan
Prior art keywords
data
index
index information
access
key value
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
JP6190028A
Other languages
English (en)
Inventor
Takashi Kuramoto
高志 倉本
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 JP6190028A priority Critical patent/JPH0830632A/ja
Publication of JPH0830632A publication Critical patent/JPH0830632A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 大量のデータを格納した場合においても簡易
な処理で高速なアクセススピードを実現し、複数の利用
者がある場合でも検索情報へのアクセスにおけるアクセ
スネックを生じることのないデータ検索システムを提供
すること。 【構成】 データ及び該データの一部の項目で定義され
るキー項目の値の全部又は一部からなり必ずしも前記デ
ータと1対1で対応してはいないキー値と前記データの
格納位置を示すポインタとを対応させた索引情報を格納
する磁気ディスク装置10と、入力されたキー値から前
記索引情報で該キー値に対応付けられたポインタで示さ
れるデータにアクセスするアクセス部30と、前記アク
セス部によるデータへのアクセス頻度を監視し該アクセ
ス頻度に応じて前記キー値を増加し又は減少し該キー値
に対応するデータ数を加減する索引最適化処理を行なう
索引最適化処理部40とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、格納したデータを所定
の索引情報に基づいて検索するデータ検索システムに関
し、特に主として検索のみに利用するデータを格納し索
引情報の構成及び更新手段とデータへのアクセス手段と
に特徴を有するデータ検索システムに関する。
【0002】
【従来の技術】大量のデータの中から目的のデータにア
クセスするファイルシステムやデータベースシステム等
のデータ検索システムは、通常、データと共に目的のデ
ータにアクセスするための索引情報を格納している。こ
のような索引情報を有するデータ検索システムとして
は、索引順編成ファイル、主キーを持つ関係型データベ
ースの表などがある。
【0003】一般に、索引情報はアクセスしようとする
データを特定するキー値と該データの格納位置を示すポ
インタとを対応付けてなり、管理対象のデータを所定の
規則で分類し必要に応じて階層構造をとっている。
【0004】従来、このような索引情報は、指定された
キー値に基づく一回のアクセスで目的のデータを取得で
きるように、索引情報とデータとが1対1で対応してお
り、データの更新があれば即時に索引情報も更新する
(以下、索引情報とデータとのこのような関係を密な関
係又は密な結合と呼び、索引情報とデータとが必ずしも
1対1で対応していない場合やデータの更新が即時に索
引情報に反映されない場合を粗な関係又は粗な結合と呼
ぶ)。すなわち索引情報としては、格納されている全て
のデータに対応してキー値を持ち該キー値毎にデータの
格納位置を示すポインタ(記憶装置における物理的な格
納位置を示す物理的ポインタとデータ間の相対的な位置
関係を示す論理的ポインタの双方を含む)を持っている
か、又はデータが格納される記憶装置における物理的な
アクセス単位(ブロック)ごとに当該ブロックの代表デ
ータのキー値と該データのポインタとを持っている。図
7に従来のデータ検索システムで用いる索引情報の構成
例を示す。
【0005】上述したように従来のデータ検索システム
は、索引情報とデータとが密な関係を持っているため、
データ件数が多くなると索引情報の量も大きくなり、索
引情報が階層構造を有する場合には当該索引情報の階層
も増えるために目的のデータを検索するための索引情報
へのアクセス回数が増えていた。
【0006】また上記従来のデータ検索システムでは、
索引情報とデータとが密に結合していることから、索引
情報とデータとの整合性が常にとれている状態にするた
め、データ部に対しデータの追加や削除をする時、同時
に索引情報の更新を行なっていた。
【0007】さらにデータ検索システムでは、同時に複
数の利用者からのアクセス要求を高速に処理するため
に、索引部及びデータ部を複数の物理装置に分散して構
成する場合がある。このようなデータ検索システムにお
いて上記のようにデータの更新と索引情報の更新とを同
期させる場合、索引情報の更新を含む一連の更新処理が
終了するまで(トランザクションが終了してコミットを
実行するまで)索引情報の更新対象部分をロックし、他
の利用者からのアクセスを禁止していた。
【0008】一方、従来でも一部のデータ検索システム
では、上述したデータの更新と索引情報の更新とを同期
させる場合に生じる、アクセスの禁止によるアクセスネ
ック(利用者の記憶装置へのアクセス待ち)の発生とい
う問題を解決するために、索引情報の更新をデータの更
新と非同期に行う遅延更新(索引情報とデータとの関係
は粗になる)を実現しているものもある。しかし、かか
るシステムでは索引情報とデータとの整合性が常にとれ
ているという利点を失うこととなるため、索引情報の更
新とデータの更新とを同期させるか否かはシステムの利
用形態によって選択されていた。例えば、時系列データ
で過去のデータの更新はほとんど無く大量のデータを順
次検索するケースが多いファイルなどのように、主とし
て検索のみに利用するデータが多いシステム、特に二つ
の伝票発行日付の間のデータを抽出して集計するなどの
ように、一つのキー値の間のデータを抽出する利用方法
の多いシステムでは、索引情報とデータとが多少整合性
を欠いていても不都合は少ないため、更新を非同期に行
なう場合があった。
【0009】また、従来のデータ検索システムでは、ア
クセススピードを向上するために、索引情報やデータの
一部を半導体メモリなどの高速な記憶装置に格納してア
クセス処理を行なうこと(キャッシング)が実現されて
いる。
【0010】
【発明が解決しようとする課題】上述したように従来の
データ検索システムは、索引情報とデータとが密な関係
を有しているため、データ件数が増えると索引情報に格
納するキー値の数が増え、索引情報が階層構造を有して
いる場合は索引情報の階層も増えるため、目的のデータ
にアクセスするまでに索引情報に複数回アクセスしなけ
ればならず処理が煩雑になるという欠点があった。
【0011】また、キャッシングにより索引情報の一部
を高速な記憶装置に格納するとしても、索引情報の量が
大きくなれば、索引情報全体のうち高速な記憶装置に格
納される索引情報の割合も小さくなり、要求される十分
なアクセススピードを実現できない場合が多かった。
【0012】また、階層の多い索引情報を更新する場合
には、索引情報の更新する部分が増え、更新処理が全て
終了するまで他の利用者のアクセスが長時間禁止されて
アクセスネックが発生したり、排他エラーによる処理の
取消し(ロールバック)が発生したりするという欠点が
あった。
【0013】さらに、管理するデータを物理的に複数の
記憶装置に分散し複数の利用者からのアクセス要求を並
行して処理できる様にしても、上記のように索引情報へ
のアクセスの段階でアクセスネックが発生すると、結局
更新処理を全て終了するまでは他の利用者はデータにア
クセスできず十分な効果を期待できなかった。
【0014】本発明は、上記従来の欠点を解消し、大量
のデータを格納した場合においても簡易な処理で高速な
アクセススピードを実現し、複数の利用者がある場合で
も検索情報へのアクセスにおけるアクセスネックを生じ
ることのないデータ検索システムを提供することを目的
とする。
【0015】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は、データ及び該データの一部の項目で定義
されるキー項目の値の全部又は一部からなり必ずしも前
記データと1対1で対応してはいないキー値と前記デー
タの格納位置を示すポインタとを対応させた索引情報を
格納する記憶装置と、入力されたキー値から前記索引情
報で該キー値に対応付けられたポインタで示されるデー
タにアクセスするアクセス部と、前記アクセス部による
データへのアクセス頻度を監視し該アクセス頻度に応じ
て前記キー値を増加し又は減少し該キー値に対応するデ
ータ数を加減する索引最適化処理を行なう索引最適化処
理部とを備える構成としている。
【0016】また、他の態様では、前記索引情報を高速
な記憶装置に格納し、前記索引最適化処理部が、前記索
引情報のデータ量が前記高速な記憶装置の記憶容量を越
えない範囲で最適化処理を行なう構成としている。
【0017】また、他の態様では、前記高速な記憶装置
を半導体メモリによって構成している。
【0018】また、他の態様では、前記アクセス部が、
前記索引情報で該キー値に対応付けられたポインタで示
されるデータが複数ある場合に該複数のデータを目的の
データにアクセスするまで順次アクセスする構成として
いる。
【0019】
【作 用】本発明のデータ検索システムは、データ部と
索引部との結合を粗にし、かつ、利用者のデータのアク
セス内容に基づいてシステム運用者の指示により索引部
チューニング制御部を用いてアクセススピードが最適に
なる様に索引部の再構成を実行することにより、データ
部に格納されたデータの量が大きくなっても索引部の容
量を適当な大きさに維持し、索引部全体を常に高速な記
憶装置に格納することができる。
【0020】また、索引部の更新をデータ部の更新と非
同期に行うことにより、データ部の更新中にもアクセス
ネックが発生せず、他の利用者が索引部へアクセスする
ことができる。
【0021】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。図1は、本発明の一実施例に係るデータ検
索システムの構成を示すブロック図である。
【0022】図示のように、本実施例のデータ検索シス
テムは、データ及び索引情報を格納する磁気ディスク装
置10と、高速な記憶装置である半導体メモリ20と、
磁気ディスク装置10に格納されたデータにアクセスす
るアクセス部30と、必要に応じて索引情報を更新する
索引最適化処理部40とを備える。なお、本実施例に管
理されるデータファイルは、索引順に編成され、個々の
データの追加、削除等の更新はあまり行なわれない索引
順編成ファイルとする。
【0023】磁気ディスク装置10は、種々のデータを
格納するデータ部11とデータ部11に格納されたデー
タの中から目的のデータにアクセスするための索引情報
を格納する索引部12とを備える。
【0024】データ部11は、データの内容を示す項目
やデータ間の関係を示し連続するデータを順次検索する
ために用いられるチェーン項目等の幾つかの項目からな
るレコードを単位としてデータを格納している。また、
データを特定するためのキー項目をレコード内の一部の
項目で定義している。本実施例では数個のレコードで物
理的なアクセスの単位(ブロック)を構成している。そ
して、各物理アクセス単位毎にアドレス(格納位置)が
設定され、磁気ディスク装置10へのアクセスはこの物
理アクセス単位ごとに行なわれる。データ部11の構成
例を図2に示す。なお、同図ではキー項目を各レコード
の最初の10バイトとし、キー項目以外の各項目を省略
している。
【0025】索引部12は、データ部11に格納された
データ中のキー項目の値の全部又は一部からなるキー値
と当該データのデータ部11における格納位置を示すポ
インタとを対応させた索引情報を格納する。索引部12
に格納されるキー値とデータ部11に格納されるデータ
とは粗な関係を有する。すなわち、必ずしも1対1で対
応しておらず、1つのキー値に複数のデータが対応して
いる場合やキー値に対応するデータが存在しない場合も
ある。また、索引情報の更新はデータの更新とは独立し
て行なわれる。索引部12の構成例を図3に示す。な
お、同図ではキー値を5バイトとしキー項目の最初の5
バイト分の値で構成している。キー値のバイト数として
は図示の5バイト以外にも種々のバイト数を選択するこ
とができるのは言うまでもない。初期的には、1つのキ
ー値が指し示すデータ数又はデータ部11の物理的なア
クセス単位の数がほぼ一定になるように設定にする。*
で示した1バイトのデータはキー値がキー項目の全部か
一部かの別を示すフラグであり、例えば、キー項目の1
0バイト全部からなる場合を0、一部からなる場合を1
というように定めておく。
【0026】半導体メモリ20は、本実施例のシステム
の起動時等に索引部12に格納された索引情報を全部読
み込んで格納する。索引部12の更新があったときは所
定のタイミングで更新された最新の索引情報を索引情報
12から読み込む。
【0027】アクセス部30は、利用者によってキーボ
ード等の入力装置から入力されたキー値に基づいて半導
体メモリ20の索引情報を検索し、得られたポインタに
示されたアドレスに基づいて磁気ディスク装置10のデ
ータ部11を検索して目的のデータにアクセスする。本
実施例では索引情報のキー値とデータとの関係が粗であ
るため、入力されたキー値による索引情報の検索のみで
は目的のデータの格納位置が一意的に決まるとは限らな
い。そこで図4のフローチャートに示すように、索引情
報の検索の後にデータ部を検索して目的のデータにアク
セスする必要がある。
【0028】すなわち、キー値の入力によるデータへの
アクセス要求(ステップ401)に基づいて索引情報を
検索した後(ステップ402)、磁気ディスク装置10
にアクセスして索引情報の検索で得られたポインタに示
されるアドレスのデータを検索し(ステップ403)、
さらにデータ間の関係を示すチェーン項目を参照して目
的のデータにアクセスするまで順次データへのアクセス
を繰り返す(ステップ404、405)。そして、目的
のデータにアクセスした場合、所定のデータ処理を行な
う(ステップ406)。目的のデータが存在しない場合
は、利用者にデータが存在しないことを通知して処理を
終了したり次の処理の命令待ちの状態となる等の種々の
設定をすることができる。
【0029】索引最適化処理部40は、アクセス部30
によるデータへのアクセス頻度を監視しデータの追加、
削除、変更の回数をキー値ごとに記憶する。そして、適
当なタイミングで記憶したデータの追加、削除、変更の
頻度に応じてキー値のバイト数を増加し又は減少し該キ
ー値に対応するデータ数を加減する索引最適化処理を行
なう。索引最適化処理について、図5及び図6のフロー
チャートを参照し、更に詳細に説明する。
【0030】まず、データの追加、削除、変更の多いキ
ー値の範囲aを求める(ステップ501)。そして、当
該キー値の範囲aにつきキー値とデータとを1対1で対
応させた場合に必要な索引情報のデータ量を求める(ス
テップ502)。次に、範囲a以外のキー値に対応する
データのデータ量を求める(ステップ503)。次に、
半導体メモリ20に索引情報を全て格納することを前提
として索引情報がいくつ作成できるか仮定し(ステップ
504)、仮定した索引情報の個数から索引情報に対応
するデータ部11における物理アクセス単位の個数bを
算出する(ステップ505)。そして、磁気ディスク装
置10へのアクセス速度を考慮して索引情報に対応する
物理アクセス単位の個数bが妥当な範囲にあるかどうか
調べる(ステップ506)。妥当な範囲でない場合、デ
ータと1対1で対応させるキー値の範囲を変更して必要
な索引情報のデータ量を求め直し、物理アクセス単位の
個数bが妥当な範囲となるまで同処理を繰り返す(ステ
ップ507、508)。
【0031】物理アクセス単位の個数bが妥当な範囲と
なった場合、次に、物理アクセス単位毎にデータを読取
り、キー値のリストを作成して記録する(ステップ60
1)。次に、物理アクセス単位の個数bを満足するよう
にキー値のバイト数を作成したキー値リストの各項目に
ついて決定する(ステップ602)。次に、各キー値の
バイト数を利用して索引情報全体のデータ量を算出し
(ステップ603)、算出された索引情報のデータ量と
半導体メモリ20の容量との差を求める(ステップ60
4)。半導体メモリ20の記憶容量が索引情報のデータ
量に比して十分に大きく余裕があり過ぎる場合には、物
理アクセス単位の個数bを計算し直し、半導体メモリ2
0の記憶容量と索引情報のデータ量との差が適当に小さ
くなるまで同処理を繰り返す(ステップ605)。
【0032】以上のようにして、索引情報の最適化処理
が行なわれる。これによって、データの追加、削除、更
新の頻度の大きいキー値の範囲では索引情報のデータ量
が大きくなり、データの追加、削除、更新の頻度の小さ
いキー値の範囲では索引情報のデータ量が小さくなるた
め、目的のデータへのアクセス効率が向上する。このよ
うに、データの追加、削除、更新の多少を索引情報のデ
ータ量の加減の基準とする手段の有効性は、データの追
加、削除、更新の多いキー値の範囲は、キー値1件を指
定した検索要求も多く、そうでない部分はキー値1件を
指定した検索要求も少ないというデータ利用の局所性を
根拠としている。
【0033】なお、索引情報の大きさを半導体メモリ2
0の記憶容量に近づけるのは、索引情報が大きいほどキ
ー値に対応するデータの範囲を絞ることができるため目
的のデータへのアクセスを効率よく行なうことができる
からである。また、上述した索引最適化処理を行なうタ
イミングは、格納されたデータの種類やデータ検索シス
テムの利用態様によって任意に設定することができる。
【0034】次に、図2、図3、及び図7を参照して、
本実施例と従来技術における索引情報のデータ量の大き
さと目的のデータにアクセスするまでのアクセス回数を
比較する。図7はデータと索引情報とが密な関係を有す
る従来のデータ検索システムで図2のデータを管理する
場合の索引部の構成例を示す。
【0035】従来のデータ検索システムではデータの物
理アクセス単位(ブロック)毎に1つずつ索引情報が作
成される。すなわち図7の例では、図2の物理アクセス
単位の数20個に対し、同数の20個の索引情報が作ら
れる。図示のように、キー項目の長さが10バイトで当
該データのアドレスを示すポインタの長さが4バイトと
すると、図2のアドレスNからアドレスN+19までを
指し示す索引部102の大きさは、 (10バイト+4バイト)X20=280バイト となる。
【0036】これに対し、本実施例によれば索引情報の
キー値にキー項目の全ての値を持つ必要は無く、図3の
例では5バイトに縮小されている。したがって、キー値
が縮小されている事を示すフラグに1バイト必要とし、
ポインタの長さ4バイトとすれば、図2のアドレスNか
らアドレスN+19までを指し示す索引部12の大きさ
は、 (1バイト+5バイト+4バイト)×2=20バイト となる。なお本実施例では、キー値が92021である
データ、すなわちキー項目が9202200000より
も小さい値のデータならばアドレスN+20以降あって
も上記20バイトの大きさの索引部12で管理できる。
【0037】さらに、図2のような構成でデータ長(レ
コード長)を500バイトとし物理アクセス単位を約4
Kバイトとすると、100万件のデータレコードを格納
するのに必要なデータ部11の記憶容量は500Mバイ
トで、物理アクセス単位のブロックの数は125000
個となる。実際にはデータ部に隙間無くデータが詰め込
まれることは少ないため、必要な物理アクセス単位を1
50000個として上記と同様の計算をすると、従来の
データ検索システムにおける索引部102を格納するの
に必要な記憶容量は、 (10バイト+4バイト)×150000=2100K
バイト となる。
【0038】また、索引部102の物理アクセス単位も
4Kバイトとすると、索引部102の物理アクセス単位
のブロック1個に格納できる索引情報の数は最大で約2
90個となる。したがって、100万件のデータを格納
するのに必要な物理アクセス単位のブロックの数は34
50個である。索引部102を階層構造にする場合、2
90個のブロックごとに1個のブロックを対応させて索
引情報を格納し2番目の階層を構成すれば、最下層のブ
ロック数が3450個あるから、これら全てに対応する
2番目の階層のブロック数は12個である。そして、同
様に2番目の階層のブロックに対応する最上層の1個の
ブロックを設けるため、索引部102の階層構造は全部
で3階層になる。
【0039】これに対し、本実施例で同様の計算を行な
うと、上記のように5バイトのキー値でデータを管理
し、キー値が均等にばらついており、1個のキー値が平
均10個のデータの物理アクセス単位のブロックに対応
するとすれば、上記と同様に100万件のデータレコー
ドを格納するのに必要な物理アクセス単位のブロックの
数は15000個となり、索引部12を格納するのに必
要な記憶容量は、 (6バイト+4バイト)X15000=150Kバイト となる。150Kバイト程度の大きさの索引部であれ
ば、その全てを半導体メモリ20に格納することも容易
である。
【0040】さらに、索引部12の物理アクセス単位を
4Kバイトとすると、索引部12の物理アクセス単位の
ブロック1個に格納できる索引情報の数は最大で400
個である。索引部12を階層構造にする場合、1個の索
引情報に約10個のデータレコードが対応していること
を考慮して、最下層に必要なブロック数は250個とな
る。したがって、最下層の250個のブロックに対応す
る最上層の1個のブロックを設けて、索引部12の階層
構造は2階層になる。
【0041】次に、上記従来のデータ検索システムと本
実施例とについて、具体的に2個のキー値の間の20件
のデータにアクセスする場合の磁気ディスク装置10へ
の物理的なアクセス回数を試算する。まず従来のデータ
検索システムでは、索引部102へのアクセス回数が1
〜2回、データ部11へのアクセス回数が3〜5回であ
る。一方、本実施例では、索引部12へのアクセス回数
が0回、データ部11へのアクセス回数が3〜6回であ
る。双方の結果を比較すると、本実施例では物理アクセ
スの回数が1〜2回分少なくなっている。なお、データ
部11へのアクセス回数に幅があるのは、データが物理
アクセス単位のブロックに隙間無く格納されているとは
限らないためである。また従来のデータ検索システムに
おいて索引部102へのアクセス回数に幅があるのは、
3階層の索引部の内2階層目の索引が半導体メモリ20
に残っている場合があるためである。本実施例では索引
情報の検索は全て半導体メモリ20へのアクセスで終了
しているため索引部12へのアクセス回数は0回となっ
ている。
【0042】同様に、1個のキー値を指定して1件のデ
ータを検索する場合、従来のデータ検索システムでは、
索引部102へのアクセス回数が1〜2回、データ部1
1へのアクセス回数が1回である。一方、本実施例で
は、索引部12へのアクセス回数が0回、データ部11
へのアクセス回数が1〜10回(平均5回)である。こ
れらを比較すると、本実施例では物理アクセスの回数が
2〜3回分多くなっている。これは本実施例の索引情報
とデータとの関係が粗であるために発生する弊害であ
る。そこで本実施例では、このような検索を頻繁に行な
うデータに対して、索引最適化処理部40によって索引
情報とデータとの関係を1対1に近づけ、このような弊
害を回避する。
【0043】また、2個のキー値の間の100件のデー
タを検索する場合、従来のデータ検索システムでは、索
引部102へのアクセス回数が1〜2回、データ部11
へのアクセス回数が13〜20回である。一方、本実施
例では、索引部12へのアクセス回数が0回、データ部
11へのアクセス回数が13〜30回である。これらを
比較すると、本実施例の方が物理アクセスの回数が多く
なる場合がある。これは索引部12へのアクセスを行な
わないことによる物理アクセスの回数の減少よりも、索
引情報とデータとの関係が粗であるために発生する弊害
に基づくデータ部11へのアクセス回数の増加が上回る
ためである。ただしこの弊害は一回の処理要求でアクセ
スするデータ件数が増加する程無視できるようになる。
【0044】以上の例でわかる様に、本実施例では索引
情報がすべて半導体メモリ20に格納されているため、
索引情報の検索のために磁気ディスク装置10へ物理的
にアクセスする回数は常に0回となる。これは低速な物
理アクセスが発生しないということだけでなく、そのア
クセスで発生しやすい物理アクセス待ち列を0にすると
いうことを意味する。また、一般に索引部12の容量は
データ部11に比べ十分に小さく索引部12への物理ア
クセスの競合を避けるために索引部12を複数の磁気デ
ィスク装置10に分散させることは難しいため、複数の
利用者からの索引情報へのアクセス要求が同時に発生す
るケースでは、索引情報の検索の段階で磁気ディスク装
置10へアクセスしないことによるアクセス時間の短縮
の効果はデータ部11への物理アクセス数回分に相当す
る。さらに索引部12の索引情報の更新は、索引部最適
化処理部40がデータ部11におけるデータの更新とは
非同期に行い、かつ運用管理者が最適な運用条件になる
様に調整し、索引情報の半導体メモリ20への転送も別
途に設定されたタイミングで行うので、索引部の更新に
よるアクセスネックが発生せず、これによるアクセス時
間短縮の効果はデータ部11への物理アクセス数回から
数十回分に相当する。
【0045】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。例えば、本実施例では対象とするデータファ
イルを索引順編成ファイルとしたが、これ以外にも主と
して検索のみに利用するデータの多いデータファイルに
ついて利用することができる。また、本実施例ではデー
タの追加、削除、更新の多少を索引情報のデータ量の加
減の基準としたが、データの検索の多少を基準としたり
これらすべてを含むデータへのアクセス回数の多少を基
準としたりすることもできる。また、本実施例では索引
部12を磁気ディスク装置10上で作成しシステムの起
動時等の所定のタイミングで半導体メモリ20へ転送す
るようにしているが、初めから半導体メモリ20上に作
成するようにしてもよい。
【0046】
【発明の効果】以上説明した様に本発明では、索引情報
とデータとの結合を粗にしたことにより、索引情報のす
べてを常に高速な半導体メモリに格納できるため、索引
情報を検索する際に低速な物理アクセスの回数を0回に
することができ、索引情報へのアクセススピードを高速
化できるという効果を有する。
【0047】また、索引情報のすべてを半導体メモリに
格納しているため、索引情報へのアクセス要求が複数の
利用者から同時に発生しても磁気ディスク装置へのアク
セスが無いので、磁気ディスク装置への物理アクセス要
求待ち列が発生せず、磁気ディスク装置への物理アクセ
スにおけるアクセスネックの発生を排除することができ
る。
【0048】また、索引情報の更新をデータの更新と非
同期に行うため、索引情報の更新時の索引情報へのアク
セス禁止によるアクセスネックやロールバックの発生を
排除することができる。
【図面の簡単な説明】
【図1】 本発明の一実施例に係るデータ検索システム
の構成を示すブロック図である。
【図2】 図1のデータ部の構成例を示す図である。
【図3】 図1の索引部の構成例を示す図である。
【図4】 本実施例のデータ検索処理を示すフローチャ
ートである。
【図5】 本実施例の索引部作成処理を示すフローチャ
ートである。
【図6】 本実施例の索引部作成処理を示すフローチャ
ートである。
【図7】 従来のデータ検索システムの索引部の構成例
を示す図である。
【符号の説明】
10 磁気ディスク装置 11 データ部 12 索引部 20 半導体メモリ 30 アクセス制御部 40 索引部最適化処理部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 データ及び該データの一部の項目で定義
    されるキー項目の値の全部又は一部からなり必ずしも前
    記データと1対1で対応してはいないキー値と前記デー
    タの格納位置を示すポインタとを対応させた索引情報を
    格納する記憶装置と、 入力されたキー値から前記索引情報で該キー値に対応付
    けられたポインタで示されるデータにアクセスするアク
    セス部と、 前記アクセス部によるデータへのアクセス頻度を監視し
    該アクセス頻度に応じて前記キー値を増加し又は減少し
    該キー値に対応するデータ数を加減する索引最適化処理
    を行なう索引最適化処理部とを備えることを特徴とする
    データ検索システム。
  2. 【請求項2】 前記索引情報を高速な記憶装置に格納
    し、 前記索引最適化処理部が、前記索引情報のデータ量が前
    記高速な記憶装置の記憶容量を越えない範囲で最適化処
    理を行なうことを特徴とする請求項1に記載のデータ検
    索システム。
  3. 【請求項3】 前記高速な記憶装置が半導体メモリであ
    ることを特徴とする請求項2に記載のデータ検索システ
    ム。
  4. 【請求項4】 前記アクセス部が、前記索引情報で該キ
    ー値に対応付けられたポインタで示されるデータが複数
    ある場合に該複数のデータを目的のデータにアクセスす
    るまで順次アクセスすることを特徴とする請求項1に記
    載のデータ検索システム。
JP6190028A 1994-07-20 1994-07-20 データ検索システム Pending JPH0830632A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6190028A JPH0830632A (ja) 1994-07-20 1994-07-20 データ検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6190028A JPH0830632A (ja) 1994-07-20 1994-07-20 データ検索システム

Publications (1)

Publication Number Publication Date
JPH0830632A true JPH0830632A (ja) 1996-02-02

Family

ID=16251175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6190028A Pending JPH0830632A (ja) 1994-07-20 1994-07-20 データ検索システム

Country Status (1)

Country Link
JP (1) JPH0830632A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752955A (zh) * 2020-06-29 2020-10-09 深圳前海微众银行股份有限公司 数据处理方法、装置、设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62296226A (ja) * 1986-06-16 1987-12-23 Fujitsu Ltd インデツクス順編成フアイルのインデツクス処理方式
JPH04350741A (ja) * 1991-05-29 1992-12-04 Nec Eng Ltd 索引順編成ファイルのアクセス高速化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62296226A (ja) * 1986-06-16 1987-12-23 Fujitsu Ltd インデツクス順編成フアイルのインデツクス処理方式
JPH04350741A (ja) * 1991-05-29 1992-12-04 Nec Eng Ltd 索引順編成ファイルのアクセス高速化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752955A (zh) * 2020-06-29 2020-10-09 深圳前海微众银行股份有限公司 数据处理方法、装置、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US5404510A (en) Database index design based upon request importance and the reuse and modification of similar existing indexes
US9672235B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
JP5922716B2 (ja) 個別にアクセス可能なデータユニットの記憶の取り扱い方法
US5265244A (en) Method and system for facilitating processing of statistical inquires on stored data accessible through a data access structure
US6516320B1 (en) Tiered hashing for data access
US7418544B2 (en) Method and system for log structured relational database objects
US7337199B2 (en) Space management of an IMS database
US9495398B2 (en) Index for hybrid database
CA2281287C (en) Method and system for efficiently searching for free space in a table of a relational database having a clustering index
US8380702B2 (en) Loading an index with minimal effect on availability of applications using the corresponding table
US6859808B1 (en) Mapping logical row identifiers for primary B+tree-like structures to physical row identifiers
US8108431B1 (en) Two-dimensional data storage system
US8682872B2 (en) Index page split avoidance with mass insert processing
WO2011113488A1 (en) Method for database storage of a table with plural schemas
US20040078398A1 (en) System and method to enhance availability of a relational database
WO2012114402A1 (ja) データベース管理装置及びデータベース管理方法
US7043491B1 (en) Partition exchange technique for operating a data warehousing system
JPH0830632A (ja) データ検索システム
US6760713B2 (en) Method, computer program product, and system for file and record selection utilizing a fuzzy data record pointer
US7444338B1 (en) Ensuring that a database and its description are synchronized
US8510269B2 (en) Uninterrupted database index reorganization/movement
JPH0225946A (ja) ファイル管理装置
Zabback et al. Office documents on a database kernel—filing, retrieval, and archiving
JP2643850B2 (ja) ファイル処理装置
JPH04199338A (ja) データベース管理システム