JP2503288B2 - デ―タベ―ス処理方式 - Google Patents

デ―タベ―ス処理方式

Info

Publication number
JP2503288B2
JP2503288B2 JP2121756A JP12175690A JP2503288B2 JP 2503288 B2 JP2503288 B2 JP 2503288B2 JP 2121756 A JP2121756 A JP 2121756A JP 12175690 A JP12175690 A JP 12175690A JP 2503288 B2 JP2503288 B2 JP 2503288B2
Authority
JP
Japan
Prior art keywords
log
data
transaction
log data
storage area
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
JP2121756A
Other languages
English (en)
Other versions
JPH0418646A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2121756A priority Critical patent/JP2503288B2/ja
Publication of JPH0418646A publication Critical patent/JPH0418646A/ja
Application granted granted Critical
Publication of JP2503288B2 publication Critical patent/JP2503288B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔概要〕 トランザクションにより発生するデータの蓄積やその
参照を主とするようなオーダエントリ処理に適したデー
タベース処理方式に関し, ログデータをデータ挿入が主となるデータベース処理
の格納構造として扱うことにより,収集したデータの格
納コストを低減するとともに,トランザクションのコン
カレンシーを向上させることを目的とし, トランザクションにより発生するデータをログデータ
として取得するログデータ取得部と,取得したログデー
タが一時的に格納されるログ作業域と,二次記憶上に設
けられるログ格納域と,ログ作業域に格納されたログデ
ータを,トランザクションのコミット時にまたは非同期
にログ格納域に書き出すログデータ書き出し部と,ログ
作業域内のログデータまたはログ格納域内のログデータ
を検索するログデータ検索部とを備え,データの挿入処
理をログデータの取得だけで処理するように構成する。
〔産業上の利用分野〕
本発明は,トランザクションにより発生するデータの
蓄積やその参照を主とするようなオーダエントリ処理に
適したデータベース処理方式に関する。
伝票の収集を処理するようなオーダエントリ処理など
のデータ蓄積処理では,参照処理のリアルタイム性やデ
ータの読み込み順序性の保証の程度に応じて,データ蓄
積処理の並列性を向上させることが望まれている。
〔従来の技術〕
第5図は従来技術の例を示す。
第5図において,50−1,50−2はトランザクション処
理を行うアプリケーション,51はデータベース管理部,52
−1,52−2はデータベースバッファ,53は二次記憶上の
データベース格納域,54はログデータの収集を行うログ
管理部,55はログバッファ,56はログ格納域を表す。
アプリケーション50−1,50−2は,データベース格納
域53のデータを参照・更新する場合に,データベース管
理部51に処理を依頼し,データベースバッファ52−1,52
−2を介して,データを読み書きする。
データを更新した場合には,データの書き戻しや障害
時のリカバリのために,通常,ログ管理部54により,更
新前のデータの状態を示す更新前イメージ(BI)または
更新後イメージ(AI)のログデータをログバッファ55に
収集し,ログバッファ55が満杯になると,二次記憶上の
ログ格納域56にログデータを書き込む。
従来技術では,データベース格納域53へのデータの格
納処理と,ログ格納域56へのログデータの格納処理と
は,別な処理として行われており,ログ格納域56のログ
データを参照するのは,データベース格納域53の復旧を
行う場合や,サービス後に運用情報を収集する場合など
に限られていた。そして,ログ格納域56のログデータを
オンライン・トランザクション処理の一貫として検索す
るようなことはなかった。
〔発明が解決しようとする課題〕
受注システムなでのオーダエントリ処理では,一般に
データの発生順にデータを処理することが多く,シーケ
ンシャルファイル構造やヒープ構造などの挿入中心の格
納構造が適している。
このような格納構造に対するデータの格納では,最新
に格納する位置をトランザクション内でロックする必要
があるため,トランザクションがデータの挿入位置で完
全にシリアライズされる。そのため,複数のトランザク
ションのコンカレンシーが向上できない。
この欠点を解決するために,挿入するデータをトラン
ザクション内のローカルな作業域に保持して,トランザ
クションのコミット時に一括して処理することにより、
ロック期間を小さくする方法が考えられている。また,
データベース内の構造を細分化して,同時に複数のトラ
ンザクションのデータが挿入できるように構造を工夫し
たものもある。
オーダエントリ処理に適した構造は,実はデータベー
スにおけるトランザクション保証のために必要なログデ
ータの構造と類似性がある。しかし,従来考えられてい
る技術は,データベースのみに着目して,コンカレンシ
ーを改善しようとしているものであり,それなりに効果
はあるが,第5図に示すデータベース管理部51に特別な
制御機能を持たせる必要があった。そして,ログ格納部
54による処理とは独立しているため,処理上の無駄が生
じることになるという問題があった。
本発明は上記問題点の解決を図り、ログデータをデー
タ挿入が主となるデータベース処理の格納構造として扱
うことにより、収集したデータの格納コストを低減する
とともに,トランザクションのコンカレンシーを向上さ
せることを目的としている。
〔課題を解決するための手段〕
第1図は本発明の原理説明図である。
第1図において,10はCPUおよびメモリなどからなる処
理装置,11はデータの入出力を行う端末,12および13はト
ランザクションの処理を行うトランザクション処理部,1
4はオーダエントリ等のデータのログを取得するログデ
ータ取得部,15はログデータが一時的に格納されるログ
作業域,16はログデータを二次記憶に書き出すログデー
タ書き出し部,17はログデータの時刻に関するインデッ
クス,18はログデータを検索するログデータ検索部,19は
磁気ディスク装置などの二次記憶上のログ格納域を表
す。
ログデータ取得部14は,トランザクション処理部12が
端末11から入力したオーダエントリのデータを,ログデ
ータとして取得し,ログ作業域15に格納する処理を行う
ものである。
ログデータ書き出し部16は,ログ作業域15に蓄積され
たログデータを,トランザクションのコミット時にまた
はトランザクションとは非同期にトランザクションのコ
ミットまでに二次記憶上のログ格納域19に書き出す処理
を行うものである。
ログデータ検索部18は,ログ作業域15またはログ格納
域19に格納されたログデータを検索する処理を行うもの
である。すなわち,従来技術では,ログ格納域19に格納
されたログデータは,リカバリを目的としたヒストリカ
ルなデータとして用いられるだけであるが,本発明で
は,トランザクション処理部13等の要求により,ログデ
ータ検索部18によって随時検索できるようになってい
る。
これにより,データの挿入処理をログデータの取得だ
けで処理する。
さらに,ログデータ検索部18による検索で,ログデー
タの発生順を保証しつつ,高速に検索できるようにする
ために,時間に関係したログデータのインデックス17を
用意する。これを参照してログ格納域19をアクセスする
ことにより,ログデータ検索部18は,例えば何時までの
データ検索などという時間に依存するデータの検索を高
速に行うことができる。
〔作用〕
本発明は,オーダエントリ処理に適したデータ構造
は,ログデータの構造と類似性があることに着目し,ロ
グデータをデータベースとして扱い,データベースレコ
ードの挿入をログデータの取得だけで行う。ログデータ
には以下の性質があり,オーダエントリ処理に適したデ
ータベース処理の実現が可能となる。
ログデータは,ヒストリカルなデータ更新の履歴を持
つものであり,もともと発生順にレコードを格納するの
に適したデータ構造を持っている。
ログデータのトランザクションとしての保証(コミッ
トしたかアボートしたか)は,ログ情報として持つこと
により行っているので,ログを書くためのロックはトラ
ンザクションに依存しない一時的なロックでよい。
ログデータは,挿入したデータを復元するための情報
を持っているので,ログデータそのものをデータベース
として参照できる。
従来技術では,ログデータはログデータとして書き,
データベースはデータベースとして個々に書いていた
が,本発明では,以上のログデータの性質をデータベー
スのオーダエントリ処理として扱うことにより,ログデ
ータの書き出しだけでデータベース処理が可能となる。
ログデータをデータベースとして見ることにより,さ
らに, (a)コミット済のデータだけの参照, (b)コミット未の最新のデータの参照, (c)時間を指定した参照, および(a),(b),(c)の組み合わせによる参照
などがログデータの情報処理として実現できる。
〔実施例〕
第2図は本発明の第1の実施例,第3図は本発明の第
2の実施例,第4図は本発明の実施例に係るインデック
スの例を示す。
本発明は,ログの処理構成に依存して,種々の形態に
より実施が可能である。第2図に示す例では,第2図
(イ)に示すように,各トランザクション処理部12−1,
12−2ごとにログ作業域15−1,15−2を用意し,各々の
ログ作業域15−1,15−2にトランザクション内のログデ
ータを保存する。
これらのログデータは,コミット時またはコミットす
るまでに随時非同期にログ格納域19に移動する。この移
動処理は,ログの発生順に並んだログデータの集まりに
ついて一括して行う。
この例では,各トランザクション処理部12−1,12−2
ごとにログ作業域15−1,15−2が用意されるので,ログ
作業域15−1,15−2に対するログデータの格納時には,
トランザクション間のロックは不要であり,ログ作業域
15−1,15−2からログ格納域19へのログデータの書き出
し時にのみ,ログ格納域19に対するロックを行えばよ
い。
挿入したログデータは,ログ作業域15−1,15−2にあ
る場合に,そのトランザクション内で最新のデータとし
て参照可能である。
この処理構成は,第2図(ロ)に示すようになってい
る。
アクセス処理でデータ挿入があると,トランザクシ
ョンに依存したログ作業域15の更新を行う。
ログ作業域15に格納されたデータは,随時,ログ格
納域19に書き出す。
そのトランザクション内で,最新データの参照要求
があると,ログ作業域15のログデータを参照して要求に
応える。
他のトランザクションによるアクセス処理で,デー
タの検索要求があると,ログ格納域19を参照することに
より,コミット済データの検索を行う。
第3図に示す例では,第3図(イ)に示すように,ロ
グ作業域15を各トランザクション処理部12−1,12−2に
共通なログバッファとして使用する。ログ作業域15のデ
ータは,ログ格納域19に,随時まとめて書き出される。
各トランザクション処理部12−1,12−2がデータ発生
ごとにログ作業域15にデータを格納する場合には,ログ
作業域15に対するシリアライズ処理が必要であるが,ロ
グ作業域15は高速にアクセスできるため,ロック期間は
短い。
データの参照は,データ発生順の参照が可能である。
コミットした旨のログデータについても,ログ作業域15
に書き出されるので,このデータの有無により,ログ作
業域15の参照時に,コミット済かコミット未了かを判定
できる。
この処理構成は,第3図(ロ)に示すようになってい
る。
アクセス処理でデータ挿入があると,各トランザク
ションに共通なログ作業域15の更新を行う。
ログ作業域15に格納されたデータは,随時,ログ格
納域19に書き出す。
そのトランザクションまたは他のトランザクション
からデータ検索要求があると,ログ作業域15またはログ
格納域19を参照することにより,最新データまたはコミ
ット済データの検索を行う。
ところで,オーダエントリ処理では,時間に依存した
データの検索が必要になることが多い。そのため,次の
ように対処する。
(a)シーケンシャルな構造に対して,時間を指定した
検索を効率よく行うために,時間によるインデックスを
付ける。
(b)インデックスは,メンテナンスのコストを削減す
るために,1日分または1週間分といったある期間につい
て,1時間とか2時間とかいった単位の時間間隔に対応す
るものを,運用開始前から用意しておく。
(c)そして,ログデータは,その発生した時間の対応
するインデックスに従って挿入する。
なお,その他の参照のしかたとして,オーダエントリ
などでは,トランザクションとしての保証がある程度柔
軟に扱えることを利用し,トランザクションのコミット
はまだ終了していないが,可能な限りの最新のデータの
検索や,コミットしたデータだけの検索を,時間との関
係で行うことも可能である。
具体的には,時間によるインデックスは,次のように
構成する。
発生した各ログデータには,タイムスタンプを入れ
る。このタイムスタンプによるインデックスを付ける。
これにより,時間順のデータ検索や,ある時間間隔内の
データ検索ができる。ただし,無限に続く時間全体を,
ひとつのインデックスで対処することは現実的ではな
い。
ここでは,時間の範囲を,1日,1週間,あるいはログデ
ータとしての検索対象となるチェックポイント期間に対
応して,またインデックスとして示す時間間隔も1時間
や2時間または12時間などの単位で構成する。そして,
インデックスの拡張が必要になるような状態は,チェッ
クポイントの取得条件として,それ以上広がるインデッ
クスは別に管理する。
各々の期間のインデックスは,ログデータとして保存
しておくことにより,1年や2年などの古いデータの参照
も可能となる。ただし,このような場合は,性能は望め
ない。
第4図(イ)に示す例に従って,インデックス17の管
理について説明する。
発生したログには,タイムスタンプを入れる。
インデックス17は,1日分や1週間分を最初から作成
しておく。インデックス17が指すログデータ部のアドレ
スは,最初のログデータが格納される場所とする。
ログデータの書き出し時に,現在のインデックス17
の場所にログデータを格納する。
時間間隔の切り替え時には,ログデータの書き出し
と同時に,インデックス17の最新位置も更新する。
インデックス17の満杯時には,インデックス17を切
り替えるため,当初からインデックス17を複数用意して
おき,即座に新しいインデックス17に切り替える。
時間指定の検索に加えて,データの最新性に関して
コミット済であるかコミット未であるかを識別するため
の情報を,チェックポイント情報としてログデータ上に
取得する。
ログ制御の処理内容は以下のとおりである。
(i)データの挿入 第4図(ロ)に示すように,現在位置が示すブロッ
クへデータの格納を行う。
時間がインデックス17の時間間隔に達していたなら
ば,次のインデックスポインタを設定し,現在の位置も
更新して,そのブロックにログデータを挿入する。
インデックス範囲の時間が経過したならば,予備の
インデックス17に切り替える。
(ii)データの参照 指定された日時のインデックス17を検索する。この
対象としてはグローバルなインデックス17となるが、こ
のメンテナンスも同様である。
該当インデックス17から,要求されたログデータを
取り出す。
コミット済かどうかにより,必要なデータかどうか
を判断する。
このログ以降のログを順に検索し,必要なログだけ
を取り出す。
データベースの復元のための参照の場合,取り出し
たログデータよりデータベースの内容を復元する。
以上のように,時間に関係するインデックス17を備え
ることにより,データの参照時にログデータの量に依存
してかかるコストの軽減が可能になる。
〔発明の効果〕
以上説明したように,本発明によれば,オーダエント
リ処理などにおいて,ログデータそのものをデータベー
スとして扱うことにより,収集したデータの格納コスト
を低減させ,かつ従来のような緻密なデータベースにお
けるロック制御が不要となるため,トランザクションの
コンカレンシーを向上させることが可能になる。
【図面の簡単な説明】
第1図は本発明の原理説明図, 第2図は本発明の第1の実施例, 第3図は本発明の第2の実施例, 第4図は本発明の実施例に係るインデックスの例, 第5図は従来技術の例を示す。 図中,10は処理装置,11は端末,12および13はトランザク
ション処理部,14はログデータ取得部,15はログ作業域,1
6はログデータ書き出し部,17はインデックス,18はログ
データ検索部,19はログ格納域を表す。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】トランザクションにより発生するデータを
    管理する計算機システムにおけるデータベース処理方式
    において, トランザクションにより発生するデータをログデータと
    して取得するログデータ取得部(14)と, 取得したログデータが一時的に格納されるログ作業域
    (15)と, 二次記憶上に設けられるログ格納域(19)と, ログ作業域(15)に格納されたログデータを,トランザ
    クションのコミット時にまたはトランザクションがコミ
    ットするまでにトランザクションとは非同期にログ格納
    域(19)に書き出すログデータ書き出し部(16)と, ログ作業域(15)内のログデータまたはログ格納域(1
    9)内のログデータを検索するログデータ検索部(18)
    と, ログ作業域(15)内のログデータおよびログ格納域(1
    9)内のログデータをトランザクションの処理対象とす
    るデータベースとして扱い,データの挿入処理を前記ロ
    グデータ取得部(14)によるログデータの取得だけで行
    い,自トランザクションまたは他トランザクションにお
    いて発生したデータの参照を,前記ログデータ検索部
    (18)によるログデータの検索で行うトランザクション
    処理部(12,13)とを備えた ことを特徴とするデータベース処理方式。
  2. 【請求項2】請求項1記載のデータベース処理方式にお
    いて, 時間に関係したログデータのインデックス(17)を備
    え, 前記ログデータ検索部(18)は,前記インデックスを参
    照することにより,時間に依存したデータの検索,コミ
    ット済のデータだけの検索,コミット未の最新のデータ
    の検索またはこれらを組み合わせた検索を,前記トラン
    ザクション処理部(12,13)の指定に応じて処理する手
    段を持つ ことを特徴とするデータベース処理方式。
JP2121756A 1990-05-11 1990-05-11 デ―タベ―ス処理方式 Expired - Fee Related JP2503288B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2121756A JP2503288B2 (ja) 1990-05-11 1990-05-11 デ―タベ―ス処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2121756A JP2503288B2 (ja) 1990-05-11 1990-05-11 デ―タベ―ス処理方式

Publications (2)

Publication Number Publication Date
JPH0418646A JPH0418646A (ja) 1992-01-22
JP2503288B2 true JP2503288B2 (ja) 1996-06-05

Family

ID=14819111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2121756A Expired - Fee Related JP2503288B2 (ja) 1990-05-11 1990-05-11 デ―タベ―ス処理方式

Country Status (1)

Country Link
JP (1) JP2503288B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715447A (en) * 1991-08-06 1998-02-03 Fujitsu Limited Method of and an apparatus for shortening a lock period of a shared buffer
DE69228297T2 (de) * 1991-08-06 1999-06-02 Fujitsu Ltd Verfahren und vorrichtung zur reduzierung der sperrzeit eines gemeinsamen puffers
US7299378B2 (en) * 2004-01-15 2007-11-20 Oracle International Corporation Geographically distributed clusters
JP4940730B2 (ja) * 2006-03-31 2012-05-30 富士通株式会社 データベースシステム運用方法,データベースシステム,データベース装置及びバックアッププログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62225835A (ja) * 1986-03-28 1987-10-03 Mitsubishi Electric Corp ポリオレフイン系透湿性フイルムを使用した加湿器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62225835A (ja) * 1986-03-28 1987-10-03 Mitsubishi Electric Corp ポリオレフイン系透湿性フイルムを使用した加湿器

Also Published As

Publication number Publication date
JPH0418646A (ja) 1992-01-22

Similar Documents

Publication Publication Date Title
JP2531894B2 (ja) デ―タ処理装置
EP3418883B1 (en) Apparatus and method for read optimized bulk data storage
CN100412862C (zh) 具备文件管理功能的文件系统及文件管理方法
US7933927B2 (en) Method and apparatus for building index of source data
US5561795A (en) Method and apparatus for audit trail logging and data base recovery
Lehman et al. A recovery algorithm for a high-performance memory-resident database system
EP2590086B1 (en) Columnar database using virtual file data objects
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
US7099897B2 (en) System and method for discriminatory replaying of log files during tablespace recovery in a database management system
EP0501160A2 (en) Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor
US5581750A (en) System and method for improving data recovery performance
US7587429B2 (en) Method for checkpointing a main-memory database
EP0501180A2 (en) Dynamic, finite versioning for concurrent transaction and query processing
Graefe A survey of B-tree logging and recovery techniques
KR20010022064A (ko) 데이터베이스에 관한 방법
JP2503288B2 (ja) デ―タベ―ス処理方式
EP4002148A1 (en) Cloud-native object storage for page-based relational database
US11593352B2 (en) Cloud-native object storage for page-based relational database
CN114816224A (zh) 数据管理方法和数据管理装置
US20230315712A1 (en) Method of making a file containing a secondary index recoverable during processing
US20230315708A1 (en) Updating a secondary index from an audit trail
US20230315705A1 (en) Creating a secondary index using a clone
US20230315707A1 (en) Creating a secondary index
Bhattacharjee et al. Efficient Bulk Deletes for Multi Dimensionally Clustered Tables in DB2.
JPH04155548A (ja) ログ管理・復旧処理方式

Legal Events

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