JPH04330534A - ファイル検索システム - Google Patents

ファイル検索システム

Info

Publication number
JPH04330534A
JPH04330534A JP3100845A JP10084591A JPH04330534A JP H04330534 A JPH04330534 A JP H04330534A JP 3100845 A JP3100845 A JP 3100845A JP 10084591 A JP10084591 A JP 10084591A JP H04330534 A JPH04330534 A JP H04330534A
Authority
JP
Japan
Prior art keywords
file
record
index information
index
memory
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
JP3100845A
Other languages
English (en)
Inventor
Tetsuo Kikuchi
菊地 哲男
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3100845A priority Critical patent/JPH04330534A/ja
Publication of JPH04330534A publication Critical patent/JPH04330534A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はファイル検索システム
に関し、特に索引を用いてファイルデータを検索するフ
ァイル検索システムに関する。
【0002】
【従来の技術】近年、索引を用いてファイルデータを検
索するファイル検索システムが種々開発されている。こ
のファイル検索システムは、索引を用意することによっ
てファイルからレコードを効率良く取り出す構成のもの
である。
【0003】すなわち、この索引を用いたファイル検索
システムにおいては、データファイルにレコードを書き
出す時には、レコード中のデータ項目とデータファイル
上の格納位置との対応を示す索引が作成され、それが索
引ファイルに登録される。そして、データファイルから
レコードを読み込む時には、索引ファイル上の索引を用
いてレコードの格納位置が調べられ、その格納位置のレ
コードが読み出される。
【0004】このように、索引を用いたレコード検索を
行えば、レコードの格納位置を知ることによって、デー
タファイルから直接的にレコードを読み出すことができ
、レコードの検索効率を高めることができる。
【0005】最近では、さらにレコードの検索効率を高
めるため、1個のデータ項目だけでなく、レコードに含
まれる複数種類のデータ項目について索引が付与される
場合が増えている。
【0006】例えば、会社内の人事管理システム等で使
用されるデータベースのファイルにおいては、そのファ
イル内の従業員レコードに含まれるデータ項目のうち、
従業員番号を示すデータ項目、入社年月日を示すデータ
項目、従業員名を示すデータ項目、および給与を示すデ
ータ項目にそれぞれ索引が設定される。この様にすれば
、従業員番号、入社年月日、従業員名、および給与のど
れを用いても、必要なレコードを探し出すことが可能と
なり、効率良く検索を行うことができる。
【0007】しかしながら、このように索引のためのデ
ータ項目を複数種類設定した場合には、索引ファイル上
に作成すべき索引情報の種類も増えるので、データファ
イルにレコードを書き出す時には、索引ファイルに対し
て索引の種類(数)だけ索引情報を書き込む必要が生じ
る。
【0008】このため、例えば、前述のようにレコード
に従業員番号、入社年月日、従業員名、および給与の4
種類の索引を設定した場合には、レコードをデータファ
イルに書き込む度に、索引ファイルに対して4回の書き
込みを行うことが必要となる。
【0009】したがって、一人の従業員レコードをデー
タファイルに登録するのに必要な全体の書き込み回数は
、データファイルへの従業員レコードの書き込み(1回
)を含めると、全部で5回となる。
【0010】以上のように、複数種類の索引を設定する
と、レコードの検索効率を向上できる反面、索引ファイ
ルに対する書き込み回数の増加を招くことになる。この
ため、複数種類の索引が設定されている場合には、デー
タファイルを更新(例えば、レコードの挿入や変更)す
る度に、何回も索引ファイルにデータを書き込まなけれ
ばならず、レコードの挿入や変更処理に時間がかかると
いう不具合が引き起こされる。
【0011】
【発明が解決しようとする課題】従来では、複数種類の
索引を設定すると、レコードの検索効率を向上できる反
面、レコードの挿入や変更処理に時間がかかる欠点があ
った。
【0012】この発明はこのような点に鑑みてなされた
もので、レコードに設定された索引の数によらず、レコ
ードの挿入や変更処理を高速に実行することができるフ
ァイル検索システムを提供することを目的とする。
【0013】
【課題を解決するための手段および作用】この発明によ
るファイル検索システムは、複数のレコードから構成さ
れるファイルデータを記憶する第1ファイルと、前記第
1ファイル上における前記複数のレコードの格納位置を
、それらレコードに含まれる所定のデータ項目に対応づ
けて示す索引情報を記憶する第2ファイルと、前記第1
ファイル上のファイルデータを検索する検索手段と、前
記第1ファイルに対するレコードの挿入または変更を行
うデータ更新手段と、前記レコードの挿入または変更が
実行される度、前記挿入または変更対象の新レコードに
対応する索引情報を作成して主記憶上に蓄積する手段と
、システム停止時に、前記主記憶上に蓄積されている索
引情報を前記第2ファイルに書き込み前記第2ファイル
の索引情報を再構成する手段とを具備することを特徴と
する。
【0014】このファイル検索システムにおいては、レ
コードの挿入または変更が実行される際に、その挿入ま
たは変更対象の新レコードに対応する索引情報はメモリ
上に蓄積されるだけで、第2ファイルには書き込まれな
い。メモリ上に蓄積されている索引情報は、システム停
止時に第2ファイルに書き込まれ、これによりその第2
ファイルの索引情報の再構成が行われる。したがって、
レコードに複数種類の索引が設定されている場合でも、
レコードの挿入または変更時にはそのレコードが第1フ
ァイルに書き込まれるだけで第2ファイルへの書き込み
は実行されないので、レコードに設定された索引の数に
よらずに、レコードの挿入または変更を高速に実行する
事ができる。
【0015】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
【0016】図1にはこの発明の一実施例に係わるファ
イル検索システムのシステム構成が示されている。この
ファイル検索システムは、CPU、主記憶、および磁気
ディスク装置等を備えたコンピュータシステム上に実現
されるものであり、制御部11、メモリ12、索引ファ
イル記憶部13、データファイル記憶部14、およびバ
ッテリバックアップ機構15から構成されている。
【0017】制御部11は、CPUによって構成される
ものであり、所定のプログラムにしたがって、データフ
ァイルの検索処理を初め、そのデータファイルにおける
レコードの更新処理(変更、挿入、削除)を実行する。 レコードの変更、挿入処理の実行時においては、制御部
11は、変更または挿入すべきレコードに対応する索引
情報を生成し、それをメモリ12に蓄積する。また、検
索処理時においては、制御部11は、まずメモリ12の
索引情報を調べ、この索引情報に該当する索引がない場
合に、索引ファイル記憶部13の索引情報を調べる。メ
モリ12は、主記憶内の一部に割り当てられた記憶領域
であり、変更または挿入対象の新たなレコードに対応す
る索引情報を一時的に保持する。
【0018】索引ファイル記憶部13は、磁気ディスク
装置から構成されるものであり、データファイル記憶部
14のデータファイルを検索するための索引情報が格納
されている。この索引情報は、データファイルを構成す
るレコード中のデータ項目とデータファイル上の格納位
置との対応を示すものであり、これはレコード中に設定
される索引の種類毎にそれぞれ設けられる。この索引情
報の具体例については図2を参照して後述する。
【0019】データファイル記憶部14は、磁気ディス
ク装置から構成されるものであり、複数のレコードから
成るデータファイルが格納されている。各レコードは、
索引として使用される複数のデータ項目(検索キー)を
含んでいる。
【0020】バッテリバックアップ機構15は、電源切
断時等のシステム停止時に、メモリ12上に蓄積されて
いる索引情報をバッテリを用いて索引ファイル記憶部1
3に書き込む。
【0021】図2には、データファイル記憶部14のデ
ータファイルと索引ファイル記憶部13の索引ファイル
の具体的な内容の一例を示されている。ここでは、各レ
コードが従業員番号、従業員名、入社年月日、…等を示
す複数のデータ項目から構成され、これらデータ項目の
うちで、従業員番号と従業員名の2つのデータ項目が索
引として使用される場合について説明する。
【0022】このように業員番号と従業員名の2つのデ
ータ項目が索引が設定された場合、索引ファイル記憶部
13の索引ファイルには、図示のように、第1および第
2の2種類の索引情報131,132が設定される。
【0023】第1の索引情報131は、従業員名のデー
タ項目に対応付けてレコードの格納位置を示すものであ
り、レコードの格納位置を示すポインタを従業員名毎に
保持している。図2の例においては、従業員名“安藤”
に対してポインタE1 、従業員名“菊地”に対してポ
インタEi、従業員名“渡辺”に対してポインタEnが
付与されており、これらポインタE1、Ei、Enは、
データファイル上におけるレコードR1、Ri、Rnの
格納位置をそれぞれ示している。この格納位置は、デー
タファイル記憶部14上の物理的格納位置、またはレコ
ード番号等の論理的格納位置のどちらであっても良い。
【0024】第2の索引情報132は、従業員番号のデ
ータ項目に対応付けてレコードの格納位置を示すもので
あり、レコードの格納位置を示すポインタを従業員番号
毎に保持している。図2の例においては、従業員番号“
0001”に対してポインタE1 、従業員番号“00
0i”に対してポインタEi、従業員番号“000n”
に対してポインタEnが付与されており、これらポイン
タE1、Ei、Enは、データファイル上におけるレコ
ードR1、Ri、Rnの格納位置をそれぞれ示している
。この格納位置は、データファイル記憶部14上の物理
的格納位置、またはレコード番号等の論理的格納位置の
どちらであっても良い。ここで、図3に示すレコードR
xを、データファイル記憶部14のデータファイルに挿
入する場合について考える。
【0025】レコードRxをデータファイルに書き込む
とき、通常は、索引ファイルの索引情報131,132
を再構成するために索引ファイル記憶部13への書き込
みも同時に行われるが、この実施例では、レコードRx
の索引情報はメモリ12に書き込まれるだけで、索引フ
ァイル記憶部13には書き込まれない。
【0026】この場合、メモリ12に書き込まれる索引
情報の内容は図4のようになる。すなわち、メモリ12
には、レコードRxの従業員番号“000Q”とそのレ
コードRxの格納位置を示すポインタEk との対応を
示す索引情報と、レコードRxの従業員名“佐藤”とそ
のレコードRxの格納位置を示すポインタEk との対
応を示す索引情報とが蓄積される。次に、データファイ
ル内のレコードRiの従業員名を、“菊地”から“佐藤
”に変更する場合について考える。
【0027】この場合、レコードRiがデータファイル
記憶部14から削除され、代わりに図5に示すレコード
Ri´がデータファイル記憶部14に書き込まれる。こ
の時、メモリ12には、図6に示すように、旧レコード
Riの従業員名“菊地”とそのレコードRiの格納位置
を示すポインタEiとの対応を示す情報と、新レコード
Ri´の従業員名“佐藤”とそのレコードRi´の格納
位置を示すポインタEiとの対応を示す情報とが、1つ
の索引情報として格納される。
【0028】このように、新旧2つのレコードについて
の情報を索引情報として保持するのは、メモリ12上の
索引情報を索引ファイルに反映させる際に、従業員名“
菊地”に代えて“佐藤”を索引情報131に登録するた
めである。次に、図7乃至図10のフローチャートを参
照して、図1のファイル検索システムの動作を説明する
。まず、図7のフローチャートを参照して、レコードを
データファイルに挿入する場合の動作について説明する
【0029】この挿入処理においては、制御部11は、
まず、レコードに索引が定義されているかを判断し(ス
テップS11)、索引が定義されている場合には、挿入
対象の新レコード(図3のレコードRx)に対応する索
引情報(図4参照)を作成し、それをメモリ12に書き
込む(ステップS12)。ステップS12の処理は設定
されている索引の数分だけ繰り返し行われる。
【0030】制御部11は、全ての索引についての索引
情報をメモリ12に登録し終えると(ステップA13)
、挿入対象の新レコードをデータファイル記憶部14に
書き込み(ステップS14)、これによって挿入処理が
終了する。次に、図8のフローチャートを参照して、デ
ータファイルのレコードを変更する場合の動作について
説明する。
【0031】この変更処理においては、制御部11は、
まず、索引として使用されるデータ項目が変更対象とな
っているか否かを判断し(ステップS21)、変更対象
となっている場合には、変更前の旧レコードの情報と変
更後の新レコードの情報とを含む索引情報(図6参照)
を作成し、それをメモリ12に書き込む(ステップS2
2)。ステップS22の処理は設定されている索引の数
分だけ繰り返し行われる。
【0032】制御部11は、全ての索引についての索引
情報をメモリ12に登録し終えると(ステップA23)
、旧レコードの格納位置に新レコードをデータファイル
記憶部14に書き込み(ステップ24)、これによって
変更処理が終了する。次に、図9のフローチャートを参
照して、データファイルに対する検索処理の動作につい
て説明する。
【0033】この検索処理においては、制御部11は、
まず、メモリ12の索引情報を調べて、その索引情報内
に検索キーに該当する索引があるか否かを検出する(ス
テップS31)。メモリ12に該当する索引がある場合
には、制御部11は、そのメモリ12の索引情報に定義
されているポインタを用いてデータファイル記憶部14
をアクセスし、該当のレコードを読み込む(ステップS
33)。
【0034】一方、メモリ12に該当する索引がない場
合には、制御部11は、索引ファイル記憶部13から索
引情報を読み込み、その索引情報に定義されているポイ
ンタを用いてデータファイル記憶部14をアクセスし、
該当のレコードを読み込む(ステップS32)。次に、
図10のフローチャートを参照して、システム停止時の
動作について説明する。
【0035】電源切断時等のシステム停止時においては
、まず、制御部11は、メモリ12上に蓄積されている
旧レコードの情報(レコードの変更時に蓄積された索引
情報の一部)を削除し(ステップS41)、次いで、メ
モリ12上の索引情報を索引ファイル記憶部13に書き
込んで、索引情報の再構成を行う(ステップS42)。
【0036】以上のように、この実施例のファイル検索
システムにおいては、データファイル記憶部14へのレ
コードの挿入または変更が実行される際に、その挿入ま
たは変更対象の新レコードに対応する索引情報はメモリ
12上に蓄積されるだけで、索引ファイル記憶部13に
は書き込まれない。メモリ12上に蓄積されている索引
情報は、システム停止時に索引ファイル記憶部13に書
き込まれ、これによりその索引ファイル記憶部13の索
引情報の再構成が行われる。
【0037】したがって、レコードに複数種類の索引が
設定されている場合でも、レコードの挿入または変更時
にはそのレコードがデータファイル記憶部14に書き込
まれるだけで、索引ファイル記憶部13への索引情報の
書き込みは実行されないので、レコードに設定された索
引の数によらずに、レコードの挿入または変更処理を高
速に実行する事ができる。
【0038】
【発明の効果】以上のように、この発明によれば、レコ
ードに設定された索引の数によらず、レコードの挿入や
変更処理を高速に実行することが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施例に係わるシステム構成を示
すブロック図。
【図2】同実施例におけるデータファイルと索引ファイ
ルの具体的な構成の一例を示す図。
【図3】同実施例のデータファイルに挿入されるレコー
ドの構成の一例を示す図。
【図4】同実施例に設けられたメモリに蓄積される索引
情報の一例を示す図。
【図5】同実施例のデータファイルを変更する際に使用
される新たなレコードの構成の一例を示す図。
【図6】同実施例に設けられたメモリに蓄積される索引
情報の他の例を示す図。
【図7】同実施例におけるレコードの挿入処理の動作を
説明するフローチャート。
【図8】同実施例におけるレコードの変更処理の動作を
説明するフローチャート。
【図9】同実施例における検索処理の動作を説明するフ
ローチャート。
【図10】同実施例におけるシステム停止時の動作を説
明するフローチャート。
【符号の説明】
11…制御部、12…メモリ、13…索引ファイル記憶
部、14…データファイル記憶部、15…バッテリバッ
クアップ機構。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  複数のレコードから構成されるファイ
    ルデータを記憶する第1ファイルと、前記第1ファイル
    上における前記複数のレコードの格納位置を、それらレ
    コードに含まれる所定のデータ項目に対応づけて示す索
    引情報を記憶する第2ファイルと、前記第1ファイル上
    のファイルデータを検索する検索手段と、前記第1ファ
    イルに対するレコードの挿入または変更を行うデータ更
    新手段と、前記レコードの挿入または変更が実行される
    度、前記挿入または変更対象の新レコードに対応する索
    引情報を作成してメモリ上に蓄積する手段と、システム
    停止時に、前記メモリ上に蓄積されている索引情報を前
    記第2ファイルに書き込み前記第2ファイルの索引情報
    を再構成する手段とを具備することを特徴とするファイ
    ル検索システム。
  2. 【請求項2】  前記検索手段は、前記メモリおよび前
    記第2ファイルの順番で索引情報を参照し、これらメモ
    リ主記憶および第2ファイル上の索引情報を用いて前記
    第1ファイル上における検索対象レコードの格納位置を
    調べることを特徴とする請求項1記載のファイル検索シ
    ステム。
JP3100845A 1991-05-02 1991-05-02 ファイル検索システム Pending JPH04330534A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3100845A JPH04330534A (ja) 1991-05-02 1991-05-02 ファイル検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3100845A JPH04330534A (ja) 1991-05-02 1991-05-02 ファイル検索システム

Publications (1)

Publication Number Publication Date
JPH04330534A true JPH04330534A (ja) 1992-11-18

Family

ID=14284658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3100845A Pending JPH04330534A (ja) 1991-05-02 1991-05-02 ファイル検索システム

Country Status (1)

Country Link
JP (1) JPH04330534A (ja)

Similar Documents

Publication Publication Date Title
US5560006A (en) Entity-relation database
US4961134A (en) Method for minimizing locking and reading in a segmented storage space
US6088705A (en) Method and apparatus for loading data into a database in a multiprocessor environment
US5864849A (en) System and method for restoring a multiple checkpointed database in view of loss of volatile memory
US5581750A (en) System and method for improving data recovery performance
US7222133B1 (en) Method for reducing database recovery time
US6898688B2 (en) Data management appliance
US7340645B1 (en) Data management with virtual recovery mapping and backward moves
US6411969B1 (en) Enhanced system and method for management of system database utilities
US6772177B2 (en) System and method for parallelizing file archival and retrieval
US20070118547A1 (en) Efficient index versioning in multi-version databases
JPH0812631B2 (ja) データベース・トランザクション及び照会処理システム
US6584555B2 (en) Information storage and retrieval system
CA2419883A1 (en) Discriminatory replay of log files during table space recovery in a database management system
US9411692B2 (en) Applying write elision
WO2021150563A1 (en) Efficient io processing in a storage system with instant snapshot, xcopy, and unmap capabilities
EP0583108B1 (en) Entity-relation database
JPH04330534A (ja) ファイル検索システム
JPH0256680A (ja) イメージデータ検索システム
JP2721034B2 (ja) クラスタリング制御システム
JPH0283640A (ja) データベース更新方法
WO2025042576A2 (en) Methods and systems configured to eliminate the use of write ahead logs in paged direct mapping key-value stores
JPS63291145A (ja) ファイル管理方法
JPH03252738A (ja) ファイル管理方式
JPH04155548A (ja) ログ管理・復旧処理方式