JPH10154092A - データベース管理システム - Google Patents

データベース管理システム

Info

Publication number
JPH10154092A
JPH10154092A JP8327920A JP32792096A JPH10154092A JP H10154092 A JPH10154092 A JP H10154092A JP 8327920 A JP8327920 A JP 8327920A JP 32792096 A JP32792096 A JP 32792096A JP H10154092 A JPH10154092 A JP H10154092A
Authority
JP
Japan
Prior art keywords
page
unit
units
size
log
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
JP8327920A
Other languages
English (en)
Inventor
Hiroshi Hayata
宏 早田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP8327920A priority Critical patent/JPH10154092A/ja
Publication of JPH10154092A publication Critical patent/JPH10154092A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ページ格納操作、ページ適用操作、ページ読
みだし操作等といったログ管理処理の効率を向上させ
る。 【解決手段】 分割手段32がページをユニットに分割
し、判定手段33がページ中のユニット毎に変更があっ
たか否かを判定し、比較手段34がページ中の変更のあ
ったユニットの集合をログファイル2に格納する際のデ
ータの大きさと所定の大きさとを比較する。そして、前
記データの大きさが前記所定の大きさ以下であることに
基づいて、差分格納手段35が当該ユニットの集合をロ
グファイル2に格納する一方、前記データの大きさが前
記所定の大きさを超えることに基づいて、領域格納手段
36が前記ページを一括してログファイル2に格納す
る。したがって、ユニットの集合をログファイル2に格
納する際のデータと所定の大きさとの比較結果によっ
て、ページ格納操作を適切に切り替えることができ、ペ
ージ格納操作の処理効率を向上させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースをペ
ージ単位に管理し、ページに対する変更の情報をログフ
ァイルとして管理するデータベース管理システムに関す
る。
【0002】
【従来の技術】従来よりデータベース管理システムにお
いては、電源障害などにより稼動中のデータベース管理
システムが停止し、処理中のトランザクションが障害の
影響を受けた場合に、当該トランザクションによって変
更されたデータベースのデータベースファイルを一貫性
を保証される時点の状態に復旧するためにログ方式が用
いられている。
【0003】このログ方式は、データベースファイルに
対する変更処理の情報を二次記憶装置等といった装置上
の永続的なファイル(所謂、ログファイル)に記録し、
前記更新処理の処理単位が正しく終了した時点以降(ト
ランザクションがコミットした時点以降)に、前記処理
の情報をまとめてデータベースファイルに反映させ、シ
ステム障害が発生した場合でもデータベースファイルの
一貫性を保証している。
【0004】すなわち、データベースファイルに対する
更新処理の情報を直接データベースファイルに書き込む
ことはせずに、ログファイルとして記録しておくことに
よって、システム障害が発生してトランザクションが正
常に終了しなかった場合でも、当該トランザオクション
による不完全な変更処理が反映されていない一貫性が保
証されたデータベースファイルを確保することができ
る。
【0005】なお、ログ方式については1986年、Addiso
n Wesley社発行の「Introduction to Database System
(1986)」の第18章(特に、pp.413-pp.419)に記載さ
れるように従来より広く知られている。
【0006】また、データベース管理システムには、例
えば、サーバプロセスとクライアントプロセスとに分散
してデータを管理するデータベース管理システム等があ
り、このようなデータベース管理システムにおいては、
データベースを或るまとまったデータの単位(所謂、ペ
ージ)で管理するページサーバアーキテクチャが利用さ
れている。
【0007】ここで、ページサーバアーキテクチャを利
用するとともに、ログ方式を実行するデータベース管理
システムを図1を参照して説明する。このデータベース
管理システムでは、サーバプロセスsはデータベースフ
ァイル1をページ単位で管理し、クライアントプロセス
cからのデータベースファイル1に対する要求を受け取
ると、要求されたデータをサーバプロセスsがデータベ
ースファイル1から読み出し、クライアントプロセスc
へページを単位として転送する。そして、このページを
クライアントプロセスcが受け取ると、クライアントプ
ロセスcはページからデータの内容を解釈し、応用プロ
グラム11の処理要求に応じたデータに対する変更処理
等を実行する。
【0008】そして、上記した応用プログラム11によ
って変更処理等が行われた際には、サーバプロセスs中
のログ管理部12が中心となって図9に示すログ方式を
実行している。すなわち、クライアントプロセスcから
更新されたページを受けとり、当該ページに対する変更
の情報をログファイル2にストア(格納)する。そし
て、応用プログラム11による変更処理の処理単位が正
しく終了した時点以降に、ログファイル2に保持されて
いる当該処理単位での変更の情報をまとめてデータベー
スファイル1へ反映させる。また、ページを読み出す要
求が発生した場合には、データベースファイル1及びロ
グファイル2中の変更情報に基づいて該当ページをメモ
リにロードする。
【0009】このように、ログ方式の機能は、(1)変
更のあったページの変更情報をログファイルへ格納する
操作(以下、ページ格納操作という。)と、(2)ログ
ファイルに格納されたページの変更情報をデータベース
ファイルへ適用する操作(以下、ページ適用操作とい
う。)と、(3)データベースファイル及びログファイ
ルに格納されたページの変更情報に基づいてページを読
み出す操作(以下、ページ読み出し操作という。)と、
を有している。
【0010】ここで、ページ格納操作の方法としては、
変更処理されたページ全体をログファイルに格納する
ページ単位格納方法と、ページを或る大きさ毎に分割し
たユニットの中から変更処理されたユニットを検出し、
検出したユニットの集合をログファイルに格納するペー
ジ差分格納方法と、が知られている。
【0011】例えば、ページ格納操作として、ページ単
位格納方法を採用した場合には、上記したログ方式の機
能の3つの操作時には、ページがそのまま移動すること
となる。一方、ページ差分格納方法を採用した場合に
は、ページ格納操作時には、ページ中の変更のあったユ
ニットの検出が行われ、変更があったユニットの集合が
移動する。また、ページ適用操作時には、前記ユニット
の集合が移動し、各ユニットに対してページ上の位置を
解析する処理を行う。また、ページ読みだし操作時に
は、データベースからページを移動するとともに、当該
ページに対する変更されたユニットの集合を移動させ、
各ユニットに対してページ上の位置を解析する処理を行
う。
【0012】なお、ページ差分格納方法については、Pr
oc. Fifth Int'l Workshop on Persistent Object Syst
ems, San Miniato, Italy, September 1992での「Texa
s: AnEfficeitn, Portable Persistent Store」Vivek S
inghal他著に開示され、性能的に優位であることについ
て記述されている。
【0013】また,公開特許公報平5-108731号
公報(以下、文献1という。)に記載された発明では、
障害回復処理を効率的に行うために、ログファイルを格
納する方式を複数の格納方式から選択する格納方式が開
示されている。
【0014】
【発明が解決しようとする課題】ここで、上記したペー
ジ単位格納方法とページ差分格納方法とのページ格納操
作の効率を比較すると、ページ内の比較狭い範囲で変更
処理が行われた場合には、ページ単位格納方法ではペー
ジ全体を転送するので効率が悪い一方、ページ差分格納
方法では、変更のあったユニットのみを転送するので効
率がよい。
【0015】また、ページ内の比較的広い範囲で変更処
理が行われた場合には、ページ差分格納方法によって転
送対象となるユニットが多くなり、ページ単位格納方法
によって転送対象となるページ全体のデータ量とほとん
ど変わらなくなってしまい、ページ差分格納方法では転
送対象となるユニットを検出する処理を繰り返さなけれ
ばならないため、この検出処理の負担によってページ単
位格納方式と比較して処理効率が悪い。
【0016】さらに、ページ差分格納方法では、ユニッ
ト毎にページ中のユニットの位置を識別する識別データ
を付加するために、ページ内の比較的広い範囲で変更処
理が行われた場合には、転送するデータ量がページ単位
格納方法より多くなってしまい、さらに処理効率が悪く
なってしまう。
【0017】また、ページ差分格納方法においてユニッ
トの大きさを異ならせたとした場合においても、小さい
ユニットによるページ差分格納方法と、大きいユニット
によるページ差分格納方法とを比較した場合には、上記
したようなページ差分格納方法とページ単位格納方法と
同様なことがいえる。すなわち、小さいユニットによる
ページ差分格納方法は、ページの比較的狭い範囲で変更
処理が行わている場合には効率がよいが、ページの比較
的広い範囲で変更処理が行われている場合には効率が悪
い。
【0018】例えば、ページの大きさを1024ワード
として、ページ中の1ワードおきに変更されている場合
(すなわち、比較的広い範囲で変更処理が行われた場
合)に、ユニットの大きさを1ワードとすると、変更さ
れているか否かを検出する差分計算は1024ワードに
対して発生し、512ユニット(大きさ512ワード)
の変更が検出される。したがって、この場合には、変更
されたユニットの集合を転送するには、前記ユニットの
集合と、各ユニットのページ上の位置を示す512個の
識別データが必要となる。
【0019】一方、ユニットの大きさを64ワードとす
ると、差分計算が16ワードに対して発生し、16ユニ
ット(大きさ1024ワード)の変更が検出される。し
たがって、この場合には、変更されたユニットの集合を
転送するには、前記ユニットの集合と、各ユニットのペ
ージ上の位置を示す16個の識別データが必要となる。
【0020】したがって、ユニットのページ上の位置を
示す識別データとして1ワードが必要であるとすると、
1ワードのユニットの場合には1024ワードが転送さ
れる一方、64ワードのユニットの場合には1040ワ
ードが転送されるが、両者でのデータ転送コストは大差
が生じていない。しかしながら、64ワードのユニット
の場合の差分計算が1ワードのユニットの場合の差分計
算の1/64となっており、データ計算コストからいう
と、64ワードのユニットの方が優れている。したがっ
て、データ計算コストとデータ転送コストとを併せて考
えた場合においては、64ワードのユニットの方が優位
な傾向となる。
【0021】また、例えば、ページ中の64ワードおき
に1ワードの変更が発生している場合(すなわち、比較
的狭い範囲で変更処理が行われている場合)には、1ワ
ードのユニットとすると,1024ワードに対する差分
計算が発生し、16ユニット(大きさ16ワード)の変
更が検出される。したがって、この場合には、変更され
たユニットの集合を転送するには、前記ユニットの集合
と、各ユニットのページ上の位置を示す16個の識別デ
ータが必要となる。
【0022】一方、64ワードのユニットとすると、1
ユニットの真ん中で1ワード変更されているとした場合
には、512ワードに対する差分計算が発生し、16ユ
ニット(大きさ1024ワード)の変更が検出される。
したがって、この場合には、変更されたユニットの集合
を転送するには、前記ユニットの集合と、各ユニットの
ページ上の位置を示す16個の識別データが必要とな
る。
【0023】したがって、ユニットのページ上の位置を
示す識別データとして1ワードが必要であるとすると、
1ワードのユニットの場合には、32ワードが転送され
る一方、64ワードのユニットの場合には1040ワー
ドが転送されることとなり、データ転送コストでは、6
4ワードのユニットが1ワードのユニットの32倍かか
っている。したがって、データ計算コストでは,64ワ
ードのユニットの場合の方が1ワードのユニットの場合
の1/2となっているものの、データ計算コストとデー
タ転送コストとを併せて考えた場合には、1ワードのユ
ニットの方が優位な傾向となる。
【0024】また、ページ差分格納方法を採用している
場合において、ページ適用操作と、ページ読み出し操作
とを行うことを考えると、いずれの操作時にもログファ
イルに格納されている各ユニットに対してページ上の位
置を解析するといった処理を伴っているため、ユニット
の数が多くなればなるほど、いずれの操作においても効
率が悪くなってしまう。
【0025】上記した問題に対して、文献1には、ペー
ジ単位で管理を行うデータベースに対しては何ら記載が
されておらず。また、ログファイルに格納する際の処理
効率を向上することに対しても何ら記載されていない。
【0026】そこで、本発明は上記した従来の事情に鑑
みなされたもので、ログファイルへのページ格納操作を
使い分けて行うことにより、ページ格納操作、ページ適
用操作、ページ読みだし操作等といったログ管理処理を
効率よく行うことのできるデータベース管理システムを
提供することを目的としている。
【0027】
【課題を解決するための手段】上記した目的を達成する
ために本発明の請求項1に係るデータベース管理システ
ムは、データベースをページ単位に管理し、ページに対
する変更の情報をログファイルとして管理するデータベ
ース管理システムにおいて、ユニットの大きさ指定を受
け付ける入力手段と、指定に従ってページをユニットに
分割する分割手段と、前記ページ中のユニット毎に変更
があったか否かを判定する判定手段と、変更があったと
判定されたことに基づいて変更のあったユニットをログ
ファイルに格納する差分格納手段と、を備えたことを特
徴とする。
【0028】上記した請求項1に係るデータベース管理
システムでは、入力手段が受け付けた大きさ指定に従っ
て、分割手段がページをユニットに分割し、判定手段が
前記ページ中のユニット毎に変更があったか否かを判定
する。そして、差分格納手段が変更があったと判定され
たユニットをログファイルに格納する。したがって、適
切な大きさのユニットでページ格納操作を行うことがで
き、ページ格納操作の処理効率が向上できる。
【0029】本発明の請求項2に係るデータベース管理
システムは、データベースをページ単位に管理し、ペー
ジに対する変更の情報をログファイルとして管理するデ
ータベース管理システムにおいて、ページをユニットに
分割する分割手段と、前記ページ中のユニット毎に変更
があったか否かを判定する判定手段と、ページ中の所定
数のユニットをまとめた領域毎に変更のあったユニット
の集合をログファイルに格納する際のデータの大きさと
所定の大きさとを比較する比較手段と、前記データの大
きさが前記所定の大きさ以下であることに基づいて、当
該ユニットの集合をログファイルに格納する差分格納手
段と、前記データの大きさが前記所定の大きさを超える
ことに基づいて、前記領域に含まれるすべてのユニット
を一括してログファイルに格納する領域格納手段と、を
備えたことを特徴とする。
【0030】上記した請求項2に係るデータベース管理
システムでは、分割手段がページをユニットに分割し、
判定手段がページ中のユニット毎に変更があったか否か
を判定し、比較手段がページ中の所定数のユニットをま
とめた領域毎に変更のあったユニットの集合をログファ
イルに格納する際のデータの大きさと所定の大きさとを
比較する。そして、前記データの大きさが前記所定の大
きさ以下であることに基づいて、差分格納手段が当該ユ
ニットの集合をログファイルに格納する一方、前記デー
タの大きさが前記所定の大きさを超えることに基づい
て、領域格納手段が前記領域に含まれるすべてのユニッ
トを一括してログファイルに格納する。
【0031】したがって、ユニットの集合をログファイ
ルに格納する際のデータが所定の大きさ以下の場合、す
なわち、ページの比較的狭い範囲で変更処理が行われて
いる場合と、ユニットの集合をログファイルとして格納
する際のデータが所定の大きさを超える場合、すなわ
ち、ページの比較的広い範囲で変更処理が行われている
場合と、によって処理効率のよいページ格納操作を適切
に切り替えることができ、ページ格納操作の処理効率を
向上させることができる。
【0032】本発明の請求項3に係るデータベース管理
システムは、データベースをページ単位に管理し、ペー
ジに対する変更の情報をログファイルとして管理するデ
ータベース管理システムにおいて、ページをユニットに
分割する分割手段と、前記ページ中のユニット毎に変更
があったか否かを判定する判定手段と、ページ中の所定
数のユニットをまとめた領域毎に変更のあったユニット
の数と所定の数とを比較する比較手段と、前記変更のあ
ったユニットの数が前記所定の数以下であることに基づ
いて、当該ユニットの集合をログファイルに格納する差
分格納手段と、前記変更のあったユニットの数が前記所
定の数を超えることに基づいて、前記領域に含まれるユ
ニットを一括してログファイルに格納する領域格納手段
と、を備えたことを特徴とする。
【0033】上記した請求項3に係るデータベース管理
システムでは、分割手段がページをユニットに分割し、
判定手段がページ中のユニット毎に変更があったか否か
を判定し、比較手段がページ中の所定数のユニットをま
とめた領域毎に変更のあったユニットの数と所定の数と
を比較する。そして、前記変更のあったユニットの数が
前記所定の数以下であることに基づいて、差分格納手段
が当該ユニットの集合をログファイルに格納する一方、
前記変更のあったユニットの数が前記所定の数を超える
ことに基づいて、領域格納手段が前記領域に含まれるユ
ニットを一括してログファイルに格納する。
【0034】したがって、ユニットの数が所定の数を超
える場合、すなわち、このままではページ適用操作又は
ページ読み出し操作を行う際に、ログファイルに格納さ
れている各ユニットに対してページ上の位置を解析する
といった処理が多くなってしまう場合には、領域に含ま
れるユニットを一括してログファイルに格納するため
に、ページ適用操作又はページ読み出し操作時の処理を
抑えることができる。
【0035】本発明の請求項4に係るデータベース管理
システムは、請求項2又は請求項3に記載したデータベ
ース管理システムにおいて、さらに、前記ユニットの大
きさ又は前記領域の大きさの少なくともいずれか一つの
指定を受け付ける入力手段を備えたことを特徴とする。
【0036】上記した請求項4に係るデータベース管理
システムでは、入力手段がユニットの大きさ又は領域の
大きさの少なくともいずれか一つの指定を受け付ける。
したがって、ユニットの大きさ又は領域の大きさの少な
くともいずれか一方を適切に変更することができ、ログ
管理処理の処理効率が向上できる。
【0037】ここで、請求項1又は請求項4に記載し
た、ユニットの大きさ指定、或いは、領域の大きさ指定
としては、例えば、データベースシステム毎にデータベ
ースを使用する応用の特性に基づいて指定する。又は、
データベースファイルやページの集まりであるセグメン
ト毎に該データベースファイルやセグメントに格納され
るデータの特性に基づいて指定する。又は、個々のペー
ジ格納操作毎や、複数のページを操作するトランザクシ
ョン毎にページの一部分を調べることによって局所性を
判定し、当該判定結果に基づいてページ毎に指定する等
といったものがある。
【0038】
【発明の実施の形態】本発明に係るデータベース管理シ
ステムの一実施例を図1を参照して説明する。このデー
タベース管理システムは、データベースファイル1をペ
ージ単位で管理するサーバプロセスsと、データベース
ファイル1の内容をページ単位に受け取って処理を行う
クライアントプロセスcと、を備えている。
【0039】サーバプロセスsは、データベースファイ
ル1と、データベースファイル1のページに対する変更
の情報を保持するログファイル2と、データベースファ
イル1及びログファイル2とメモリとの間の読み出し及
び書き込み処理を行うディスク入出力部3と、メモリ
(ページバッファ)上においてデータベースファイル1
の内容をページ単位で管理するページバッファ管理部4
と、ログファイル2を管理するログ管理部5と、データ
ベースファイル1に対する複数の処理を並行制御するト
ランザクション管理部6と、クライアントプロセスcと
のデータの送受信を行う通信管理部7と、を備えてい
る。
【0040】クライアントプロセスcは、サーバプロセ
スsとのデータの送受信を行う通信管理部8と、サーバ
プロセスsから受け取ったデータベースファイル1の内
容をページ単位で管理するページバッファ管理部9と、
データベースファイル1のページとデータベースファイ
ル1のデータ及びデータの操作手続を有するオブジェク
トとを対応させて管理するオブジェクト管理部10と、
オブジェクトを使用して処理を行う応用プログラム11
と、を備えている。
【0041】次に、上記したデータベース管理システム
のログ管理部5を中心として実行されるログ方式の機能
構成を図2を参照して説明する。なお、同図は、ログ管
理部5の指示によって供働する機能、例えば、ディスク
入出力部3によるデータベースファイル1及びログファ
イル2に関する書き込み処理及び読み込み処理等につい
ては、ログ管理部5の機能に含めて表示している。
【0042】ログ管理部5は、変更のあったページの変
更情報をログファイル2へ格納する操作(ページ格納操
作)を行うページ格納操作部5aと、ログファイル2に
格納されたページの変更情報をデータベースファイル1
へ適用する操作(ページ適用操作)を行うページ適用操
作部5bと、データベースファイル1及びログファイル
2に格納されたページの変更情報に基づいてページを読
み出す操作(ページ読み出し操作)を行うページ読みだ
し操作部5cと、ログファイル2中の変更ページの情報
(ログレコード)を管理する変更ページ管理テーブル5
dと、ページを分割するユニットの大きさ(差分単位)
を格納する差分単位格納部5eと、ページ格納操作の方
法を切り替える所定の大きさ(変更量しきい値)を格納
するページ変更量しきい値格納部5fと、を備えてい
る。
【0043】ページ格納操作部5aは、本発明の中心部
分であり、図3に示すように、差分単位(ユニットの大
きさ)を受け付ける入力手段31と、変更のあったペー
ジをユニットに分割する分割手段32と、ユニット毎に
変更があるか否かを判定する判定手段33と、ページ
(領域)中の変更のあったユニットの集合に各ユニット
のページ内の位置を識別する識別データを加えた差分デ
ータの大きさと変更量しきい値とを比較する比較手段3
4と、差分データの大きさが変更量しきい値を以下であ
ることに基づいて、変更のあったユニットの集合をログ
ファイル2に格納する差分格納手段35と、差分データ
の大きさが変更量しきい値を超えることに基づいて、前
記ページに含まれるユニットを一括してログファイル2
に格納するページ格納手段(領域格納手段)36と、を
備えている。
【0044】判定手段33は、分割手段32によって分
割されたユニット毎に変更されたか否かを判定し、変更
されている場合には、当該ユニットを比較手段34に渡
す。比較手段34は、判定手段33に渡されたユニット
の集合に各ユニットのページ内の位置を表す識別データ
を加えた差分データをメモリ上に作成し、当該差分デー
タの大きさと変更量しきい値格納部5fに格納された変
更量しきい値とを比較する。そして、1ページに対応す
る差分データの大きさが変更量しきい値以下である場合
には、差分格納手段35に結果を通知する一方、差分デ
ータの大きさが変更量しきい値を超えている場合には、
ページ格納手段36に結果を通知する。
【0045】ここで、比較手段34によって求められる
差分データは、例えば図4に示すようにページが変更さ
れている場合には、変更のあったユニット1、3、4、
6に各ユニットのページ内の位置を表す識別データが付
されたものとなる。なお、複数のユニットが連続する場
合には、連続するユニットの位置を表す識別データをま
とめている。
【0046】差分格納手段35は、比較手段34によっ
て差分データの大きさが変更量しきい値以下であると通
知されたことに基づいて、差分データに、当該差分デー
タを識別するためのヘッダ部を付加したログレコードを
ログファイル2へ格納する。例えば、図4に示す変更ペ
ージがあった場合には、図5(a)に示すログレコード
となる。なお、差分格納手段35によって格納されるロ
グレコードのヘッダ部は、ページを変更したトランザク
ションの識別子と、当該ページを有するデータベースフ
ァイル1の識別子と、データベースファイル1内の当該
ページの位置(オフセット)と、当該ログレコードに対
する処理操作の指定”変更ページ差分操作”と、を備え
ている。
【0047】ページ格納手段36は、比較手段34によ
って差分データの大きさが変更量しきい値を超えると通
知されたことに基づいて、変更されたページ全体のデー
タに当該ページデータを識別するためのヘッダ部を付加
したログレコードをログファイル2へ格納する。例え
ば、図4に示す変更ページがあった場合には、図5
(b)に示すログレコードとなる。また、本実施例で
は、ページ格納手段36は、差分データの大きさが変更
量しきい値を超えると通知されたことに基づいて、直ち
に当該ページに対する判定手段33による処理及び比較
手段34による処理を終了させて、無駄な処理を省いて
いる。なお、ページ格納手段36によって格納されるロ
グレコードのヘッダ部は、当該ログレコードに対する処
理操作の指定が”変更ページ単位操作”となっている以
外は、差分格納データ35によって格納されるログレコ
ードと同様な内容のものとなっている。
【0048】変更ページ管理テーブル5dは、ログファ
イル2に格納されているログレコードを管理するメモリ
上のテーブルであり、ページと、当該ページを変更した
トランザクションの識別子と、当該ページに関するログ
レコードのログファイル2上の位置とを対応させて保持
する。例えば、データベース管理システムの起動時にお
いてログファイル2がある場合には、ログファイル2に
格納されている情報からテーブルが構成され、以後のペ
ージ操作が行われる度に更新される。
【0049】差分単位格納部5eは、ページ格納操作部
5aの入力手段31によって入力された差分単位を格納
する領域である。ページ変更量しきい値格納部5fは、
差分データを含むログレコードをログファイルに格納す
るか、ページ全体のデータを含むログレコードをログフ
ァイルに格納するかの判断の基準となる変更量しきい値
を格納する領域であり、本実施例では、変更量しきい値
を1ページの大きさとしている。
【0050】次に、上記したログ格納操作部5aによる
ページ格納操作の動作を図6を参照して説明する。この
ページ格納操作は、例えば、ページを変更したトランザ
クションが正常終了した場合や、ページを変更したトラ
ンザクションに対して、現時点のページの状態を保存す
ためのチェックポイント操作が呼び出された場合や、メ
モリ上においてページを保持する領域が不足してページ
の追い出しが必要となった場合等に行われる。
【0051】まず、分割手段32は、変更されたページ
に該当する変更前のページをメモリ上に読み出す(ステ
ップS1)。そして、分割手段32は差分単位格納部5
eから差分単位を取得する一方、判定手段33はページ
変更量しきい値部5fから変更量しきい値を取得する
(ステップS2)。
【0052】次いで、比較手段34が変更ページに対す
るログレコードの領域をメモリ上に確保し、当該ログレ
コードのヘッダ部に、ページを変更したトランザクショ
ンの識別子と、ページの属するデータベースファイルの
識別子と、ページのデータベースファイル中のオフセッ
トを設定する(ステップS3)。そして、分割手段32
がメモリ上の変更前のページと変更後のページとを前記
取得した差分単位に従って分割し、判定手段33が変更
後のページ中の前記分割されたユニットが変更されたか
否かを判定する(ステップS4)。
【0053】ユニットが変更されていると判定された場
合には、比較手段34が当該ユニットと、当該ユニット
のページ内の位置を表す識別データと、をログレコード
に差分データとして追加し(ステップS5)、現時点で
の差分データの大きさと前記取得した変更量しきい値と
を比較する(ステップS6)。
【0054】一方、ユニットが変更されていないと判定
された場合、又は、現時点での差分データの大きさが変
更量しきい値以下の場合には、次のユニットの組につい
て上記した処理を繰り返し(ステップS4〜S6)、ペ
ージ内のすべてのユニットに対して処理を行う(ステッ
プS7)。そして、すべてのユニットに対して処理を行
った場合には、差分格納手段34がログレコードのヘッ
ダ部の処理操作の指定を”変更ページ差分操作”に設定
し(ステップS8)、ログレコードをログファイル2に
格納するとともに、当該変更ページ管理テーブル5dに
ログレコードの情報を登録する(ステップS9)。
【0055】一方、現時点での差分データが変更量しき
い値を超える場合には、ページ格納手段36が当該ペー
ジ中の後続するユニットに対する判定手段33及び比較
手段34による処理を終了させ、直ちに変更後のページ
全体をログレーコード内の差分データに上書きし(ステ
ップS10)、ログレコードのヘッダ部の処理操作の指
定を”変更ページ単位操作”に設定し(ステップS1
1)、ログレコードをログファイル2に格納するととも
に、当該変更ページ管理テーブル5dにログレコードの
情報を登録する(ステップS9)。
【0056】したがって、通常は差分データを含むログ
レコードをログファイル2に格納しておき、変更量しき
い値を超える場合、すなわち、差分データを含むログレ
コードを格納すると効率が悪い場合には、ページ単位の
ログレコードをログファイルとして格納することによっ
て効率を向上することができる。なお、このようにペー
ジ単位のログレコードを格納した場合には、後述するペ
ージ適用操作、ページ読み出し操作においても操作効率
が向上する。
【0057】ここで、上記したページ格納操作によって
格納されたログファイル2中の変更情報をデータベース
ファイル1中のページに適用するページ適用操作を図7
を参照して説明する。なお、このページ適用操作は、ペ
ージ適用操作部5bによってトランザクションが正常終
了した以後の任意の時点で行われ、ページ適用操作の対
象となるログレコードは、変更ページ管理テーブル5d
中の要素を順に対象とする又は、ログファイル2の先頭
から順に走査することで得られる。
【0058】まず、ログファイル2からページ適用操作
対象のログレコードをメモリ上に読み出し(ステップS
12)、当該ログレコードのヘッダ部からトランザクシ
ョン識別子を取得し、当該トランザクションが正常終了
しているか否かを判定する(ステップS13)。正常終
了してなければ、データベースファイル1に適用するこ
とはないので処理を終了する。
【0059】一方、正常終了している場合には、ログレ
コードのヘッダ部の処理操作の指定を取得する(ステッ
プS14)。そして、処理操作指定が”変更ページ単位
操作”の場合には、ログレコードのページ全体をヘッダ
部に基づいてデータベースファイル1の該当するオフセ
ットの位置に書き込む(ステップS15)。
【0060】一方、処理操作指定が”変更ページ差分操
作”の場合には、差分単位格納部5eから差分単位を取
得し(ステップS16)、当該差分単位に基づいて、ロ
グレコードの差分データの先頭から順に、更新されたユ
ニットの識別データとユニットとを把握し、当該ユニッ
トのデータを、ヘッダ部に指定されたデータベースファ
イル1のオフセットに位置するページの識別データに基
づいた位置にユニットを書き込み(ステップS17)、
すべての差分データに対してユニットの書き込みが終わ
るまで処理(ステップS17)を繰り返し行う(ステッ
プS18)。
【0061】次に、データベースファイル1のページを
メモリ上へ読み出す際に利用されるページ読み出し操作
部5cによるページ読み出し操作を図8を参照して説明
する。なお、このページの読み出し操作は、応用プログ
ラム11から起動される操作によって、ページの読み出
し若しくは書き込みが必要となった場合や、例えば、変
更前のページの状態を得る場合などに行われる。
【0062】まず、変更ページ管理テーブル5d中に読
み出し対象のページに関するログレコードの情報が存在
するかを否かを判定する(ステップS19)。読み出し
対象のページに関するログレーコード情報が存在する場
合には、ログファイルから当該ページに関するログレコ
ードをログファイル2からメモリ上に読み出し(ステッ
プS20)、ログレコードのヘッダ部からトランザショ
ン識別子を取得し、当該トランザクションが正常終了し
ているか、若しくはページの読み出しを要求しているト
ランザクションであるか否かを判断する(ステップS2
1)。
【0063】トランザクションが上記した条件を満足す
る場合には、当該ログレコードのヘッダ部の処理操作指
定を取得し(ステップS22)、”変更ページ単位操
作”の場合には、ログレコードのページ全体をメモリ上
のページ読み出し領域に書き込む(ステップS23)。
【0064】一方、処理操作指定が”変更ページ差分操
作”の場合には、差分単位格納部5eから差分単位を取
得し(ステップS24)、メモリ上のページ読み出し領
域に既にデータベースファイル1から読み出し対象のペ
ージ全体が書き込まれているか否かを検出し(ステップ
S25)、書き込まれていない場合には、データベース
ファイル1から読み出し対象のページ全体をページ読み
出し領域にロードする(ステップS26)。
【0065】そして、ログレーコードの差分データから
前記差分単位に従ってユニット及び当該ユニットのペー
ジ中の位置を把握し、ページ読み出し領域に読み出され
ている読み出し対象のページの該当する位置にユニット
を上書きし(ステップS27)、差分データ中のすべて
のユニットに対して処理を繰り返す(ステップS2
8)。
【0066】ログレコードのヘッダ部のトランザクショ
ン識別子に該当するトランザクションが正常終了してい
ない、又は、ページの読み出しを要求していない場合、
又はログレコードに基づいてページの読み出し領域にデ
ータを読み出した場合には、現在処理したログレコード
が読み出し対象のページに関するログファイル2中の最
新のログレコードであるか否かを検出し(ステップS2
9)、最新のログレコードでない場合には、上記した処
理(ステップS20〜S29)を繰り返し行う。一方、
最新のログレコードである場合には、読み出し対象のペ
ージ全体がページ読み出し領域に書き込まれているか否
かを確認して(ステップS30)、操作を終了する。
【0067】なお、読み出し対象のページのデータがロ
グファイル中にない場合、又は、ログレコードによって
処理を行った後に、読み出し対象のページ全体が読み出
し領域に書き込まれていない場合には、データベースフ
ァイル1から読み出し対象のページをメモリ上の読み出
し領域にロードする(ステップS31)。
【0068】なお、上記した実施例において、比較手段
35及びページ格納手段36を備えない場合であって
も、入力手段31によってユニットの大きさを、例え
ば、データベースファイル1の特性にあった適切な大き
さに変更することができるので、ページ格納操作の処理
効率を向上することができる。
【0069】なお、上記した実施例では、所定数のユニ
ットをまとめた領域としてページを用いていたが、領域
としてはページに限らず、例えば、10個のユニットを
まとめたものを用いることもできる。なお、上記した実
施例では、変更量しきい値として、領域の大きさを用い
ていたが、例えば、データの転送が迅速に行われる環境
においては、領域の大きさ未満の大きさを変更量しきい
値としたほうがより望ましい場合もあり、変更量しきい
値としては、変更量しきい値による比較を行う時点で、
領域を一括してログファイルとした方が、変更のあった
ユニットの集合をログファイルとして格納するより効率
が良いといった状態での変更のあったユニットの集合に
関するしきい値が望ましい。
【0070】なお、上記した実施例では、入力手段31
はユニットの大きさの指定を受け付けて、適切な大きさ
にユニットを変更できるようにしていたが、所定数のユ
ニットをまとめた領域の大きさの指定を受け付けるよう
にして、領域の大きさについても適切に大きさを変更で
きるようにしてもよい。なお、ユニットの大きさ又は、
領域の大きさが予め設定されている場合には、設定され
ている大きさについては、必ずしも入力手段31が大き
さの指定を受け付ける必要はない。したがって、前記両
方の大きさが予め設定されている場合には、入力手段3
1を備えずともよい。
【0071】なお、上記した実施例において、ページ変
更量しきい値格納部5fに格納する変更量しきい値とし
て所定のユニット数を設定し、比較手段34をページ中
の変更のあったユニットの数と前記所定の数とを比較す
るようにし、差分格納手段を前記変更のあったユニット
の数が前記所定の数以下であることに基づいて、当該ユ
ニットの集合をログファイルに格納させるようにし、ペ
ージ格納手段36を前記変更のあったユニットの数が前
記所定の数を超えることに基づいて、ページを全体をロ
グファイル2に格納させるようすれば、上記したページ
適用操作及びページ読み出し操作において、操作の効率
を向上することができる。
【0072】すなわち、ログレコードに含まれるユニッ
トの数を所定値以下に抑えることができるため、ページ
適用操作及びページ読み出し操作において、ログレコー
ドから各ユニットを把握し、当該ユニットのページ中の
位置を把握して、ページの該当する位置を解析して書き
込むといった処理を抑えることができる。
【0073】
【発明の効果】以上説明したように、本発明の請求項1
に係るデータベース管理システムでは、ユニットの大き
さを指定できるようにしたために、適切な大きさのユニ
ットでページ格納操作を行うことができ、ページ格納操
作の処理効率が向上できる。また、本発明の請求項2に
係るデータベース管理システムでは、ページ中の所定数
のユニットをまとめた領域毎に変更のあったユニットの
集合をログファイルに格納する際のデータの大きさと所
定の大きさとを比較して、比較結果によってページ格納
操作を切り替えるようにしたために、効率のよいページ
格納操作を選択して行うことができる。
【0074】また、本発明の請求項3に係るデータベー
ス管理システムでは、ページ中の所定数のユニットをま
とめた領域毎に変更のあったユニットの数と所定の数と
を比較し、比較結果によってページ格納操作を切り替え
るようにしたために、ページ適用操作及びページ読み出
し操作の操作効率を向上させることができる。また、本
発明の請求項4に係るデータベース管理システムでは、
請求項2又は請求項3に記載したデータベース管理シス
テムにおいて、さらに、前記ユニットの大きさ又は前記
領域の大きさの少なくともいずれか一つの指定を受け付
けるようにしたために、ユニットの大きさ又は領域の大
きさの少なくともいずれか一方を適切に変更することが
でき、ログ管理処理の処理効率が向上できる。
【図面の簡単な説明】
【図1】 ページサーバアーキテクチャを利用するとと
もに、ログ方式を実行するデータベース管理システムの
構成図である。
【図2】 本発明の一実施例に係るログ管理部の機能構
成図である。
【図3】 本発明の一実施例に係るページ格納操作部の
機能構成図である。
【図4】 変更されたページの変更前及び変更後の状況
を表す図である。
【図5】 本発明の一実施例に係るログレコードの形式
を説明する図である。
【図6】 本発明の一実施例に係るページ格納操作を説
明するフローチャートである。
【図7】 本発明の一実施例に係るページ適用操作を説
明するフローチャートである。
【図8】 本発明の一実施例に係るページ読み出し操作
を説明するフローチャートである。
【図9】 ログ管理方式におけるページの流れを説明す
る図である。
【符号の説明】
1・・・データベースファイル、 2・・・ログファイ
ル、4a・・メモリ(ページバッファ)、5・・・ログ
管理部、 5a・・ページ格納操作部、31
・・入力手段、 32・・分割手段、33
・・判定手段、 34・・比較手段、3
5・・差分格納手段、 36・・領域格納手
段(ページ格納手段)、

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 データベースをページ単位に管理し、ペ
    ージに対する変更の情報をログファイルとして管理する
    データベース管理システムにおいて、 ユニットの大きさ指定を受け付ける入力手段と、 指定に従ってページをユニットに分割する分割手段と、 前記ページ中のユニット毎に変更があったか否かを判定
    する判定手段と、 変更があったと判定されたことに基づいて変更のあった
    ユニットをログファイルに格納する差分格納手段と、を
    備えたことを特徴とするデータベース管理システム。
  2. 【請求項2】 データベースをページ単位に管理し、ペ
    ージに対する変更の情報をログファイルとして管理する
    データベース管理システムにおいて、 ページをユニットに分割する分割手段と、 前記ページ中のユニット毎に変更があったか否かを判定
    する判定手段と、 ページ中の所定数のユニットをまとめた領域毎に変更の
    あったユニットの集合をログファイルに格納する際のデ
    ータの大きさと所定の大きさとを比較する比較手段と、 前記データの大きさが前記所定の大きさ以下であること
    に基づいて、当該ユニットの集合をログファイルに格納
    する差分格納手段と、 前記データの大きさが前記所定の大きさを超えることに
    基づいて、前記領域に含まれるすべてのユニットを一括
    してログファイルに格納する領域格納手段と、を備えた
    ことを特徴とするデータベース管理システム。
  3. 【請求項3】 データベースをページ単位に管理し、ペ
    ージに対する変更の情報をログファイルとして管理する
    データベース管理システムにおいて、 ページをユニットに分割する分割手段と、 前記ページ中のユニット毎に変更があったか否かを判定
    する判定手段と、 ページ中の所定数のユニットをまとめた領域毎に変更の
    あったユニットの数と所定の数とを比較する比較手段
    と、 前記変更のあったユニットの数が前記所定の数以下であ
    ることに基づいて、当該ユニットの集合をログファイル
    に格納する差分格納手段と、 前記変更のあったユニットの数が前記所定の数を超える
    ことに基づいて、前記領域に含まれるすべてのユニット
    を一括してログファイルに格納する領域格納手段と、を
    備えたことを特徴とするデータベース管理システム。
  4. 【請求項4】 請求項2又は請求項3に記載したデータ
    ベース管理システムにおいて、 さらに、前記ユニットの大きさ又は前記領域の大きさの
    少なくともいずれか一つの指定を受け付ける入力手段を
    備えたことを特徴とするデータベース管理システム。
JP8327920A 1996-11-22 1996-11-22 データベース管理システム Pending JPH10154092A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8327920A JPH10154092A (ja) 1996-11-22 1996-11-22 データベース管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8327920A JPH10154092A (ja) 1996-11-22 1996-11-22 データベース管理システム

Publications (1)

Publication Number Publication Date
JPH10154092A true JPH10154092A (ja) 1998-06-09

Family

ID=18204485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8327920A Pending JPH10154092A (ja) 1996-11-22 1996-11-22 データベース管理システム

Country Status (1)

Country Link
JP (1) JPH10154092A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466950B1 (en) 1998-10-20 2002-10-15 Mitsubishi Denki Kabushiki Kaisha Update log management device and an update log management method decreasing the data amount of transmitting and the update log amount of holding based on the result of comparing the amount of the update log with the amount of the updated data plus the log applied information
JP2007141224A (ja) * 2005-11-18 2007-06-07 Internatl Business Mach Corp <Ibm> データのブロックを伝送するための優先順位方式
JP2009266210A (ja) * 2008-02-28 2009-11-12 Huawei Technologies Co Ltd データ保護のための方法、装置および記憶デバイス
JP2011002985A (ja) * 2009-06-18 2011-01-06 Fuji Xerox Co Ltd データ管理プログラム及びデータ管理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466950B1 (en) 1998-10-20 2002-10-15 Mitsubishi Denki Kabushiki Kaisha Update log management device and an update log management method decreasing the data amount of transmitting and the update log amount of holding based on the result of comparing the amount of the update log with the amount of the updated data plus the log applied information
JP2007141224A (ja) * 2005-11-18 2007-06-07 Internatl Business Mach Corp <Ibm> データのブロックを伝送するための優先順位方式
JP2009266210A (ja) * 2008-02-28 2009-11-12 Huawei Technologies Co Ltd データ保護のための方法、装置および記憶デバイス
JP2011002985A (ja) * 2009-06-18 2011-01-06 Fuji Xerox Co Ltd データ管理プログラム及びデータ管理装置

Similar Documents

Publication Publication Date Title
US9952936B2 (en) Storage system and method of controlling storage system
US20020091902A1 (en) File system and data caching method thereof
US6539402B1 (en) Using periodic spaces of block ID to improve additional recovery
US8856467B2 (en) Management of metadata in a storage subsystem
EP1560224A2 (en) Data recovery apparatus and method used for flash memory
US20040059882A1 (en) Method and apparatus for making independent data copies in a data processing system
US5809542A (en) Dumping method for dumping data to a dump data storage device that manages the the dumping of data updated since a previous dump request
US20080162591A1 (en) Method of Logging Transactions and a Method of Reversing a Transaction
US10929052B2 (en) Snapshot space reduction method and apparatus
US20090157767A1 (en) Circular log amnesia detection
US7395283B1 (en) Method and apparatus for making independent data copies in a data processing system
JPH10154092A (ja) データベース管理システム
CN105430314A (zh) 视频数据存储访问控制方法及装置
US6487632B1 (en) Emulation technique for variable-length disk system to access data in a fixed-length disk system
JP4160817B2 (ja) ディスクサブシステム、計算機システム、それを管理するためのストレージ管理方法、および、管理プログラム
US7240151B1 (en) Methods and apparatus for transferring data in a content addressable computer system
JPH0816881B2 (ja) データベース更新方法
US7243113B2 (en) Information management system, information management method, and storage medium for managing execution records
CN107229535B (zh) 数据块的多副本存储方法、存储设备、数据读取方法
JP3043662B2 (ja) データバックアップ方式
CN103294570B (zh) 一种内存数据的备份方法和装置
CN110362424A (zh) 一种基于连续数据保护的快速恢复方法和系统
JPH06309209A (ja) ファイルバックアップ方式
JPS60250447A (ja) 磁気デイスクフアイルの事後更新方式
US20050207052A1 (en) Predictable journal architecture