JP2002351715A - 書き込み遅延データベース管理システム - Google Patents

書き込み遅延データベース管理システム

Info

Publication number
JP2002351715A
JP2002351715A JP2002044294A JP2002044294A JP2002351715A JP 2002351715 A JP2002351715 A JP 2002351715A JP 2002044294 A JP2002044294 A JP 2002044294A JP 2002044294 A JP2002044294 A JP 2002044294A JP 2002351715 A JP2002351715 A JP 2002351715A
Authority
JP
Japan
Prior art keywords
data holding
data
deletion
holding means
unit
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
JP2002044294A
Other languages
English (en)
Inventor
Tetsuya Ikeda
哲也 池田
Kensaku Yamamoto
研策 山本
Takuya Hiraoka
卓也 平岡
Hiroshi Takegawa
弘志 竹川
Yasutsugu Ogawa
泰嗣 小川
Kazushige Asada
一繁 浅田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002044294A priority Critical patent/JP2002351715A/ja
Publication of JP2002351715A publication Critical patent/JP2002351715A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 高度な検索要求に高速に応答できる性能を維
持しつつ、システム稼働中の更新性能を向上させること
が可能な、リレーショナルデータベースを管理するため
のデータベース管理システムを提供する。 【解決手段】 検索向けデータ保持手段4は検索操作の
処理は高速だが変更操作の処理は低速、挿入向けデータ
保持手段5及び削除向けデータ保持手段6は検索操作の
処理は低速だが変更操作の処理は高速とする。データ転
送手段7は、データ保持手段5,6で処理されたデータ
の反映を行うために、データ保持手段5,6から検索向
けデータ保持手段4へデータを転送する。データベース
操作要求処理手段3は、入力されたデータベースに対す
る操作要求を各データ保持手段4,5,6のそれぞれに
振り分けて実行する。トランザクション処理手段2は、
データ転送手段7とデータベース操作要求処理手段3と
の間でデータの一貫性を保証する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース管理
システムに関し、より詳細には、例えば文書管理システ
ムのように更新と検索が頻繁に発生するデータベースシ
ステムに適用可能な、データベースの更新及び検索の処
理を行うための書き込み遅延データベース管理システム
に関する。
【0002】
【従来の技術】リレーショナルデータベースはデータを
表で表現して扱う。表はタプルの集合であり、タプルは
属性値の並びである。表の実体はファイルに格納され
る。データベースに対する操作は、検索操作、挿入操
作、更新操作、及び削除操作に分けることができる。検
索操作は属性値に関する条件を検索条件として与えてそ
れに合致するタプルの集合を得る操作である。挿入操作
は与えられた属性値を持った新たなタプルを表に挿入す
る操作である。更新操作は表から選び出されたタプルの
属性値を新たな値に変更する操作である。削除操作は表
から選び出されたタプルを削除する操作である。挿入
(Insert)操作、更新(Update)操作、削除(Delete)
操作をまとめてここでは変更操作と呼ぶことにする。
【0003】リレーショナルデータベースに代表される
データベースを用いたシステムで重要視される性能の1
つは検索操作に対する応答時間である。検索操作に対す
る応答時間を短縮するために用いられる方法は索引ファ
イルの導入である。索引ファイルは1つ又は複数の属性
値を特定の構造に変換することでそれらの属性値に関す
る条件を高速に評価できるようにしたものとして一般化
することができる。
【0004】一方、変更操作においては索引ファイルの
更新にかかる時間が性能を低下させる原因となってい
る。これまでは変更操作に対する応答時間で測られる性
能は重要視されてこなかった。それは検索操作に比べて
変更操作の要求頻度が少ないこと、利用形態として通常
は主に検索操作のみが実行され、大量の変更操作は夜間
などにシステムを停止した状態で行うことができるこ
と、などの状況によっている。
【0005】しかし、オンラインシステムのようにリア
ルタイム性が求められる場合においては変更操作に対す
る応答時間が重要視される。このような問題に対し、例
えば、特開平10−143412号公報に記載の「デー
タベース管理システム」では、データベースへの書き込
みを磁気ディスクに反映する前に不揮発性メモリに一時
的に保持して、該当データの参照には磁気ディスクの代
わりに不揮発性メモリをディスクキャッシュとして用い
ている。しかしながら、ディスクキャッシュには構造が
単純なデータしかおくことができず、高機能の索引ファ
イルを用いることはできないという問題が生じる。
【0006】データベースシステムを複数のユーザが同
時に利用する場合、検索操作と変更操作が非同期に要求
される。このときにデータの一貫性を保つためにトラン
ザクション処理が用いられる。トランザクション処理に
ついては[1]「“トランザクション処理システム入
門”フィリップ・A・バーンスタイン、エリック・ニュ
ーカマー 日経BP社」に詳しく説明されている。
【0007】トランザクションを完全に隔離するとデー
タの一貫性がどの時点においても保証されるようになる
が、同時実行性の低下によって全体のスループットが著
しく低下する場合がある。この問題を回避するためにア
イソレーションレベルの概念が用いられる。アイソレー
ションレベルについては[2]「“A Critique of ANSI
SQL Isolation Levels”Hal Berenson, Philip A Bern
stein, Jim Gray, JimMelton, Elizabeth J. O'Neil, P
atrick E. O,Neil Proc. ACM SIGMOD Conf. (Jun. 199
5) p.1-10」に詳しく説明されている。
【0008】上述したごとくに、データベースの扱うデ
ータが大量になるなかで、システムを停止することなく
稼動させつづけることが求められるようになり、本出願
人は、特願2000−252472号明細書において、
高度な検索要求に高速に応答できる性能を維持しつつ、
システム稼働中の更新性能を向上させることができるデ
ータベース管理方式及びシステムを提案した。
【0009】しかしながら、特願2000−25247
2号明細書におけるデータベース管理方式及びシステム
においては、変更処理(挿入、更新、削除)を一つのデ
ータ保持手段で処理している。そのため削除されたタプ
ルを識別するために削除フラグという属性値を用意して
いる。検索結果を求める際には求まった結果集合の全て
のタプルの削除フラグを調べて結果から取り除く処理が
必要であった。
【0010】一方、トランザクションは、原子性、一貫
性、隔離性、耐久性という4つの重要な性質を持つ。原
子性はあるトランザクションが成功したときはそのトラ
ンザクションで実行された処理が全てデータベースに反
映されており、失敗したときはそのトランザクションで
実行された処理が全て無効になっており、そのどちらで
もない状態になることはない、という性質である。トラ
ンザクションの成功ではコミット、失敗ではロールバッ
ク又はアボートと呼ばれる処理が行われる。
【0011】コミットとロールバックを実現する従来の
一般的な方法はトランザクションの開始及びそのトラン
ザクション中に行われた変更操作の履歴をログに記録し
ていき、コミットではコミットしたことを記録、ロール
バックではその時点までに記録されているログの内容を
トランザクションの開始までさかのぼって逆操作を行
う。ログは耐久性を保証するための回復処理にも使用さ
れる。
【0012】一貫性が保証できるアイソレーションレベ
ルにした場合、トランザクション中に変更操作をするレ
コードにかけられたロックはコミット又はロールバック
が完了するまで外すことができない。つまり、大量のデ
ータに対する変更操作を行ったトランザクションをロー
ルバックする時間が長いと、それだけ他のトランザクシ
ョンによる変更操作の応答時間が長くなってしまう。こ
のことから、大量のデータ操作をしたトランザクション
がロールバックした際に行われる逆操作にも高速性が求
められる。
【0013】
【発明が解決しようとする課題】本発明は、上述のごと
き実情に鑑みてなされたものであり、高度な検索要求に
高速に応答できる性能を維持しつつ、システム稼働中の
更新性能をさらに向上させることが可能なデータベース
管理システムを提供することをその目的とする。
【0014】本発明はさらに、大量のデータ操作をした
トランザクションがロールバックした際に行われる逆操
作を高速にすることが可能なデータベース管理システム
を提供することを他の目的とする。
【0015】
【課題を解決するための手段】本発明に係るデータベー
ス管理システム、プログラム、及び記録媒体において
は、削除処理のために別の削除向けデータ保持手段を使
用する。このデータ保持手段には挿入向けデータ保持手
段(特願2000−252472号明細書に記載の発明
における変更向けデータ保持手段)と同じ機構を使用す
ることができる。検索結果を求める際には検索向け,挿
入向け,削除向けのデータ保持手段から求まったタプル
IDの集合に対する集合演算のみでよくタプルの属性値
を参照する必要がなくなり処理が効率よく行える。
【0016】請求項1の発明は、データベースを管理す
るためのデータベース管理システムにおいて、データの
検索操作の処理は高速だがデータの変更操作の処理は低
速な検索向けデータ保持手段と、データの変更操作の処
理は高速な挿入向けデータ保持手段と、データの変更操
作の処理は高速な削除向けデータ保持手段と、前記挿入
向けデータ保持手段及び削除向けデータ保持手段とで処
理されたデータの反映を行うために、前記挿入向けデー
タ保持手段及び削除向けデータ保持手段から前記検索向
けデータ保持手段へデータを転送するデータ転送手段
と、データベースに対する操作要求を該操作要求の内容
に応じて前記挿入向けデータ保持手段及び削除向けデー
タ保持手段と前記検索向けデータ保持手段のそれぞれに
振り分けて実行するデータベース操作要求処理手段と、
前記データ転送手段と前記データベース操作要求処理手
段との間でデータの一貫性を保証するトランザクション
処理手段と、を有することを特徴としたものである。
【0017】請求項2の発明は、請求項1の発明におい
て、前記データ転送手段に転送指定時刻情報を保持させ
ておくことにより、該データ転送手段による前記検索向
けデータ保持手段へのデータの変更操作を前記転送指定
時刻情報に指定された時刻まで遅延することができるこ
とを特徴としたものである。
【0018】請求項3の発明は、請求項1の発明におい
て、前記データ転送手段は、該データ転送手段が実行す
べき前記検索向けデータ保持手段への変更操作要求が一
定数になるごとに変更操作を実行することを特徴とした
ものである。
【0019】請求項4の発明は、請求項1の発明におい
て、前記挿入向けデータ保持手段及び削除向けデータ保
持手段はそれぞれ複数備えるものとし、当該データベー
ス管理システムは、複数のユーザからのデータベース操
作要求を入力するデータベース操作要求入力手段と、前
記挿入向けデータ保持手段及び削除向けデータ保持手段
を、同時に実行できるトランザクションの最大数として
システムに対して定められた個数分、予め作成してお
き、トランザクションの開始,コミット,ロールバック
に応じて、それぞれの挿入向けデータ保持手段及び削除
向けデータ保持手段と各トランザクションの関係を記録
し変更するデータ保持部管理手段と、を有することを特
徴としたものである。
【0020】請求項5の発明は、請求項4の発明におい
て、前記データ保持部管理手段は、それぞれの挿入向け
データ保持手段について、対応するトランザクションの
識別子とともに、未使用,使用中,コミット済み,転送
中の別を保持し、さらに、前記データ保持部管理手段
は、データベース操作要求処理手段にタプル挿入要求が
あった場合に、(1)未使用の挿入向けデータ保持手段
がある場合、それを使用中の状態にして要求を発したト
ランザクションの識別子を記録し、(2)未使用の挿入
向けデータ保持手段が1つもない場合、コミット済みの
挿入向けデータ保持手段の中から前記検索向けデータ保
持手段へのデータ転送を行うものを1つ選び転送中の状
態にした上で、前記データ転送手段によりデータ転送を
行った後、それを未使用の状態にして要求を発したトラ
ンザクションの識別子を記録し、(3)未使用又はコミ
ット済みの挿入向けデータ保持手段が1つもない場合、
少なくとも1つの挿入向けデータ保持手段が未使用又は
コミット済みになるまで待ってからそれに対して前記
(1)又は(2)と同様の操作をし、前記データベース
操作要求処理手段は、その要求を発したトランザクショ
ンの識別子が記録されている挿入向けデータ保持手段に
タプルを挿入し、前記データ保持部管理手段は、前記ト
ランザクション処理手段にトランザクションのコミット
要求があった場合には、その要求を発したトランザクシ
ョンの識別子が記録されている挿入向けデータ保持手段
の状態をコミット済みにし、前記トランザクション処理
手段にトランザクションのロールバック要求があった場
合には、その要求を発したトランザクションの識別子が
記録されている挿入向けデータ保持手段のデータを全て
一括して破棄した上でその状態を未使用にすることを特
徴としたものである。
【0021】請求項6の発明は、請求項4の発明におい
て、前記データ保持部管理手段は、それぞれの削除向け
データ保持手段について、対応するトランザクションの
識別子とともに、未使用,使用中,コミット済み,転送
中の別を保持し、さらに、前記データ保持部管理手段
は、データベース操作要求処理手段にタプル削除要求が
あった場合に、(1)未使用の削除向けデータ保持手段
がある場合、それを使用中の状態にして要求を発したト
ランザクションの識別子を記録し、(2)未使用の削除
向けデータ保持手段が1つもない場合、コミット済みの
削除向けデータ保持手段の中から前記検索向けデータ保
持手段へのデータ転送を行うものを1つ選び転送中の状
態にした上で、前記データ転送手段によりデータ転送を
行った後、それを未使用の状態にして要求を発したトラ
ンザクションの識別子を記録し、(3)未使用又はコミ
ット済みの削除向けデータ保持手段が1つもない場合、
少なくとも1つの削除向けデータ保持手段が未使用又は
コミット済みになるまで待ってからそれに対して前記
(1)又は(2)と同様の操作をし、前記データベース
操作要求処理手段は、その要求を発したトランザクショ
ンの識別子が記録されている削除向けデータ保持手段に
タプルを挿入し、前記データ保持部管理手段は、前記ト
ランザクション処理手段にトランザクションのコミット
要求があった場合には、その要求を発したトランザクシ
ョンの識別子が記録されている削除向けデータ保持手段
の状態をコミット済みにし、前記トランザクション処理
手段にトランザクションのロールバック要求があった場
合には、その要求を発したトランザクションの識別子が
記録されている削除向けデータ保持手段のデータを全て
一括して破棄した上でその状態を未使用にすることを特
徴としたものである。
【0022】請求項7の発明は、請求項5及び請求項6
の発明において、前記データ保持部管理手段が管理する
挿入向けデータ保持手段及び削除向けデータ保持手段
は、当該データベース管理システム起動時には存在して
おらず、前記(3)で未使用又はコミット済みの挿入向
けデータ保持手段又は削除向けデータ保持手段が1つも
ない場合に、挿入向けデータ保持手段の数又は削除向け
データ保持手段の数が所定数を超えていなければ新たに
挿入向けデータ保持手段又は削除向けデータ保持手段を
作成してそれを使用し、前記数が前記所定数を超えてい
るときには少なくとも1つの挿入向けデータ保持手段又
は削除向けデータ保持手段が未使用又はコミット済みに
なるまで待つことと、コミット済みの挿入向けデータ保
持手段又は削除向けデータ保持手段についてデータ転送
が完了したときに、或いは使用中の挿入向けデータ保持
手段又は削除向けデータ保持手段と対応しているトラン
ザクションにロールバック要求があったときに、前記コ
ミット済み又は使用中の挿入向けデータ保持手段又は削
除向けデータ保持手段を抹消することを特徴としたもの
である。
【0023】請求項8の発明は、請求項5及び請求項6
の発明において、前記データ保持部管理手段は、時間間
隔を保持し、該データ保持部管理手段は、コミット済み
の挿入向けデータ保持手段のデータ転送をタプル挿入や
タプル削除要求時に行うのではなく、前記保持する時間
間隔を経過するごとにコミット済みであるような挿入向
けデータ保持手段又は削除向けデータ保持手段につい
て、前記データ転送手段によりデータ転送を実行した上
で、データ転送を実行した挿入向けデータ保持手段又は
削除向けデータ保持手段の状態を未使用に変更すること
を特徴としたものである。
【0024】請求項9の発明は、請求項5及び請求項6
の発明において、前記データ保持部管理手段は、未使用
の挿入向けデータ保持手段又は削除向けデータ保持手段
の数が一定数以下になるごとにコミット済みであるよう
な挿入向けデータ保持手段又は削除向けデータ保持手段
について、前記データ転送手段によりデータ転送を実行
した上で、データ転送を実行した挿入向けデータ保持手
段又は削除向けデータ保持手段の状態を未使用に変更す
ることを特徴としたものである。
【0025】
【発明の実施の形態】<システム構成>図1は、本発明
の一実施形態に係るデータベース管理システムの機能を
説明するためのブロック構成図である。以下、リレーシ
ョナルデータベースを代表させて説明するが、通常のデ
ータベースにも本実施形態に係る発明は適用可能であ
る。データベース操作要求入力手段1からデータベース
に対する操作要求が入力され、データベース操作要求処
理手段3が操作を実行する。検索向けデータ保持手段4
は、データベースの検索操作を処理する。また挿入向け
データ保持手段5はデータベースのデータ挿入操作、削
除操作及び更新操作を処理し、削除向けデータ保持手段
6はデータベースのデータ挿入操作及び削除操作を処理
する。なお、ここでデータ保持手段4,5,6として説
明しているものは、例えばリレーショナルデータベース
においては索引ファイル及び索引ファイルを用いた処理
を行うための手段であり、データを参照等するために関
連付けて保持し、その関連付けに従って各種処理を行な
う手段である。データ転送手段7は、挿入向けデータ保
持手段5及び削除向けデータ保持手段6からタプルを読
みとって検索向けデータ保持手段4に対するタプルの挿
入、更新、削除の操作を行う。トランザクション(排他
制御)処理手段2は、システムにおけるトランザクショ
ン制御を行う。本実施形態によれば、検索向けデータ保
持手段4が提供する高度な検索要求を高速に処理する能
力を保ちつつ、それによって更新性能が低下することを
防ぐことができる。これら各要素については、この後さ
らに詳しく説明する。
【0026】(データベース操作要求入力手段)図2
は、本発明を具体化するシステム構成の一例を示す図
で、データベース操作要求入力手段1は、入力端末21
として実現される。データベースを保持するサーバホス
ト10は、CPU11、プログラム領域12aとデータ
領域12bとを有するメモリ12、及びハードディスク
13がバス14にて接続され、このサーバホストに対し
てLAN22により複数の入力端末21が接続可能とな
っている。この例におけるデータベース操作要求入力手
段1は、複数のユーザからのデータベース操作要求を入
力することができるものとする。
【0027】ユーザは入力端末21から例えばSQL文
の形式で文字列により表現されたデータベース操作要求
を入力する。データベース操作要求はLAN22を通じ
てサーバーホスト10に送られて処理される。処理の結
果は再びLAN22を通じて入力端末21に送られ、当
該入力端末21のディスプレイに表示するなどしてユー
ザに知らせることができる。この例によれば、複数のユ
ーザから非同期に要求されるデータベース操作要求に対
して検索向けデータ保持手段4と挿入向けデータ保持手
段5及び削除向けデータ保持手段6の整合性を保ちなが
ら検索にも更新にも高速に応答することができる。
【0028】(データベース操作要求処理手段)図3
は、データベース操作要求処理手段の処理手順の一例を
示すフロー図である。データベース操作要求の種類によ
って処理内容が分かれる。この例では表の各タプルは一
意に定まるID(タプルID)を付与され、タプルは全
てタプルIDで識別される。
【0029】データベース操作要求処理手段3がデータ
ベース操作要求処理を受け取ると(ステップS1)、挿
入操作かどうかを判断し(ステップS2)、挿入操作の
場合は新しいタプルに対してタプルIDを取得した後
(ステップS3)、挿入向けデータ保持手段5に対して
タプルの挿入操作を実行し(ステップS4)、その結果
を返す(ステップS5)。
【0030】ステップS2で挿入操作でない場合は、検
索向けデータ保持手段4,挿入向けデータ保持手段5,
削除向けデータ保持手段6のそれぞれに検索操作を実行
し(ステップS6〜S8)、それぞれの検索結果集合R
r,Ri,Rdから、最終結果集合R(R=Rr+Ri
−Rd;ただし、+は論理和、−は論理差をあらわ
す。)を作って結果とする(ステップS9)。
【0031】次いで、ステップS10で検索操作であれ
ば、その結果を返し(ステップS5)、検索操作でなけ
ればさらに削除操作かどうかを判断し(ステップS1
1)、削除操作でなければ更新操作として、検索操作と
同様の手順で選ばれたタプルに対して新しい値に変更し
たものを用いて挿入向けデータ保持手段5に対してタプ
ルの更新操作を実行し(ステップS15)、その結果を
返す(ステップS5)。
【0032】ステップS11で削除操作である場合は、
検索操作と同様の手順で選ばれたタプルがRiにある場
合には(ステップS12でYES)、挿入向けデータ保
持手段5に対して削除処理を実行し(ステップS1
3)、その結果を返す(ステップS5)。Riにない場
合(ステップS12でNO)、すなわちRrにある場合
には、タプルを削除向けデータ保持手段6に対して挿入
処理を実行し(ステップS14)、その結果を返して
(ステップS5)処理を終了する。
【0033】(検索向けデータ保持手段)検索向けデー
タ保持手段4は、データベース操作要求処理手段3が実
行する検索操作を処理する。また、データ転送手段7が
実行する変更操作を処理する。検索向けデータ保持手段
4は検索操作を高速で実行できる代わりに変更操作が比
較的低速である。例えば、全文検索を行うことができる
全文検索サーバを用いることが考えられる。
【0034】(挿入向けデータ保持手段)挿入向けデー
タ保持手段5はデータベース操作要求処理手段3が実行
する挿入操作、削除操作及び更新操作を処理する。ま
た、データ転送手段7が実行する削除操作を処理する。
挿入向けデータ保持手段5は変更操作を高速に実行でき
る。例えばOSが管理する通常のファイルを用いること
が考えられる。
【0035】通常のファイルのように挿入向けデータ保
持手段5が検索操作を実行できない場合は、保持してい
るタプルを逐次的に返しデータベース操作要求処理手段
3が検索条件を評価(全数検索と呼ぶ)する。挿入向け
データ保持手段5が保持するタプル数は検索向けデータ
保持手段4が保持するタプル数に比べて非常に少数なの
で全数検索を行っても応答時間に影響しない。
【0036】(削除向けデータ保持手段)削除向けデー
タ保持手段6は、データベース操作要求処理手段3が実
行する挿入操作を処理する。また、データ転送手段7が
実行する削除操作を処理する。削除向けデータ保持手段
6は挿入操作を高速に実行できる。例えばOSが管理す
る通常のファイルを用いることが考えられる。
【0037】通常のファイルのように削除向けデータ保
持手段6が検索操作を実行できない場合は、保持してい
るタプルを逐次的に返しデータベース操作要求処理手段
3が検索条件を評価(全数検索と呼ぶ)する。削除向け
データ保持手段6が保持するタプル数は検索向けデータ
保持手段4が保持するタプル数に比べて非常に少数なの
で全数検索を行っても応答時間に影響しない。
【0038】挿入向けデータ保持手段5,削除向けデー
タ保持手段6,検索向けデータ保持手段4のいずれか1
又は複数は、それ自体が独立して動作可能にデータベー
ス管理システムを構成することができるものであってよ
い。このようなデータ保持手段4,5,6のいずれかを
本発明のデータベース管理システムに適用すればよい。
すなわち、既存のデータベース管理システムで検索は高
速だが更新が比較的低速であるようなものに対して、そ
のデータベース管理システムに特別な変更を施すことな
く、更新要求への応答を向上することができる。また、
逆に既存のデータベース管理システムの更新応答が高速
ならば、検索が高速なデータ保持手段と組み合わせるこ
とによって、更新応答性能を生かしながら検索要求への
応答を向上することができる。
【0039】また、挿入向けデータ保持手段5及び/又
は削除向けデータ保持手段6がメモリ上にあるようにし
てもよく、メモリが大量にある場合に、変更向けデータ
保持手段、すなわち挿入向けデータ保持手段5,削除向
けデータ保持手段6をメモリ上で利用することで更新性
能の著しい向上が実現できる。
【0040】また、検索向けデータ保持手段4及び挿入
向けデータ保持手段5及び削除向けデータ保持手段6
は、属性値の特性に応じてその形態を選定することが好
ましく、例えばデータ量が少ない属性値については上述
のごとくのメモリ上で挿入向けデータ保持手段5及び削
除向けデータ保持手段6を用いることによって性能の向
上が実現できる。
【0041】(データ転送手段)図4は、データ転送手
段の処理手順の一例を説明するためのフロー図である。
データ転送手段7によるデータ転送は、挿入向けデータ
保持手段5からタプルを順次読み込み、その値に従って
検索向けデータ保持手段4に対するタプルの挿入或いは
更新の操作を行い、反映が終わったタプルを挿入向けデ
ータ保持手段5から削除する。次に、削除向けデータ保
持手段6からタプルを順次読み込み、そのタプルを検索
向けデータ保持手段4から削除し、反映が終わったタプ
ルを削除向けデータ保持手段6から削除するという手順
で実行される。
【0042】図4において、データ転送手段7が挿入向
けデータ保持手段5からタプルを得ると(ステップS2
1)、検索向けデータ保持手段4から同じタプルIDの
タプルを探し(ステップS22)、同じタプルがあれば
(ステップS23でYES)、検索向けデータ保持手段
4にタプルの更新を実行し(ステップS24)、挿入向
けデータ保持手段5のタプルを削除する(ステップS2
5)。同じタプルがなければ(ステップS23でN
O)、検索向けデータ保持手段4にタプルの挿入を実行
して(ステップS29)、挿入向けデータ保持手段5の
タプルを削除する(ステップS25)。ステップS25
の処理が終了すると、削除向けデータ保持手段6からタ
プルを得て(ステップS26)、検索向けデータ保持手
段4にタプルの削除を実行し(ステップS27)、削除
向けデータ保持手段6のタプルを削除して(ステップS
28)、処理を終了する。
【0043】また、他の実施形態として、データ転送手
段7に転送時刻情報を指定することにより、すなわちデ
ータ転送手段7に転送指定時刻情報を保持させておくこ
とにより、データ転送手段7による検索向けデータ保持
手段4へのデータの変更操作を、上記の指定時刻まで遅
延することができる。これにより、システムの稼働率が
低くなる時間帯が決まっている場合に、検索向けデータ
保持手段4へのデータの反映をその時間帯に集中させる
ことでシステム全体のスループットを上げることができ
る。
【0044】さらに、他の実施形態として、データ転送
手段7は、データ転送手段7が実行すべき検索向けデー
タ保持手段4への変更操作要求が一定数になるごとに変
更操作を実行するようにしてもよい。データ転送手段7
は、検索向けデータ保持手段4への変更操作要求が一定
数になるごとに変更操作を実行させるようにすることに
より、検索向けデータ保持手段4への更新要求が発生す
る頻度を減らすことができ、これにより排他制御が必要
になる頻度を減らし、システム全体のスループットを上
げることができる。
【0045】さらに、他の実施形態として、検索向けデ
ータ保持手段4における複数の処理単位データに対する
変更操作がバッチ処理として実行されるようにしてもよ
い。検索向けデータ保持手段4における複数のタプルに
対する変更操作が、バッチ処理として実行されるように
することにより高速に実行できる場合には、データ転送
手段7の操作の実行が高速になり、結果としてシステム
全体のスループットを上げることができる。
【0046】(トランザクション処理手段)トランザク
ション処理手段2は非同期に要求される検索操作と変更
操作をデータの一貫性を保つように実行順序を制御する
ための排他制御と、変更操作を中止したときにトランザ
クション開始前の状態に戻すための情報を記録するため
のロギングを行う。排他制御は複数のユーザから要求さ
れるデータベース操作間の排他制御のほかに、データベ
ース操作要求処理手段3とデータ転送手段7の間の排他
制御にも用いられる。
【0047】前述の文献[1]で説明される複粒度ロッ
クを用いてさまざまなアイソレーションレベルを実現す
る。ロックの対象は表、タプル、ファイルである。本発
明におけるファイルは検索向けデータ保持手段、挿入向
けデータ保持手段及び削除向けデータ保持手段からなる
ものとみなすことができる。排他制御とロギングにおい
てはファイルを構成する検索向けデータ保持手段、挿入
向けデータ保持手段及び削除向けデータ保持手段がどう
いう構造であるかは無関係にこれらをまとめて1つのオ
ブジェクトとして扱うことができる。
【0048】ここでロックに関して説明する。2相ルー
ルによるロック方式では、書き込み操作は、操作対象に
対して更新(X)ロックを、読み出し操作は、操作対象
に対して参照(S)ロックをそれぞれ確保することによ
り、対象を予約してから、操作する。あるトランザクシ
ョンT1がある種類のロックをしたときに、他のトラン
ザクションT0がその対象に対してすでにある種類のロ
ックをしているときの結果は、表1のようになる。
【0049】
【表1】
【0050】表1において、○はロックが共存できるこ
とを表し、トランザクションT1は、操作対象をロック
できる。Xはロックが衝突することを表し、トランザク
ションT1は、衝突の原因となっているロックが放棄さ
れ、操作対象をロックできるようになるまで、実行を中
断し、待つことになる。
【0051】あるトランザクションにおいては、ロック
を1つでも放棄したら、それ以降、トランザクションが
終了するまで、ロックを確保しない。あるトランザクシ
ョンの終了時に、そのトランザクションが確保したロッ
クのうち、放棄されていないものが残っていれば、全て
放棄される。つまり、トランザクションを複数のロック
を確保していく過程と、確保していたロックをはずす過
程の2相に分ける。このことにより、トランザクション
の直列化可能性が保証される。
【0052】また、トランザクション中において異なる
種類の操作対象を認める場合、例えば、データベース、
データベースを構成する表、表を構成するタプルなどに
対する操作を認める場合、複粒度ロックが必要になる。
つまり、ある対象への書き込み操作は、その上位の対象
に対して、更新の意図があることを表すIXやSIXを
確保してから、その対象に対してXロックを確保する。
ある対象への読み出し操作は、その上位の対象に対し
て、参照の意図があることを表すISロックを確保して
から、その対象に対してSロックを確保する。表1にこ
れらの意図的ロックIX,SIX,ISを加えると、表
2のようになる。表1と同様に、○はロックが共存でき
る事を表し、×はロックが衝突することを表す。
【0053】
【表2】
【0054】以下で本実施形態においてREAD CO
MMITTEDのアイソレーションレベルを実現する方
法について述べる。まず、ロックに関して以下の前提条
件がある。 ・表にかかるロックはIS、IX、S、SIX、Xのい
ずれかのモードを持つ。 ・タプルにかかるロックはS、Xのいずれかのモードを
持つ。 ・タプルにかかっているSロックは参照後にいつでも解
除することができる。 ・タプルにかかっているXロックはトランザクションの
終了まで解除できない。 ・ファイルにアクセスする前後では、ファイルに排他的
なラッチをかける。 データベース操作の種類に応じて手順を述べる。
【0055】(検索操作) 0.操作開始前に対象の表にISロックをかける。 1.ファイルにラッチをかける。 2.検索条件に合致するタプルを探す。 3.得られたタプルにSロックをかける。 4.Sロックをかけることができない場合はファイルへ
のラッチを解除して1に戻る。 5.タプルを検索結果に加える。 6.タプルへのロックを解除する。 7.ファイルへのラッチを解除する。
【0056】(挿入操作) 0.操作開始前に対象の表にIXロックをかける。 1.ファイルにラッチをかける。 2.新たなタプルIDを取得する。 3.そのタプルにXロックをかける。 4.ログにタプル挿入を記録する。 5.ファイルにタプルを挿入する。 6.ファイルへのラッチを解除する。
【0057】(更新操作) 0.操作開始前に対象の表にIXロックをかける。 1.ファイルにラッチをかける。 2.更新対象の条件に合致するタプルを探す。 3.得られたタプルにXロックをかける。 4.Xロックをかけることができない場合はファイルへ
のラッチを解除して1に戻る。 5.ログにタプル更新を記録する。 6.タプルの更新を実行する。 7.ファイルへのラッチを解除する。
【0058】(削除操作) 0.操作開始前に対象の表にIXロックをかける。 1.ファイルにラッチをかける。 2.削除対象の条件に合致するタプルを探す。 3.得られたタプルにXロックをかける。 4.Xロックをかけることができない場合はファイルへ
のラッチを解除して1へ戻る。 5.ログにタプル削除を記録する。 6.タプルの削除を実行する。 7.ファイルへのラッチを解除する。 トランザクションの終了に際しては以下の処理を行う。
【0059】(コミット) 0.変更操作の前に対象の表にIXロックがかかってい
る。 1.ログにコミットを記録する。 2.コミットしたトランザクションが要求したロックを
全て解除する。
【0060】(ロールバック(アボート)) 0.変更操作の前に対象の表にIXロックがかかってい
る。 1.ログにロールバックを記録する。 2.ログを参照しながら、データ操作をUNDOする。
その際、必要なファイルへのラッチを行う。 3.ロールバックしたトランザクションが要求したロッ
クを全て解除する。
【0061】<他のシステム構成>図5は、本発明の他
の実施形態に係るデータベース管理システムの機能を説
明するためのブロック構成図である。以下、リレーショ
ナルデータベースを代表させて説明するが、通常のデー
タベースにも本実施形態に係る発明は適用可能である。
データベース操作要求入力手段1からデータベースに対
する操作要求が入力され、データベース操作要求処理手
段3が操作を実行する。検索向けデータ保持手段4は、
データベースの検索操作を処理する。また複数の挿入向
けデータ保持手段51〜5(しばしば5で代表させて
説明する)はデータベースのデータ挿入操作、削除操作
及び更新操作を処理し、複数の削除向けデータ保持手段
1〜6(しばしば6で代表させて説明する)はデー
タベースのデータ挿入操作及び削除操作を処理する。な
お、ここでデータ保持手段4,5,6として説明してい
るものは、例えばリレーショナルデータベースにおいて
は索引ファイル及び索引ファイルを用いた処理を行うた
めの手段であり、データを参照等するために関連付けて
保持し、その関連付けに従って各種処理を行なう手段で
ある。データ転送手段7は、挿入向けデータ保持手段5
1〜5及び削除向けデータ保持手段61〜6からタプ
ルを読みとって検索向けデータ保持手段4に対するタプ
ルの挿入、更新、削除の操作を行う。トランザクション
(排他制御)処理手段2は、システムにおけるトランザ
クション制御を行う。データ保持部管理手段8は、挿入
向けデータ保持手段5及び削除向けデータ保持手段6
を、同時に実行できるトランザクションの最大数として
当該システムに対して定められた個数分、予め作成して
おき、トランザクションの開始,コミット,ロールバッ
クに応じて、それぞれの挿入向けデータ保持手段及び削
除向けデータ保持手段と各トランザクションの関係を記
録し、変更を行う。これら各要素については、この後さ
らに詳しく説明する。
【0062】(データベース操作要求入力手段)本実施
形態におけるデータベース操作要求入力手段1は、複数
のユーザからのデータベース操作要求を入力することが
できるものとする。図2を再度参照すると、ユーザは入
力端末21から例えばSQL文の形式で文字列により表
現されたデータベース操作要求及びトランザクション処
理要求を入力する。データベース操作要求は及びトラン
ザクション処理要求LAN22を通じてサーバーホスト
10に送られて処理される。処理の結果は再びLAN2
2を通じて入力端末21に送られ、当該入力端末21の
ディスプレイに表示するなどしてユーザに知らせること
ができる。
【0063】本実施形態によれば、複数のユーザから非
同期に要求されるデータベース操作要求に対して検索向
けデータ保持手段と挿入向けデータ保持手段及び削除向
けデータ保持手段の整合性を保ちながら検索にも更新に
も高速に応答することができ、ロールバック操作を他の
ユーザによる操作とは独立に高速に実行することができ
る。
【0064】(データベース操作要求処理手段)図6乃
至図8は、データベース操作要求処理手段の処理手順の
一例を示す一連のフロー図である。データベース操作要
求の種類によって処理内容が分かれる。この例では表の
各タプルは一意に定まるID(タプルID)を付与さ
れ、タプルは全てタプルIDで識別される。
【0065】データベース操作要求処理手段3がデータ
ベース操作要求処理を受け取ると(ステップS31)、
挿入操作かどうかを判断し(ステップS32)、挿入操
作の場合は、操作要求が発せられたトランザクションの
識別子に対応した挿入向けデータ保持手段(手段51
のいずれか)をデータ保持部管理手段8から取得す
る(ステップS33)。ここで、対応するものがなけれ
ば新規に対応させたものを取得する。新しいタプルに対
してタプルIDを取得した後(ステップS34)、取得
した挿入向けデータ保持手段に対してタプルの挿入操作
を実行し(ステップS35)、その結果を返す(ステッ
プS36)。
【0066】ステップS32で挿入操作でない場合、こ
の例では検索操作を行う。検索操作では、データ保持部
管理手段8からコミット済みの状態にある挿入向けデー
タ保持手段(手段51〜5のいずれか)及び削除向け
データ保持手段(手段61〜6 のいずれか)を取得す
る(ステップS37,S38)。さらに操作中のトラン
ザクション記述子が記録されている挿入向けデータ保持
手段及び削除向けデータ保持手段があればそれも取得す
る(ステップS39,S40)。コミット済みの状態に
ある挿入向けデータ保持手段の個数をNi、コミット済
みの状態にある削除向けデータ保持手段の個数をNdと
する。検索向けデータ保持手段4、コミット済み挿入向
けデータ保持手段及びコミット済み削除向けデータ保持
手段、操作中のトランザクションの挿入向けデータ保持
手段及び削除向けデータ保持手段のそれぞれに検索操作
を実行し(ステップS41〜S45)、以下の式(1)
の集合演算を行ったものを検索結果とする(ステップS
46)。検索操作であるか判断し(ステップS47)、
検索操作であればその結果を返す(ステップS36)。
【0067】 R = Rr+Ri1+Ri2+...+RiNi+Ri−Rd1−R d2−...−RdNd−Rd (1)
【0068】上式(1)において、+は論理和、−は論
理差をあらわすものとし、各記号は以下の集合をあらわ
すものとする。 Rr : 検索向けデータ保持手段の検索結果集合 Ri1 : 1番目の挿入向けデータ保持手段の検索結
果集合 Ri2 : 2番目の挿入向けデータ保持手段の検索結
果集合(以下同様に3,4,...と続く) RiNi : Ni番目の挿入向けデータ保持手段の検
索結果集合 Rd1 : 1番目の削除向けデータ保持手段の検索結
果集合 Rd2 : 2番目の削除向けデータ保持手段の検索結
果集合(以下同様に3,4,...と続く) RdNd : Nd番目の削除向けデータ保持手段の検
索結果集合 Ri : 操作中のトランザクションの挿入向けデータ
保持手段の検索結果集合 Rd : 操作中のトランザクションの削除向けデータ
保持手段の検索結果集合 R : 検索結果集合
【0069】検索操作でなければ(ステップS47でN
O)、この例では削除操作を実行する。削除操作では、
検索操作と同様の手順で選ばれたタプルがコミット済み
の挿入向けデータ保持手段にある場合、すなわちRi
1,...RiNiのいずれかにある場合は(ステップ
S48でYES)、その挿入向けデータ保持手段に対し
て削除処理を実行する(ステップS49)。ない場合は
(ステップS48でNO)、操作中のトランザクション
の挿入向けデータ保持手段にあるか、すなわちRiにあ
るかを判断し(ステップS54)、存在すればその挿入
向けデータ保持手段に対して削除処理を実行する(ステ
ップS55)。どの挿入向けデータ保持手段にもない場
合(ステップS54でNO)、すなわち検索向けデータ
保持手段4にある場合には、操作要求が発せられたトラ
ンザクションの識別子に対応した削除向けデータ保持手
段をデータ保持部管理手段8から取得し、対応するもの
がなければ新規に対応させたものを取得する(ステップ
S56)。さらにタプルを削除向けデータ保持手段に対
して挿入操作を実行する(ステップS57)。
【0070】ステップS49,S55,S57に続き、
更新操作であるかを判断し(ステップS50)、更新操
作でなければ結果を返す(ステップS36)。更新操作
では、検索操作と同様の手順で選ばれたタプルに対し
て、削除操作と同様の手段で削除操作を実行し、新しい
値にタプルを更新する(ステップS51)。さらに、新
しい値に変更したタプルに対して、挿入操作と同様の手
段で、挿入向けデータ保持手段を取得し(ステップS5
2)、その挿入向けデータ保持手段にタプルを挿入する
操作を実行し(ステップS53)、結果を返す(ステッ
プS36)。
【0071】(検索向けデータ保持手段)検索向けデー
タ保持手段4は、データベース操作要求処理手段3が実
行する検索操作を処理する。また、データ転送手段7が
実行する変更操作を処理する。検索向けデータ保持手段
4は検索操作を高速で実行できる代わりに変更操作が比
較的低速である。例えば、全文検索を行うことができる
全文検索サーバを用いることが考えられる。
【0072】(挿入向けデータ保持手段)挿入向けデー
タ保持手段5はデータベース操作要求処理手段3が実行
する挿入操作、削除操作及び更新操作を処理する。ま
た、データ転送手段7が実行する削除操作を処理する。
また、データ保持部管理手段8が実行するデータ一括破
棄操作を処理する。挿入向けデータ保持手段は変更操作
及びデータ一括破棄操作を高速に実行できる。例えばO
Sが管理する通常のファイルを用いることが考えられ
る。
【0073】通常のファイルのように挿入向けデータ保
持手段5が検索操作を実行できない場合は、保持してい
るタプルを逐次的に返しデータベース操作要求処理手段
3が検索条件を評価(全数検索と呼ぶ)する。挿入向け
データ保持手段5が保持するタプル数は検索向けデータ
保持手段4が保持するタプル数に比べて非常に少数なの
で全数検索を行っても応答時間に影響しない。
【0074】(削除向けデータ保持手段)削除向けデー
タ保持手段6は、データベース操作要求処理手段3が実
行する挿入操作を処理する。また、データ転送手段7が
実行する削除操作を処理する。また、データ保持部管理
手段8が実行するデータ一括破棄操作を処理する。削除
向けデータ保持手段は変更操作及びデータ一括破棄操作
を高速に実行できる。例えばOSが管理する通常のファ
イルを用いることが考えられる。
【0075】通常のファイルのように削除向けデータ保
持手段6が検索操作を実行できない場合は、保持してい
るタプルを逐次的に返しデータベース操作要求処理手段
3が検索条件を評価(全数検索と呼ぶ)する。削除向け
データ保持手段6が保持するタプル数は検索向けデータ
保持手段4が保持するタプル数に比べて非常に少数なの
で全数検索を行っても応答時間に影響しない。
【0076】挿入向けデータ保持手段51〜5,削除
向けデータ保持手段61〜6,検索向けデータ保持手
段4のいずれか1又は複数は、それ自体が独立して動作
可能にデータベース管理システムを構成することができ
るものであってよい。例えば、検索向けデータ保持手段
4自体だけが、或いは挿入向けデータ保持手段51〜5
及び削除向けデータ保持手段61〜6自体がデータ
ベース管理システムによって実現されているような構成
が挙げられる。このようなデータ保持手段4,5,6の
いずれかを本発明のデータベース管理システムに適用す
ればよい。すなわち、既存のデータベース管理システム
で検索は高速だが更新が比較的低速であるようなものに
対して、そのデータベース管理システムに特別な変更を
施すことなく、更新要求への応答を向上することができ
る。また、逆に既存のデータベース管理システムの更新
応答が高速ならば、検索が高速なデータ保持手段と組み
合わせることによって、更新応答性能を生かしながら検
索要求への応答を向上することができる。
【0077】また、挿入向けデータ保持手段51〜5
及び/又は削除向けデータ保持手段61〜6がメモリ
上にあるようにしてもよい。メモリが大量にある場合
に、変更向けデータ保持手段、すなわち挿入向けデータ
保持手段51〜5,削除向けデータ保持手段61〜6
の一部又は全部をメモリ上で利用することで更新性能の
著しい向上が実現できる。
【0078】また、検索向けデータ保持手段4及び挿入
向けデータ保持手段5及び削除向けデータ保持手段6
は、属性値の特性に応じてその形態を選定することが好
ましく、例えばデータ量が少ない属性値については上述
のごとくのメモリ上で挿入向けデータ保持手段5及び削
除向けデータ保持手段6を用いることによって性能の向
上が実現できる。
【0079】(データ転送手段)図9は、データ転送手
段の処理手順の一例を説明するためのフロー図である。
データ転送手段7には転送の対象となる操作を行ったト
ランザクション識別子が指定される。データ転送手段7
は、データ保持部管理手段8から指定されたトランザク
ション識別子が記録されている挿入向けデータ保持手段
及び削除向けデータ保持手段を取得する。取得した削除
向けデータ保持手段からタプルを順次読み込み、その値
にしたがって検索向けデータ保持手段4から削除し、反
映が終わったタプルを削除向けデータ保持手段から削除
する。次に、取得した挿入向けデータ保持手段からタプ
ルを順次読み込み、そのタプルを検索向けデータ保持手
段4に挿入し、反映が終わったタプルを挿入向けデータ
保持手段から削除する。転送が完了するとデータ保持部
管理手段8に転送終了を伝える。
【0080】図9において、まず、データ転送手段7は
データ保持部管理手段8から指定されたトランザクショ
ン識別子が記録されている削除向けデータ保持手段を取
得する(ステップS61)。取得できれば(ステップS
62でYES)、取得した削除向けデータ保持手段から
タプルを順次読み込み(ステップS63)、その値にし
たがって検索向けデータ保持手段4から削除し、反映が
終わったタプルを削除向けデータ保持手段から削除する
(ステップS64)。その後、及びステップS62でN
Oの場合、データ保持部管理手段8から指定されたトラ
ンザクション識別子が記録されている挿入向けデータ保
持手段を取得する(ステップS65)。取得できなけれ
ば(ステップS66でNO)ステップS69へ進む。取
得できれば(ステップS66でYES)取得した挿入向
けデータ保持手段からタプルを順次読み込み(ステップ
S67)、そのタプルを検索向けデータ保持手段4に挿
入し、反映が終わったタプルを挿入向けデータ保持手段
から削除する(ステップS68)。転送が完了するとデ
ータ保持部管理手段8に、データ保持手段の識別子とと
もに転送終了を伝え(ステップS69)、処理を終了す
る。
【0081】(データ保持部管理手段)本発明に係るデ
ータ保持部管理手段8は、変更向けデータ保持手段5,
6を予め作成し、それらと各トランザクションとの関係
を記録、変更するものであるが、他の実施形態における
データ保持部管理手段8では、それぞれの挿入向けデー
タ保持手段51〜5(又は削除向けデータ保持手段61
〜6)について、対応するトランザクションの識別子
とともに、「未使用」,「使用中」,「コミット済
み」,「転送中」の別を保持するようにし、さらに、デ
ータベース操作要求処理手段3にタプル挿入要求(又は
タプル削除要求)があった場合に、次の(1)〜(3)
の処理を実行する。
【0082】(1)未使用の挿入向けデータ保持手段
(又は削除向けデータ保持手段)があれば、それを使用
中の状態にして要求を発したトランザクションの識別子
を記録し、(2)未使用の挿入向けデータ保持手段(又
は削除向けデータ保持手段)が1つもなければ、コミッ
ト済みの挿入向けデータ保持手段(又は削除向けデータ
保持手段)の中から検索向けデータ保持手段4へのデー
タ転送を行うものを1つ選び、転送中の状態にした上
で、データ転送手段7によりデータ転送を行った後、そ
れを未使用の状態にして要求を発したトランザクション
の識別子を記録し、(3)未使用又はコミット済みの挿
入向けデータ保持手段(又は削除向けデータ保持手段)
が1つもない場合は少なくとも1つの挿入向けデータ保
持手段(又は削除向けデータ保持手段)が未使用又はコ
ミット済みになるまで待ってからそれに対して、上記
(1)又は(2)と同様の操作を行う。
【0083】そして、データベース操作要求処理手段3
は、その要求を発したトランザクションの識別子が記録
されている挿入向けデータ保持手段(又は削除向けデー
タ保持手段)にタプルを挿入(又は削除)する。データ
保持部管理手段8は、トランザクション処理手段2にト
ランザクションのコミット要求があった場合に、その要
求を発したトランザクションの識別子が記録されている
挿入向けデータ保持手段(又は削除向けデータ保持手
段)の状態をコミット済みにし、トランザクション処理
手段2にトランザクションのロールバック要求があった
場合に、その要求を発したトランザクションの識別子が
記録されている挿入向けデータ保持手段(又は削除向け
データ保持手段)のデータを全て一括して破棄した上で
その状態を未使用にする。
【0084】本実施形態によれば、異なるトランザクシ
ョンによる挿入(又は削除)操作に影響されることなく
タプル挿入(又はタプル削除)を高速に行うことがで
き、ロールバック操作はデータ保持手段が保持するデー
タを一括して破棄することで行えるので通常の変更操作
より高速に行うことができ、更新要求及びロールバック
操作への応答を向上することができる。
【0085】また、他の実施形態として、データ保持部
管理手段8が管理する挿入向けデータ保持手段及び削除
向けデータ保持手段はシステム起動時には存在しておら
ず、上述の(3)で未使用又はコミット済みの挿入向け
データ保持手段又は削除向けデータ保持手段が1つもな
い場合に、挿入向けデータ保持手段の数又は削除向けデ
ータ保持手段の数が所定数を超えていなければ新たに挿
入向けデータ保持手段又は削除向けデータ保持手段を作
成してそれを使用し、その数が所定数を超えているとき
には少なくとも1つの挿入向けデータ保持手段又は削除
向けデータ保持手段が未使用又はコミット済みになるま
で待つようにしてもよい。本実施形態においては、コミ
ット済みの挿入向けデータ保持手段又は削除向けデータ
保持手段についてデータ転送が完了したとき、或いは使
用中の挿入向けデータ保持手段又は削除向けデータ保持
手段と対応しているトランザクションにロールバック要
求があったときに、そのデータ保持手段を抹消するもの
とする。
【0086】本実施形態によれば、挿入向けデータ保持
手段及び削除向けデータ保持手段の作成が高速に行える
場合は同時に発生するトランザクションの数に応じて適
切な数のデータ保持手段を管理することができ、無駄な
リソースを消費することなく更新要求及びロールバック
操作への応答を向上することができる。
【0087】また、他の実施形態として、データ保持部
管理手段8が時間間隔を保持することにより、コミット
済みの挿入向けデータ保持手段のデータ転送をタプル挿
入やタプル削除要求時に行うのではなく、データ保持部
管理手段8がその保持する時間間隔を経過するごとにコ
ミット済みであるような挿入向けデータ保持手段又は削
除向けデータ保持手段について、データ転送手段7によ
りデータ転送を実行した上で、データ転送を実行した挿
入向けデータ保持手段又は削除向けデータ保持手段の状
態を未使用に変更するようにしてもよい。
【0088】本実施形態によれば、自動的にコミット済
みのデータ保持手段からデータ転送することにより未使
用のデータ保持手段の割合を増やし、更新要求への応答
をさらに向上することができる。
【0089】さらに他の実施形態として、データ保持部
管理手段8が、未使用の挿入向けデータ保持手段又は削
除向けデータ保持手段の数が一定数以下になるごとにコ
ミット済みであるような挿入向けデータ保持手段又は削
除向けデータ保持手段について、データ転送手段7によ
りデータ転送を実行した上で、データ転送を実行した挿
入向けデータ保持手段又は削除向けデータ保持手段の状
態を未使用に変更するようにしてもよい。
【0090】本実施形態によれば、同時に発生するトラ
ンザクションの数に応じて自動的にデータ転送すること
により、データ転送手段7によって消費されるリソース
を必要なときに効果的に使用することができる。
【0091】上述した各実施形態におけるデータ保持部
管理手段8に関し、その処理の一例を説明する。データ
保持部管理手段8には、データ保持手段を取得したいト
ランザクションの識別子又は取得したいデータ保持手段
の状態と、対応するものがないときに新規に対応させた
ものを取得するか取得せずに対応がないことを知らせる
かの別が指定される。データ保持部管理手段8は、挿入
向けデータ保持手段5及び削除向けデータ保持手段6の
それぞれに識別子をつけ、データ保持手段の識別子と未
使用/使用中/コミット済み/転送中の状態をハッシュ
表Aで記録している。ハッシュ表は周知の技術である。
下表3はハッシュ表Aに記録する情報を示している。
【0092】
【表3】
【0093】また、データ保持部管理手段8はトランザ
クションの識別子とデータ保持手段の識別子もハッシュ
表Bにより記録する。下表4はハッシュ表Bに記録する
情報を示している。
【0094】
【表4】
【0095】データ保持部管理手段8は、トランザクシ
ョンの識別子が指定されている場合、そのトランザクシ
ョン識別子に対応するデータ保持手段の識別子をハッシ
ュ表Bから取得する。データ保持手段の識別子が取得で
きた場合、データ保持手段の識別子の状態をハッシュ表
Aから取得し返答する。取得したいデータ保持手段の状
態が指定されている場合、ハッシュ表Aを走査して指定
された状態と等しければデータ保持手段の記述子の集合
に加え、全て走査したときに得られたデータ保持手段の
記述子の集合を返答する。データ保持手段の識別子が取
得できなかった場合、新規に対応させたものを取得する
よう指定されている場合は以下のようにして新規に対応
させたものを取得する。
【0096】(1)ハッシュ表A全体を走査して未使用
の状態にあるデータ保持手段の識別子を探索し、それが
あればハッシュ表Aに記録されている状態を使用中に変
更した上でハッシュ表Bに指定されたトランザクション
識別子との対応を記録し、そのデータ保持手段を返答す
る。 (2)未使用の状態にあるデータ保持手段がなければハ
ッシュ表A全体を走査して転送中の状態にあるデータ保
持手段を探索し、それがあればデータ転送手段から転送
終了の指示がくるまで待った上で(1)と同様にハッシ
ュ表A及びハッシュ表Bに記録し、返答する。
【0097】(3)未使用のものも転送中のものもなけ
ればハッシュ表A全体を走査してコミット済みの状態に
あるデータ保持手段を探索し、それがあればデータ転送
手段にそのデータ保持手段と対応されているトランザク
ション識別子を指定してデータ転送の開始を指示し、転
送終了まで待った上で(1)と同様にハッシュ表A及び
ハッシュ表Bに記録し、返答する。 (4)未使用のものも転送中のものもコミット済みのも
のもなければ全て使用中なので他のトランザクションの
操作により新たに未使用又はコミット済みのものが現れ
るまで返答を保留する。
【0098】データ保持部管理手段8はさらにトランザ
クション処理手段2から指示されるロールバック処理も
行う。ロールバック処理は対象のトランザクションの識
別子を指定され、ハッシュ表Bから対応するデータ保持
手段の識別子を取得したらそのデータ保持手段に対して
データの一括破棄を指示した上でハッシュ表Aに未使用
の状態を記録する。
【0099】図10乃至12は、データ保持部管理手段
の処理手順の一例を説明するための一連のフロー図であ
る。以上のデータ保持部管理手段8の一例を図10乃至
図12に基づいて説明する。まず、データ保持部管理手
段8は、処理要求を受け取ると(ステップS71)、ロ
ールバック処理の要求かを判断し(ステップS72)、
ロールバック処理要求であれば、ハッシュ表Bから指定
されたトランザクションに対応する挿入向けデータ保持
手段及び削除向けデータ保持手段の識別子を得る(ステ
ップS73)。次に挿入向けデータ保持手段及び削除向
けデータ保持手段にデータ一括破棄を実行する(ステッ
プS74)。次にハッシュ表Aで挿入向けデータ保持手
段の識別子と対応する状態の情報を「未使用」に変更し
(ステップS75)、ハッシュ表Aで削除向けデータ保
持手段の識別子と対応する状態の情報を「未使用」に変
更する(ステップS76)。
【0100】ステップS72でロールバック処理要求で
ないと判断された場合、トランザクションの指定がある
かを判断する(ステップS77)。ステップS77でY
ESの場合、挿入向け取得要求であるかを判断する(ス
テップS78)。ステップS78でYESの場合、ハッ
シュ表Bから指定されたトランザクションに対応する挿
入向けデータ保持手段の識別子を得る(ステップS7
9)。ステップS78でNOの場合、ハッシュ表Bから
指定されたトランザクションに対応する削除向けデータ
保持手段の識別子を得る(ステップS82)。ステップ
S79,S82に関し、取得できたのであれば(ステッ
プS80でYES)、結果を返し(ステップS81)、
処理を終了する。取得できなければ、新たに対応させる
指定があるかを判断する(ステップS83)。新たに対
応させる指定がなければ、取得できなかったことを結果
として(ステップS84)、結果を返し(ステップS8
1)、処理を終了する。
【0101】ステップS77においてトランザクション
の指定がないと判断された場合、ハッシュ表Aからエン
トリを1つ得(ステップS85)、指定された挿入/削
除の別とエントリの挿入/削除の別が一致しているかを
判断する(ステップS86)。一致していれば、指定さ
れた状態とエントリの状態が一致しているかを判断し
(ステップS87)、データ保持手段の識別子を結果に
加える(ステップS88)。ステップS88の後、及び
ステップS86でNOの場合、及びステップS87でN
Oの場合、未処理のエントリが残っているかを判断し
(ステップS89)、残っていればステップS85に戻
り、残っていなければステップS81へ進み結果を返し
て処理を終了する。
【0102】ステップS83において新たに対応させる
指定があると判断された場合、ハッシュ表Aからエント
リを1つ得(ステップS84)、指定された挿入/削除
の別とエントリの挿入/削除の別が一致しているかを判
断する(ステップS91)。一致していれば、エントリ
の状態が「未使用」かを判断する(ステップS92)。
「未使用」であれば、エントリの識別子を結果とし(ス
テップS93)、結果を返して(ステップS81)処理
を終了する。ステップS92にてNOの場合、エントリ
の状態が「転送中」又は「コミット済み」かを判断する
(ステップS94)。「転送中」又は「コミット済み」
であれば、転送候補に加える(ステップS95)。ステ
ップS95の後、及びステップS91でNOの場合、及
びステップS94でNOの場合、未処理のエントリが残
っているかを確認し(ステップS96)、残っていれば
ステップS90に戻る。残っていなければ、ステップS
97に進み、転送候補が空でないかを判断する。空であ
れば、「未使用」又は「コミット済み」のデータ保持手
段が現れるまで処理を中断する(ステップS101)。
ステップS97にて空でないと判断された場合、転送候
補の先頭が「コミット済み」かを判断する(ステップS
98)。「コミット済み」であれば、転送候補の先頭に
転送を実行し(ステップS99)、データ転送手段から
転送終了の通知が来るのを待ち(ステップS100)、
ステップS81で結果を返し、処理を終了する。一方、
「コミット済み」でなければ、ステップS99を経ずに
ステップS100へと進む。
【0103】(トランザクション処理手段)トランザク
ション処理手段2は非同期に要求される検索操作と変更
操作をデータの一貫性を保つように実行順序を制御する
ための排他制御と、変更操作を中止したときにデータ保
持部管理手段8にデータの一括破棄の指示を行う。排他
制御は複数のユーザから要求されるデータベース操作間
の排他制御のほかに、データベース操作要求処理手段3
とデータ転送手段7の間の排他制御にも用いられる。
【0104】上述した複粒度ロック([1]参照)を用
いてさまざまなアイソレーションレベルを実現する。ロ
ックの対象は表、タプル、ファイルである。本発明にお
けるファイルは検索向けデータ保持手段、挿入向けデー
タ保持手段及び削除向けデータ保持手段からなるものと
みなすことができる。排他制御とロギングにおいてはフ
ァイルを構成する検索向けデータ保持手段、挿入向けデ
ータ保持手段及び削除向けデータ保持手段がどういう構
造であるかは無関係にこれらをまとめて1つのオブジェ
クトとして扱うことができる。本発明においてREAD
COMMITTEDのアイソレーションレベルを実現
する方法については、基本的に上述した通りである。検
索操作,挿入操作,更新操作,削除操作,コミットに関
する手順は同じであるが、ロールバック(アボート)に
ついては以下のようになる。
【0105】(ロールバック(アボート)) 0.変更操作の前に対象の表にIXロックがかかってい
る。 1.ログにロールバックを記録する。 2.ログを参照しながら、データ操作をUNDOする。
その際、必要なファイルへのラッチを行う。ファイルが
挿入向けデータ保持手段又は削除向けデータ保持手段な
らばUNDOではなくファイルのデータ一括破棄を行
う。 3.ロールバックしたトランザクションが要求したロッ
クを全て解除する。
【0106】以上、本発明のデータベース管理システム
を中心に各実施形態を説明してきたが、本発明は、これ
らデータベース管理システムにおける処理手順を含んで
なるデータベース管理方法、これらデータベース管理シ
ステムとして又は該データベース管理システムの各手段
として機能させるためのプログラムとしても、或いは、
そのプログラムを記録したコンピュータ読み取り可能な
記録媒体としての形態も可能である。
【0107】本発明によるデータベース管理の機能を実
現するためのプログラムやデータを記憶した記録媒体の
実施形態を説明する。記録媒体としては、具体的には、
CD−ROM、光磁気ディスク、DVD−ROM、F
D、フラッシュメモリ、及びその他各種ROMやRAM
等が想定でき、これら記録媒体に上述した本発明の各実
施形態のシステムの機能をコンピュータに実行させ、デ
ータベース管理の機能を実現するためのプログラムを記
録して流通させることにより、当該機能の実現を容易に
する。そしてコンピュータ等の情報処理装置に上記のご
とくの記録媒体を装着して情報処理装置によりプログラ
ムを読み出すか、若しくは情報処理装置が備えている記
憶媒体に当該プログラムを記憶させておき、必要に応じ
て読み出すことにより、本発明に係わるデータベース管
理機能を実行することができる。
【0108】
【発明の効果】本発明によれば、検索向けデータ保持手
段が提供する高度な検索要求を高速に処理する能力を保
ちつつ、それによって更新性能が低下することを防ぐこ
とができる。
【0109】また、本発明によれば、複数のユーザから
非同期に要求されるデータベース操作要求に対して検索
向けデータ保持手段と挿入向けデータ保持手段及び削除
向けデータ保持手段の整合性を保ちながら検索にも更新
にも高速に応答することができ、ロールバック操作を他
のユーザによる操作とは独立に高速に実行することがで
きる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係るデータベース管理
システムの機能を説明するためのブロック構成図であ
る。
【図2】 本発明を具体化するシステム構成の一例を示
す図である。
【図3】 データベース操作要求処理手段の処理手順の
一例を示すフロー図である。
【図4】 データ転送手段の処理手順の一例を説明する
ためのフロー図である。
【図5】 本発明の他の実施形態に係るデータベース管
理システムの機能を説明するためのブロック構成図であ
る。
【図6】 データベース操作要求処理手段の処理手順の
一例を示すフロー図である。
【図7】 図6に続くフロー図である。
【図8】 図7に続くフロー図である。
【図9】 データ転送手段の処理手順の一例を説明する
ためのフロー図である。
【図10】 データ保持部管理手段の処理手順の一例を
説明するためのフロー図である。
【図11】 図10に続くフロー図である。
【図12】 図10に続くフロー図である。
【符号の説明】
1…データベース操作要求入力手段、2…トランザクシ
ョン処理手段、3…データベース操作要求処理手段、4
…検索向けデータ保持手段、5,51〜5…挿入向け
データ保持手段、6,61〜6…削除向けデータ保持
手段、7…データ転送手段、8…データ保持部管理手
段、10…サーバホスト、11…CPU、12…メモ
リ、12a…プログラム領域、12b…データ領域、1
3…ハードディスク、14…バス、21…入力端末、2
2…LAN。
フロントページの続き (72)発明者 平岡 卓也 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 竹川 弘志 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 小川 泰嗣 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 浅田 一繁 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 Fターム(参考) 5B075 PQ29 QT06 5B082 FA16 GA03 GB04 GC04

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 データベースを管理するためのデータベ
    ース管理システムにおいて、 データの検索操作の処理は高速だがデータの変更操作の
    処理は低速な検索向けデータ保持手段と、 データの変更操作の処理は高速な挿入向けデータ保持手
    段と、 データの変更操作の処理は高速な削除向けデータ保持手
    段と、 前記挿入向けデータ保持手段及び削除向けデータ保持手
    段とで処理されたデータの反映を行うために、前記挿入
    向けデータ保持手段及び削除向けデータ保持手段から前
    記検索向けデータ保持手段へデータを転送するデータ転
    送手段と、 データベースに対する操作要求を該操作要求の内容に応
    じて前記挿入向けデータ保持手段及び削除向けデータ保
    持手段と前記検索向けデータ保持手段のそれぞれに振り
    分けて実行するデータベース操作要求処理手段と、 前記データ転送手段と前記データベース操作要求処理手
    段との間でデータの一貫性を保証するトランザクション
    処理手段と、を有することを特徴とするデータベース管
    理システム。
  2. 【請求項2】 請求項1記載のデータベース管理システ
    ムにおいて、前記データ転送手段に転送指定時刻情報を
    保持させておくことにより、該データ転送手段による前
    記検索向けデータ保持手段へのデータの変更操作を前記
    転送指定時刻情報に指定された時刻まで遅延することが
    できることを特徴とするデータベース管理システム。
  3. 【請求項3】 請求項1記載のデータベース管理システ
    ムにおいて、前記データ転送手段は、該データ転送手段
    が実行すべき前記検索向けデータ保持手段への変更操作
    要求が一定数になるごとに変更操作を実行することを特
    徴とするデータベース管理システム。
  4. 【請求項4】 請求項1記載のデータベース管理システ
    ムにおいて、前記挿入向けデータ保持手段及び削除向け
    データ保持手段はそれぞれ複数備えるものとし、当該デ
    ータベース管理システムは、 複数のユーザからのデータベース操作要求を入力するデ
    ータベース操作要求入力手段と、 前記挿入向けデータ保持手段及び削除向けデータ保持手
    段を、同時に実行できるトランザクションの最大数とし
    てシステムに対して定められた個数分、予め作成してお
    き、トランザクションの開始,コミット,ロールバック
    に応じて、それぞれの挿入向けデータ保持手段及び削除
    向けデータ保持手段と各トランザクションの関係を記録
    し変更するデータ保持部管理手段と、を有することを特
    徴とするデータベース管理システム。
  5. 【請求項5】 請求項4記載のデータベース管理システ
    ムにおいて、 前記データ保持部管理手段は、それぞれの挿入向けデー
    タ保持手段について、対応するトランザクションの識別
    子とともに、未使用,使用中,コミット済み,転送中の
    別を保持し、さらに、前記データ保持部管理手段は、デ
    ータベース操作要求処理手段にタプル挿入要求があった
    場合に、 (1)未使用の挿入向けデータ保持手段がある場合、そ
    れを使用中の状態にして要求を発したトランザクション
    の識別子を記録し、 (2)未使用の挿入向けデータ保持手段が1つもない場
    合、コミット済みの挿入向けデータ保持手段の中から前
    記検索向けデータ保持手段へのデータ転送を行うものを
    1つ選び転送中の状態にした上で、前記データ転送手段
    によりデータ転送を行った後、それを未使用の状態にし
    て要求を発したトランザクションの識別子を記録し、 (3)未使用又はコミット済みの挿入向けデータ保持手
    段が1つもない場合、少なくとも1つの挿入向けデータ
    保持手段が未使用又はコミット済みになるまで待ってか
    らそれに対して前記(1)又は(2)と同様の操作を
    し、 前記データベース操作要求処理手段は、その要求を発し
    たトランザクションの識別子が記録されている挿入向け
    データ保持手段にタプルを挿入し、 前記データ保持部管理手段は、前記トランザクション処
    理手段にトランザクションのコミット要求があった場合
    には、その要求を発したトランザクションの識別子が記
    録されている挿入向けデータ保持手段の状態をコミット
    済みにし、前記トランザクション処理手段にトランザク
    ションのロールバック要求があった場合には、その要求
    を発したトランザクションの識別子が記録されている挿
    入向けデータ保持手段のデータを全て一括して破棄した
    上でその状態を未使用にすることを特徴とするデータベ
    ース管理システム。
  6. 【請求項6】 請求項4記載のデータベース管理システ
    ムにおいて、 前記データ保持部管理手段は、それぞれの削除向けデー
    タ保持手段について、対応するトランザクションの識別
    子とともに、未使用,使用中,コミット済み,転送中の
    別を保持し、さらに、前記データ保持部管理手段は、デ
    ータベース操作要求処理手段にタプル削除要求があった
    場合に、 (1)未使用の削除向けデータ保持手段がある場合、そ
    れを使用中の状態にして要求を発したトランザクション
    の識別子を記録し、 (2)未使用の削除向けデータ保持手段が1つもない場
    合、コミット済みの削除向けデータ保持手段の中から前
    記検索向けデータ保持手段へのデータ転送を行うものを
    1つ選び転送中の状態にした上で、前記データ転送手段
    によりデータ転送を行った後、それを未使用の状態にし
    て要求を発したトランザクションの識別子を記録し、 (3)未使用又はコミット済みの削除向けデータ保持手
    段が1つもない場合、少なくとも1つの削除向けデータ
    保持手段が未使用又はコミット済みになるまで待ってか
    らそれに対して前記(1)又は(2)と同様の操作を
    し、 前記データベース操作要求処理手段は、その要求を発し
    たトランザクションの識別子が記録されている削除向け
    データ保持手段にタプルを挿入し、 前記データ保持部管理手段は、前記トランザクション処
    理手段にトランザクションのコミット要求があった場合
    には、その要求を発したトランザクションの識別子が記
    録されている削除向けデータ保持手段の状態をコミット
    済みにし、前記トランザクション処理手段にトランザク
    ションのロールバック要求があった場合には、その要求
    を発したトランザクションの識別子が記録されている削
    除向けデータ保持手段のデータを全て一括して破棄した
    上でその状態を未使用にすることを特徴とするデータベ
    ース管理システム。
  7. 【請求項7】 請求項5及び請求項6記載のデータベー
    ス管理システムにおいて、 前記データ保持部管理手段が管理する挿入向けデータ保
    持手段及び削除向けデータ保持手段は、当該データベー
    ス管理システム起動時には存在しておらず、 前記(3)で未使用又はコミット済みの挿入向けデータ
    保持手段又は削除向けデータ保持手段が1つもない場合
    に、挿入向けデータ保持手段の数又は削除向けデータ保
    持手段の数が所定数を超えていなければ新たに挿入向け
    データ保持手段又は削除向けデータ保持手段を作成して
    それを使用し、前記数が前記所定数を超えているときに
    は少なくとも1つの挿入向けデータ保持手段又は削除向
    けデータ保持手段が未使用又はコミット済みになるまで
    待つことと、 コミット済みの挿入向けデータ保持手段又は削除向けデ
    ータ保持手段についてデータ転送が完了したときに、或
    いは使用中の挿入向けデータ保持手段又は削除向けデー
    タ保持手段と対応しているトランザクションにロールバ
    ック要求があったときに、前記コミット済み又は使用中
    の挿入向けデータ保持手段又は削除向けデータ保持手段
    を抹消することを特徴とするデータベース管理システ
    ム。
  8. 【請求項8】 請求項5及び請求項6記載のデータベー
    ス管理システムにおいて、 前記データ保持部管理手段は、時間間隔を保持し、 該データ保持部管理手段は、コミット済みの挿入向けデ
    ータ保持手段のデータ転送をタプル挿入やタプル削除要
    求時に行うのではなく、前記保持する時間間隔を経過す
    るごとにコミット済みであるような挿入向けデータ保持
    手段又は削除向けデータ保持手段について、前記データ
    転送手段によりデータ転送を実行した上で、データ転送
    を実行した挿入向けデータ保持手段又は削除向けデータ
    保持手段の状態を未使用に変更することを特徴とするデ
    ータベース管理システム。
  9. 【請求項9】 請求項5及び請求項6記載のデータベー
    ス管理システムにおいて、 前記データ保持部管理手段は、未使用の挿入向けデータ
    保持手段又は削除向けデータ保持手段の数が一定数以下
    になるごとにコミット済みであるような挿入向けデータ
    保持手段又は削除向けデータ保持手段について、前記デ
    ータ転送手段によりデータ転送を実行した上で、データ
    転送を実行した挿入向けデータ保持手段又は削除向けデ
    ータ保持手段の状態を未使用に変更することを特徴とす
    るデータベース管理システム。
JP2002044294A 2001-03-19 2002-02-21 書き込み遅延データベース管理システム Pending JP2002351715A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002044294A JP2002351715A (ja) 2001-03-19 2002-02-21 書き込み遅延データベース管理システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001078026 2001-03-19
JP2001-78026 2001-03-19
JP2002044294A JP2002351715A (ja) 2001-03-19 2002-02-21 書き込み遅延データベース管理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008271520A Division JP4287900B2 (ja) 2001-03-19 2008-10-22 書き込み遅延データベース管理システム、及びプログラム

Publications (1)

Publication Number Publication Date
JP2002351715A true JP2002351715A (ja) 2002-12-06

Family

ID=26611519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002044294A Pending JP2002351715A (ja) 2001-03-19 2002-02-21 書き込み遅延データベース管理システム

Country Status (1)

Country Link
JP (1) JP2002351715A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007501468A (ja) * 2003-08-06 2007-01-25 オラクル・インターナショナル・コーポレイション 効率的なバージョン制御を有するデータベース管理システム
JP2015156100A (ja) * 2014-02-20 2015-08-27 日本電信電話株式会社 フィルタリング装置及びフィルタリング制御方法
JP2020533671A (ja) * 2017-09-08 2020-11-19 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにおけるリソースを保護する改善された時間ロック技術

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007501468A (ja) * 2003-08-06 2007-01-25 オラクル・インターナショナル・コーポレイション 効率的なバージョン制御を有するデータベース管理システム
JP2015156100A (ja) * 2014-02-20 2015-08-27 日本電信電話株式会社 フィルタリング装置及びフィルタリング制御方法
JP2020533671A (ja) * 2017-09-08 2020-11-19 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにおけるリソースを保護する改善された時間ロック技術
JP7264878B2 (ja) 2017-09-08 2023-04-25 エヌチェーン ライセンシング アーゲー ブロックチェーンにおけるリソースを保護する改善された時間ロック技術
JP7264878B6 (ja) 2017-09-08 2024-02-15 エヌチェーン ライセンシング アーゲー ブロックチェーンにおけるリソースを保護する改善された時間ロック技術

Similar Documents

Publication Publication Date Title
JP4077329B2 (ja) トランザクション処理システム、並行制御方法及びプログラム
US7702666B2 (en) Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
US6772155B1 (en) Looking data in a database system
US7240054B2 (en) Techniques to preserve data constraints and referential integrity in asynchronous transactional replication of relational tables
JP4833590B2 (ja) 同時トランザクション(concurrenttransactions)とページ同期(pagesynchronization)
EP2356560B1 (en) Atomic multiple modification of data in a distributed storage system
US5123104A (en) Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations
Mohan et al. ARIES/IM: an efficient and high concurrency index management method using write-ahead logging
US7418544B2 (en) Method and system for log structured relational database objects
Mohan ARIES/KVL: A key-value locking method for concurrency control of multiaction transactions operating on B-tree indexes
US8010497B2 (en) Database management system with efficient version control
US6393435B1 (en) Method and means for evaluating the performance of a database system referencing files external to the database system
US7526469B2 (en) Method and system of database management with shared area
Taniar et al. A taxonomy of indexing schemes for parallel database systems
JP4287900B2 (ja) 書き込み遅延データベース管理システム、及びプログラム
WO2022213526A1 (zh) 事务处理方法、分布式数据库系统、集群及介质
WO2023165374A1 (zh) 数据库操作方法、装置、设备及存储介质
Taniar et al. Global parallel index for multi-processors database systems
US6571250B1 (en) Method and system for processing queries in a data processing system using index
JP2002351715A (ja) 書き込み遅延データベース管理システム
KR20030047996A (ko) 내포 데이터베이스를 구현하는 방법, 시스템 및 데이터 구조
WO2022068289A1 (zh) 一种数据访问方法、装置、设备及计算机可读存储介质
CN111373389A (zh) 数据存储系统以及用于提供数据存储系统的方法
JP4289834B2 (ja) データベース管理システム、データベース管理プログラムおよび記録媒体
JP4245282B2 (ja) 書き込み遅延データベース管理方法、装置、プログラム、及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090108