JPH0816880B2 - データベースシステムおよびその処理方法 - Google Patents

データベースシステムおよびその処理方法

Info

Publication number
JPH0816880B2
JPH0816880B2 JP61087907A JP8790786A JPH0816880B2 JP H0816880 B2 JPH0816880 B2 JP H0816880B2 JP 61087907 A JP61087907 A JP 61087907A JP 8790786 A JP8790786 A JP 8790786A JP H0816880 B2 JPH0816880 B2 JP H0816880B2
Authority
JP
Japan
Prior art keywords
database
transaction
map
cache
information
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
JP61087907A
Other languages
English (en)
Other versions
JPS62245347A (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.)
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 JP61087907A priority Critical patent/JPH0816880B2/ja
Publication of JPS62245347A publication Critical patent/JPS62245347A/ja
Publication of JPH0816880B2 publication Critical patent/JPH0816880B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データベースシステムにおけるトランザク
シヨンのデータベース更新方式に係り、特にデータベー
スの更新および参照の高速化ならびに障害発生時のデー
タベース回復の高速化に好適なデータベースの処理方式
に関するものである。
〔従来の技術〕
従来より、電源断等のシステム障害や、プログラム誤
り等によるトランザクシヨン障害が発生してもデータベ
ースの論理的一貫性を保つため、トランザクシヨンによ
るデータベース更新実行に先立つてその更新内容を履歴
情報として磁気テープ等の不揮発性媒体に記録すること
が広く行われている(C.J.デイト著:データベースシス
テムの紹介1983(C.J.Date:An Introduction to Databa
se Systems,Vol.II Addison Wesley))。
この方式によれば、データベース更新履歴情報を逐次
解析することにより、システム障害発生時に実行未完了
トランザクシヨンのデータベース更新結果は、無効と
し、実行完了トランザクシヨンの更新結果は全てデータ
ベースに反映させることができる。またトランザクシヨ
ン障害時には、そのデータベース更新結果を全て無効に
することができる。
いま、ひとつの公知例として、トランザクシヨンが実
行中にデータベース更新を行う際、更新前の情報を保存
するため当情報の格納個所とは異なる新しい個所に更新
結果を書き出す方式がある(R.A.ローリー著:セグメン
トに分割された大規模データベースにおける物理的一貫
性,ACM TODS 1977(R.A.Lorie:Physical Integrity in
a Lagre Segmented Database,ACM TODS,Vol.2,No.1(19
77),pp.91−104)。
この方式では、トランザクシヨン実行完了までにその
全てのデータベース更新内容を新たな格納個所に書き出
し、トランザクシヨン実行完了時点で更新前情報を無
効,更新後情報を有効とする。
したがつて、システム/トランザクシヨン障害が発生
してもデータベースの論理的一貫性を保つことができ、
データベース更新履歴情報の取得は不要である。
〔発明が解決しようとする問題点〕
上述した前者の従来の方式では、上記データベース更
新履歴情報解析に基づくデータベースの回復処理が、障
害回復を遅れさせる一因となつている。解析するデータ
ベース更新履歴情報の量を減らすためにはチエツクポイ
ント・ダンプ(定期的にデータベース更新結果を書き出
すこと)を磁気ディスク等の記憶装置に取得することが
有効だが、この場合、取得時にシステムの処理能力が甚
だ低下するという問題がある。また、この方式では、ト
ランザクシヨン実行完了時点で、未だデータベースに反
映されていないその更新結果は全て履歴情報として一括
取得する必要があるが、このシーケンシヤル書き出し処
理がシステム処理能力のボルトネツクとなる恐れがあ
る。
上述した後者の従来の方式では、データベースの情報
格納個所が時間とともに変化するので、一般に情報の論
理的参照順序と物理的格納順序とは一致し難いという問
題がある。したがつて、シーケンシヤルに情報を参照す
るトランザクシヨンなどの実行効率が甚だ低下する恐れ
がある。また、この方式では、トランザクシヨン実行完
了までに、その全てのデータベース更新結果を書き出さ
なければならないが、通常データベースは単位容量あた
りの価格は低いかわりに、ランダム・アクセス時間が比
較的長大な不揮発性媒体に蓄積されるので、この更新処
理がシステム処理能力のボルトネツクとなる可能性もあ
る。
本発明の目的は、システム/トランザクション障害が
発生してもデータベースの論理的一貫性を保証すること
が必要なデータベースシステムにおいて、データベース
に対するアクセスおよびシステム障害時の回復処理の高
速化を図れるデータベースの処理方式を提供することに
ある。
〔問題点を解決するための手段〕
上記目的を達成するため、本発明のデータベースシス
テムでは、データベース蓄積媒体上に構成されるデータ
ベースと、上記データベース蓄積媒体よりランダム・ア
クセス時間が短くシステム障害時に記憶内容が失われな
い中間記憶媒体と、該中間記憶媒体上に設けられ上記デ
ータベースの一部を一時的に記憶するためのキャッシュ
と、有効なデータベース情報の格納個所を示すページマ
ップと、実行中のトランザクションが更新したデータベ
ース情報の格納個所を示すカレントマップと、上記キャ
ッシュ内の領域が使用中か否かを示すキャッシュ使用マ
ップとを備える。そして、トランザクションの実行によ
り上記データベース情報を更新するとき、該トランザク
ションの実行完了以前に該トランザクションによる全て
の更新後情報を上記キャッシュに格納する。その際、上
記キャッシュ使用マップに基づいて見出したキャッシュ
中の使用されていない個所に上記更新後情報を格納す
る。そして、該格納個所を上記カレントマップに登録
し、該格納個所が使用中である旨を示すように上記キャ
ッシュ使用マップを変更する。さらに、トランザクショ
ン実行完了時に該トランザクションで上記カレントマッ
プに登録した格納個所を上記ページマップに登録するこ
とにより更新後情報を有効化する。
上記キャッシュの満杯時には、該キャッシュ内の有効
な更新後情報を上記データベース蓄積媒体上の所定の格
納個所に書き出し、該格納個所を上記ページマップに登
録する。また、システム障害時には、上記ページマップ
に基づいて上記データベース情報と該格納個所の関係を
修復することにより上記データベースを回復する。
このようなデータベース・システムにおいてさらに、
データベースへのシーケンシャルなアクセスを高速に実
行できるようにするため、本発明では望ましくは、上記
キャッシュが満杯になったときに該キャッシュ内の有効
な更新後情報をデータベース蓄積媒体に書き出す際に、
該更新後情報が元から蓄積されていた格納個所に重ね書
きする。
〔作用〕
トランザクションによるデータベース更新時、更新後
情報をシステム障害により記憶内容が失われない中間記
憶媒体上のキャッシュに格納するため、データベース更
新履歴情報を磁気テープ等の記憶媒体に記録する必要が
ない。また、キャッシュが満杯になるまでキャッシュ中
の更新後情報をデータベース蓄積媒体に書き出す必要が
ないので、データベース中の繰り返し更新される情報に
ついてはデータベース蓄積媒体への書き出し回数が削減
される。さらに、繰り返しアクセスされる情報はキャッ
シュに存在する可能性が高く、リード対象の情報がキャ
ッシュに存在すればデータベース蓄積媒体に対するアク
セスが不要になる。これらのことと、上記中間記憶媒体
がデータベース蓄積媒体よりもランダム・アクセス時間
が短いことより、データベースへのアクセスが高速化さ
れる。
システム障害時には、上記ページマップを上記不揮発
性記憶媒体からメモリ内に読み込み、上記データベース
情報と該データベース情報格納個所の関係を修復すれば
よいので、高速にデータベースを回復することができ
る。
さらに、データベース蓄積媒体上の情報格納位置を固
定とすることにより、データベースへのシーケンシャル
なアクセスを高速に実行できる。なお、このときキャッ
シュ内に記憶されたデータベース情報に対してはランダ
ム・アクセスとなるが、上記キャッシュへのランダム・
アクセス時間はデータベース蓄積媒体へのアクセス時間
と比較すると短いので、無視してもよい。
〔実施例〕
以下、本発明の一実施例を、図面により詳細に説明す
る。
本実施例では、データベース蓄積媒体に比して容量は
小さくてよいが、ランダム・アクセス時間の短い不揮発
性媒体をデータベースのキヤツシユすなわち中間記憶媒
体として用いる。例えば、データベース蓄積媒体に磁気
デイスク、中間記憶媒体に半導体記憶装置を使用する。
このとき中間記憶へのランダム・アクセス時間はほぼ無
視できる。
以下、後述の第1図〜第6図により本実施例のシステ
ム構成について説明する。
第1図は本発明の一実施例を示すデータベースシステ
ムの全体構成図であり、磁気デイスク等の大容量で不揮
発性の媒体(以下、データベース蓄積媒体という)10上
に蓄積されたデータベースと、これによりランダム・ア
クセス時間が短く不揮発性の半導体記憶装置等の中間記
憶20とが、CPU/メモリ(1)(以下、単にメモリ1とい
う)に接続されている。中間記憶20の構成を第2図に示
す。中間記憶20は、第2図に示すように、キヤツシユ領
域30,システム履歴領域40、制御情報領域50の3つから
構成される。
システム履歴領域40には、後述するプロセス完了ジヤ
ーナルやトランザクシヨン完了ジヤーナルなど、データ
ベース更新以外の履歴情報が取得される。制御情報領域
50には、後述するページマツプやキヤツシユ使用マツ
プ、ストレージマツプなど、データベースの参照,更
新、回復に必要な制御テーブルが格納される。なお、キ
ヤツシユ領域(以下、単にキヤツシユという)30はスロ
ツトとよばれる固定長のレコードに分割されている。ト
ランザクシヨンが参照/更新するデータベースの空間は
ページと呼ばれる固定区画に分割されているが、スロツ
トはページを格納するためのものであり、両者のサイズ
は一致する(例えば、4Kバイト)。各スロツトは1回の
入出力動作で参照/更新ができる。後述のように、キヤ
ツシユはデータベース内の情報を一時的に記録するため
のものである。
第3図は本実施例によるページマツプ3であり、各ペ
ージに対して、障害時に保証すべき論理的一貫性のある
ページ内容の格納位置を示す。aiはページi(1≦i≦
n)が格納されるスロツト・アドレスである(図中60で
示す)。ページマツプ3は中間記憶20およびメモリ1内
に置かれる。
第4図は本実施例によるカレントマツプ4であり、現
在トランザクシヨンが更新中のページ内容が格納される
位置を示す。biはページi(1≦i≦n)が格納される
スロツトアドレスである(図中70で示す)。カレントマ
ツプ4はメモリ1内に置かれる。
第5図は本実施例によるストレージマツプ5であり、
各ページに対して、それがデータベース蓄積媒体10上で
格納される位置を示す。ciはページi(1≦i≦n)が
格納されるスロツト・アドレスである(図中80で示
す)。スロツトアドレスciはaiやbiと異なり、時間とと
もに内容が変わることはない。ストレージマツプ5はメ
モリ1内および中間記憶20に置かれる(中間記憶20の代
わりに、データベース蓄積媒体10上に置いてもよい)。
第6図は本実施例によるキヤツシユ使用マツプ6であ
り、キヤツシユ30内の各スロツトが使用中か否かを示す
ビツトマツプである。キヤツシユ使用マツプ6はメモリ
1内および中間記憶20に置かれる。ただし、後述のよう
に、メモリ1内のキヤツシユ使用マツプ6の内容と中間
記憶20上のキヤツシユ使用マツプ6の内容とは少し異な
る。これは、後者がページマツプ3で示されるスロツト
のみ使用中とするのに対し、前者はこれに加えてカレン
トマツプ4で示されるスロツトをも使用中とするためで
ある。
次にシステム動作について説明する。システム動作を
通常時動作,システム障害時動作,トランザクシヨン障
害時動作に分けて述べる。
(i)通常時動作 第7図は、本実施例によるシステムの通常時動作の概
略フローチヤートである。トランザクシヨンの実行開始
から終了までの本発明にかかわる処理はステップ701〜
ステツプ706の順序で行われる。ステツプ707は適宜実行
される。以下、第7図に従つて通常時動作を詳細に説明
する。
(a)実行中のページi読み込み(ステツプ701): カレントマツプ4の当該ページに対するエントリbi70
をサーチする。bi=nullの場合、ページマツプ3上の当
該ページに対するエントリai60の示すスロツトアドレス
を求め、ページを読み込む。これは当該ページを当トラ
ンザクシヨンにおいて始めて読み込む場合である。そし
て、bi=aiとする。bi≠nullの場合、当該ページは既に
当トランザクシヨンにおいて、1回以上読み込まれたは
ずであり、biの示すスロツトアドレスからページiを読
み込む。後述のように、この場合一般にはbiとaiとは一
致しない。
(b)実行中のページi書き出し(ステップ702): biとaiが一致するかどうか調べる。bi=aiのときは、
ページiを当トランザクシヨンにおいて初めて書き出す
場合である。このとき、メモリ1内のキヤツシユ使用マ
ツプ6で使用中でないスロツトをみつけ、そのスロツト
アドレスをbiにセツトし、さらにそのスロツトにページ
iを書き出す。この結果、bi≠aiとなる。新しく使用中
となつたスロツトに対して、メモリ1内のキヤッシュ使
用マップ6中の該当ビットをオンにする。また、新しく
使用中となつたスロツトをLRU(Least Recently Used)
チエインの末尾に公知の方法で登録する。なお、使用中
でないスロツトの数が一定の閾値以下になると、後述ス
テツプ707の処理を実行する。bi≠aiの場合、ページi
は当トランザクシヨンにおいて既に1回以上書き出され
ている。したがつて、biの示すスロツトにページiを書
き出す。
(c)コミツト命令発行時の更新ページ書き出し(ステ
ツプ703): 上記ステツプ702は、メモリ1内のページ格納領域が
溢れた場合などに実行される処理である。本ステツプ
は、トランザクシヨンで実行中のプログラムから処理完
了をあらわすコミツト命令が発行されたとき、当トラン
ザクシヨンで更新した全てのページをキヤツシユ30に書
き出す処理である。内容は、上記ステツプ702の処理を
各ページについて実行することに他ならない。なお、本
ステツプの処理実行中にシステム障害やトランザクシヨ
ン障害(入出力エラー等)が生じたとき、当トランザク
シヨンは実行未完了とみなし、データベース更新結果は
データベースに反映されない。
(d)プロセス完了ジヤーナル取得(ステツプ704): 上記ステツプ703の処理が終了すると、トランザクシ
ヨンのプロセスが完了した旨を告げるプロセス完了ジヤ
ーナルを中間記憶20のシステム履歴領域40に取得する。
すなわち、当該トランザクシヨンが更新した全てのペー
ジのページ番号とカレントマツプに設定されている対応
するスロツトアドレス、およびトランザクション番号を
システム履歴領域40に記録する。本処理が完了した時点
で、当トランザクシヨンは実行完了とみなし、以後その
データベース更新結果は保証される。
(e)中間記憶20上のページマツプ3とキヤツシユ使用
マツプ6の更新(ステツプ705): 上記ステツプ704の処理が終了すると、当トランザク
シヨンの更新ページの全てについて、カレントマツプ4
の内容をメモリ1内のページマツプ3にコピーする。す
なわち、ai=biとする(iは当トランザクシヨンの更新
ページ)。コピー後のページマツプ3を中間記憶20に書
き出し、これを更新する。さらにb1=null(iは当トラ
ンザクシヨンの更新ページ)とし、カレントマツプ4の
コピー済エントリを無効とする。
また、メモリ1内のキヤツシユ使用マツプ6を中間記
憶20に書き出し、これを更新する。ただし、ここで、メ
モリ1内のキヤツシユ使用マツプ6には予め次の変更を
加えておく。すなわち、上記のメモリ内ページマツプ変
更に先立ち、当トランザクシヨンの更新ページの全てに
ついて、変更以前のページマツプ3で示されるスロツト
がキヤツシユ内に存在するとき、メモリ1内のキヤツシ
ユ使用マツプ6上の該当ビツトをオフとする。
本ステツプの処理により、当トランザクシヨンの更新
結果は有効となる。なお、本処理実行中にシステム障害
ないし、トランザクシヨン障害(入出力エラー等)が生
じても、後述のように、プロセス完了ジヤーナルを用い
てページマツプ3やキヤツシユ使用マツプ6の修復が行
われる。
(f)トランザクシヨン完了ジヤーナル取得(ステツプ
706): 上記ステツプ705の処理が終了すると、当トランザク
シヨンの全ての処理が完了した旨を告げるトランザクシ
ヨン完了ジヤーナルを中間記憶20のシステム履歴領域40
に取得する。具体的には、トランザクシヨン番号を記録
する。
(g)データベースへのステージング(ステツプ70
7): キヤツシユ30内のLRUチエインの先頭からスロツトを
選び、ストレージマツプ5よりそこに格納されているペ
ージiのデータベース上の格納位置ci80を求め、ciに書
き出してデータベース上の当該ページを更新する。キヤ
ツシユ使用マツプ6上の該当ビツトをオフとし、ページ
マツプ3をai=ciとする。ただし、このとき、選ばれる
スロツトは、ページマツプ登録済なもの、すなわち、有
効なものでなければならない。
キヤツシユ30内の使用中でないスロツトの数が閾値に
達するまで、上記処理を繰り返す。最後に中間記憶20上
のページマツプ3とキヤツシユ使用マツプ6を更新す
る。
(ii)システム障害時動作 電源断等のシステム障害が発生したときのデータベー
ス回復動作を下記(a),(b)に述べる。これらの処
理実行後、システムはメモリ1内のページマツプ3に基
づいて必要なページを読み込み、通常処理を開始する。
(a)マツプ類の読み込み: ページマツプ3,キヤツシユ使用マツプ6,ストレージマ
ツプ5を中間記憶20からメモリ1に読み込む。
(b)システム履歴の解析: プロセス完了ジヤーナルをシステム履歴領域40に取得
済でかつ、トランザクシヨン完了ジヤーナルを未取得の
トランザクシヨンがあつたとき、当該トランザクシヨン
による更新を反映したページマツプ3またはキヤツシユ
使用マツプ6が未だ中間記憶20に書かれない間にシステ
ム障害が発生したことになる。したがつて、プロセス完
了ジヤーナル内の更新ページ番号とスロツトアドレスよ
り、ページマツプ3とキヤツシユ使用マツプ6を修正
し、これを中間記憶20に書き出す。具体的には、当トラ
ンザクシヨンの更新ページの全てについて、下記処理を
行う。まず、修正前のページマツプ3で示されるスロツ
トがキヤツシユ30内にあるとき、キヤツシユ使用マツプ
6の該当ビツトをオフとする。次にプロセス完了ジヤー
ナル内のスロツトアドレスでページマツプ3の該当エン
トリを書き換え、これを修正する。さらに、キヤツシユ
使用マツプ6上でこのスロツトの該当ビツトをオンとす
る。
ただし、本項(b)の処理が発生する確率は低い。
(iii)トランザクシヨンの障害時動作 トランザクシヨン障害としては、システム履歴領域40
へのプロセス完了ジヤーナル取得以前にプログラムエラ
ー等により発生する障害と、プロセス完了ジヤーナル取
得以後ページマツプやキヤツシユ使用マツプ書き出し中
に入出力エラー等により発生する障害とがある。後者の
発生確率は低いが、その場合の処理は前述のシステム障
害時動作の(b)に準じて行う。ここでは前者の場合の
回復処理について述べる。
(a)メモリ内マップ類の修正: 当トランザクシヨンの更新ページについてカレントマ
ツプ4のエントリとページマツプ3のエントリを比べ
る。bi≠aiの場合、biに対応するスロツトの該当ビツト
をメモリ1内キヤツシユ使用マツプ6上でオフとする。
さらに全てのページiについてbi=nullとする(iは当
トランザクシヨンの更新ページ番号)。中間記憶20上の
マツプ類は変更不要である。
(b)メモリ1上のページ内容の修正: 相異なるトランザクシヨン間でメモリ1内ページの引
きつぎを行わず、新トランザクシヨンがその使用ページ
を中間記憶20またはデータベース蓄積媒体10からページ
マツプ3にしたがつて常に新しく読み込んでくると、本
処理は不要である。メモリ1内ページの引きつぎを行う
ときは障害トランザクシヨンによる更新前の情報をメモ
リ1内に記憶しておき、それを用いてページ内容を障害
トランザクシヨンの実行開始時点まで戻す。さらに、bi
=aiとする(iは障害トランザクシヨンの更新ページ番
号)。
以上述べたシステム構成と動作により、本実施例によ
れば、システム/トランザクシヨン障害が発生しても保
証すべきページ内容は常に第3図のページマツプで示さ
れるスロツトに格納されている。ページマツプは中間記
憶に記録されているので、システム障害が生じてもこれ
をメモリに読み込むことにより、データベース更新履歴
情報を解析することなく、データベースの論理的一貫性
を高速に回復できる。なお、たまたまページマツプを中
間記憶に出力中にシステム障害が発生しても、第2図の
中間記憶内のシステム履歴領域に記録されたプロセス完
了ジヤーナルを用いて、ページマツプを修復できる。
また、データベース内のあるページのデータベース蓄
積媒体上における格納スロツトは第5図のストレージマ
ツプで与えられ、これはシステムの処理を通じて変化し
ない。したがつて、データベース更新履歴を用いず、高
速にデータベースの回復を実行するために格納スロツト
を動的に変更する方式に比べ、データベース内ページを
シーケンシヤルに処理するトランザクシヨンの実行速度
が向上する。
下記に本実施例による効果の一例を示す。
(i)前提条件 (a)データベース,データベース更新履歴情報は次の
ような磁気デイスクに蓄積される。
*トラツクあたり容量:40Kバイト *シリンダあたり容量:600Kバイト *平均回転待時間:8.3ミリ秒 *情報転送速度:3Mバイト/秒 *最小シーク時間:5ミリ秒 *平均シーク時間:16ミリ秒 なお、性能算定にあたりこの磁気デイスクの入出力が
ボトルネツクになるとする。さらに、磁気デイスクの有
効利用率を50%とする。
(b)データベース更新履歴情報取得時、チエツクポイ
ント・ダンプ取得間隔は1000ジヤーナル・レコードとす
る。したがつて、システム障害発生時の平均解析ジヤー
ナル・レコード数は500件であるが、往復2度読むので
計1000件となる。なお、ジヤーナル・レコード長は16K
バイトとする。
(c)データベースのページ長は4Kバイトとし、データ
ベースをシーケンシヤルにアクセスするトランザクシヨ
ンの処理ページ数は100,000件とする。
(d)データベースの総容量は500Mバイト程度とし、ペ
ージマツプのサイズは5Mバイトとする。ページマツプが
記録される中間記憶は、アクセス時間:0,情報転送速度:
6Mバイト/秒,有効利用率80%の半導体記憶装置とす
る。
なお、磁気ディスクの平均アクセス時間と比較して半
導体記憶装置のアクセス時間は約2桁短く、ほぼ無視す
ることができるので、0とした。
(ii)データベース回復時間短縮効果 本実施例によらず、データベース更新履歴情報を解析
するときのデータベース回復時間は、 {8.3+16/3+5/(600/16)}×1000×1/0.5 ≒28000ミリ秒=28秒 である。
本実施例によるときのデータベース回復時間は、ペー
ジ・マツプの読み込み時間で評価できるので、 (5/6)×1/0.8 ≡1秒 である。
(iii)シーケンシヤル処理時間短縮効果 本実施例によらず、情報格納位置が変化するためラン
ダムアクセスを余儀なくされるときのトランザクション
実行時間は、 {16+8.3+4/3}×100,000×1/0.5 ≒5126×1000ミリ秒=5126秒 である。
本実施例により、シーケンシヤル・アクセスを行うと
きのトランザクシヨン実行時間は、 {8.3+4/3+5/(600/4)}×100,000×1/0.5 ≒1934×1000ミリ秒=1934秒 である。
なお、シーケンシャル・アクセスにおいて、トラック
単位に一括して入出力処理を行えば、トランザクション
実行時間をさらに短縮することができる。
〔発明の効果〕
以上説明したように、本発明によれば、システム/ト
ランザクション障害が発生してもデータベースの論理的
一貫性を保証することが必要なデータベースシステムに
おいて、データベースに対するアクセスおよびシステム
障害時の回復処理の高速化を図れるデータベースの処理
方法を提供することができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すデータベースシステ
ムの全体構成図、第2図は第1図における中間記憶の構
成図、第3図は本実施例によるページマツプのテーブル
構成図、第4図は本実施例によるカレントマツプのテー
ブル構成図、第5図は本実施例によるストレージマツプ
のテーブル構成図、第6図は本実施例によるキヤツシユ
使用マツプのテーブル構成図、第7図は本実施例による
データベースシステムの通常時動作の概略フローチヤー
トである。 10……データベース蓄積媒体、20……中間記憶、30……
キヤツシユ領域、40……システム履歴領域、50……制御
情報領域、60……ページiの保証すべきスロツトのアド
レス、70……ページiの参照/更新中のスロツトのアド
レス、80……ページiのデータベース蓄積媒体上のスロ
ツトのアドレス。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】データベース蓄積媒体上に構成されるデー
    タベースと、上記データベース蓄積媒体よりランダム・
    アクセス時間が短くシステム障害時に記憶内容が失われ
    ない中間記憶媒体と、該中間記憶媒体上に設けられ上記
    データベースの一部を一時的に記憶するためのキャッシ
    ュと、有効なデータベース情報の格納個所を示すページ
    マップと、実行中のトランザクションが更新したデータ
    ベース情報の格納個所を示すカレントマップと、上記キ
    ャッシュ内の領域が使用中か否かを示すキャッシュ使用
    マップとを備えたデータベースシステムの処理方法であ
    って、トランザクションの実行により上記データベース
    情報を更新するとき、該トランザクションの実行完了以
    前に該トランザクションによる全ての更新後情報を上記
    キャッシュに格納し、該格納の際、上記キャッシュ使用
    マップに基づいて見出したキャッシュ中の使用されてい
    ない個所に上記更新後情報を格納し、該格納の際見出し
    た格納個所を上記カレントマップに登録し、該格納個所
    が使用中である旨を示すように上記キャッシュ使用マッ
    プを変更し、トランザクション実行完了時に該トランザ
    クションで上記カレントマップに登録した格納個所を上
    記ページマップに登録することにより更新後情報を有効
    化することを特徴とするデータベースシステムの処理方
    法。
  2. 【請求項2】第1項記載のデータベースシステムの処理
    方法において、システム障害時に上記ページマップに基
    づいて上記データベース情報と該格納個所の関係を修復
    することにより上記データベースを回復することを特徴
    とするデータベースシステムの処理方法。
  3. 【請求項3】第1項記載のデータベースシステムの処理
    方法において、上記キャッシュの満杯時、該キャッシュ
    内の有効な更新後情報を上記データベース蓄積媒体上の
    所定の格納個所に書き出し、該格納個所を上記ページマ
    ップに登録することを特徴とするデータベースシステム
    の処理方法。
  4. 【請求項4】第3項記載のデータベースシステムの処理
    方法において、上記所定の格納個所は当該情報が元から
    蓄積されていたデータベース蓄積媒体上の格納個所であ
    ることを特徴とするデータベースシステムの処理方法。
  5. 【請求項5】第1項記載のデータベースシステムの処理
    方法において、上記中間記憶媒体として不揮発性の記憶
    媒体を用いたことを特徴とするデータベースシステムの
    処理方法。
  6. 【請求項6】第1項記載のデータベースシステムの処理
    方法において、上記ページマップをシステム障害時に記
    憶内容が失われない記憶媒体上に構成したことを特徴と
    するデータベースシステムの処理方法。
  7. 【請求項7】第1項記載のデータベースシステムの処理
    方法において、上記ページマップを上記中間記憶媒体上
    に構成したことを特徴とするデータベースシステムの処
    理方法。
  8. 【請求項8】第1項記載のデータベースシステムの処理
    方法において、上記更新後情報を有効化するステップ
    で、上記トランザクションで上記カレントマップに登録
    した格納個所を上記ページマップに登録する前に、該ト
    ランザクションの内部処理完了を示す第1のレコードを
    上記中間記憶媒体に記録し、該レコードに該トランザク
    ションで更新したページの識別子および上記カレントマ
    ップに登録した該ページの格納個所を示す情報を付加す
    ることを特徴とするデータベースシステムの処理方法。
  9. 【請求項9】第8項記載のデータベースシステムの処理
    方法において、上記更新後情報を有効化するステップ
    で、上記トランザクションで上記カレントマップに登録
    した格納個所を上記ページマップに登録した後に、該ト
    ランザクションの全処理完了を示す第2のレコードを上
    記中間記憶媒体に記録することを特徴とするデータベー
    スシステムの処理方法。
  10. 【請求項10】第9項記載のデータベースシステムの処
    理方法において、システム障害時、上記第1のレコード
    が上記中間記憶媒体に記録されていて、かつ上記第2の
    レコードが上記中間記憶媒体に記録されていないトラン
    ザクションについて、該第1のレコードに付加された情
    報に基づいて上記ページマップを回復し、該ページマッ
    プに基づいて上記データベース情報と該格納個所の関係
    を修復することにより上記データベースを回復すること
    を特徴とするデータベースシステムの処理方法。
  11. 【請求項11】データベース蓄積媒体上に構成されるデ
    ータベースと、上記データベース蓄積媒体よりランダム
    ・アクセス時間が短くシステム障害時に記憶内容が失わ
    れない中間記憶媒体と、該中間記憶媒体上に設けられト
    ランザクションによる上記データベースの更新後情報を
    記憶するためのキャッシュと、有効なデータベース情報
    の格納個所を示すページマップと、実行中のトランザク
    ションが更新したデータベース情報の格納個所を示すカ
    レントマップと、上記キャッシュ内の領域が使用中か否
    かを示すキャッシュ使用マップと、トランザクションの
    実行中に該トランザクションによる上記データベースの
    更新情報を上記キャッシュ使用マップに基づいて見出し
    た上記キャッシュ中の使用されていない個所に格納し、
    該格納個所を上記カレントマップに登録するとともに、
    該格納個所が使用中であることを示すように上記キャッ
    シュ使用中マップを変更する手段と、上記トランザクシ
    ョンの実行完了時に該トランザクションで上記カレント
    マップに登録した格納個所を上記ページマップに登録す
    る手段とを有することを特徴とするデータベースシステ
    ム。
JP61087907A 1986-04-18 1986-04-18 データベースシステムおよびその処理方法 Expired - Fee Related JPH0816880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61087907A JPH0816880B2 (ja) 1986-04-18 1986-04-18 データベースシステムおよびその処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61087907A JPH0816880B2 (ja) 1986-04-18 1986-04-18 データベースシステムおよびその処理方法

Publications (2)

Publication Number Publication Date
JPS62245347A JPS62245347A (ja) 1987-10-26
JPH0816880B2 true JPH0816880B2 (ja) 1996-02-21

Family

ID=13927982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61087907A Expired - Fee Related JPH0816880B2 (ja) 1986-04-18 1986-04-18 データベースシステムおよびその処理方法

Country Status (1)

Country Link
JP (1) JPH0816880B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63138445A (ja) * 1986-11-19 1988-06-10 テキサス インスツルメンツ インコーポレイテッド 回復可能な仮想メモリ
JP3107094B2 (ja) * 1991-08-06 2000-11-06 富士通株式会社 共用バッファのロック期間短縮処理方法及び装置
US5715447A (en) * 1991-08-06 1998-02-03 Fujitsu Limited Method of and an apparatus for shortening a lock period of a shared buffer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60189041A (ja) * 1984-03-07 1985-09-26 Hitachi Ltd フアイル管理方式

Also Published As

Publication number Publication date
JPS62245347A (ja) 1987-10-26

Similar Documents

Publication Publication Date Title
US5043871A (en) Method and apparatus for database update/recovery
US4961134A (en) Method for minimizing locking and reading in a segmented storage space
KR100238925B1 (ko) 비휘발성 메모리를 갖는 복원 가능 디스크 제어 시스템
US20040117567A1 (en) System and method for efficient write operations for repeated snapshots by copying-on-write to most recent snapshot
US20060224639A1 (en) Backup system, program and backup method
JPH07175700A (ja) データベース管理方式
CN110515705B (zh) 可扩展的持久性事务内存及其工作方法
US6658541B2 (en) Computer system and a database access method thereof
JP2000182381A (ja) 一括消去型不揮発性メモリ
US9411692B2 (en) Applying write elision
CN113220490A (zh) 异步写回持久化内存的事务持久化方法及系统
JPH11120051A (ja) データベース内の情報を修正するためのコンピュータ装置およびその修正方法
JPH0816881B2 (ja) データベース更新方法
JPH0816880B2 (ja) データベースシステムおよびその処理方法
JP3959870B2 (ja) ディスク内容障害回復方法及び計算装置
JPH06149485A (ja) データ完結性保証処理方法
JPS63133240A (ja) 常駐テ−ブルの内容保証方式
JPS62297948A (ja) デ−タベ−スの障害回復方式
JPS63132351A (ja) メモリデ−タベ−ス処理装置
JP3427901B2 (ja) メモリ内容回復装置
US11893273B2 (en) Crash-safe tiered memory system
WO1993003436A1 (en) Method and apparatus for reducing lock period of shared buffer
JP4140750B2 (ja) Icカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体
JP4131579B2 (ja) データ管理システムおよびデータ管理方法
JPS63195755A (ja) 主記憶装置上の情報の内容保証方式

Legal Events

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