JP2002032248A - データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム - Google Patents

データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム

Info

Publication number
JP2002032248A
JP2002032248A JP2000218315A JP2000218315A JP2002032248A JP 2002032248 A JP2002032248 A JP 2002032248A JP 2000218315 A JP2000218315 A JP 2000218315A JP 2000218315 A JP2000218315 A JP 2000218315A JP 2002032248 A JP2002032248 A JP 2002032248A
Authority
JP
Japan
Prior art keywords
transaction
database
version
query
record
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
JP2000218315A
Other languages
English (en)
Inventor
Hiroshi Takegawa
弘志 竹川
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 JP2000218315A priority Critical patent/JP2002032248A/ja
Publication of JP2002032248A publication Critical patent/JP2002032248A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 実装が簡略化され、維持が容易な、問合せ処
理におけるトランザクションの版の提供システムを提供
する。 【解決手段】 データベースファイルのレコードに、レ
コードデータであるフィールド53、及びそれを一意に
識別するためのレコードID51に加えて、レコードを
最後に更新したトランザクションのトランザクションI
Dである最終更新トランザクションID52、更新前の
データベースのデータである更新前フィールド54を格
納することにより、問合せを実行しているトランザクシ
ョンに対して適切な版を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース問合
せ処理におけるトランザクションの版の提供システム及
びデータベース問合せ処理システムに関し、より詳細に
は、従来のデータベースファイルアクセス手段における
トランザクション同時実行制御手段の呼び出しによるト
ランザクションの版の提供や整合性制約の検査の省略が
可能で、実装が簡略化され、維持が容易な、データベー
ス問合せ処理におけるトランザクションの版の提供シス
テム及び該システムにより提供された版を用いたデータ
ベース問合せ処理システムに関する。
【0002】
【従来の技術】あるデータベースに対して複数のトラン
ザクションが操作を行うとき、トランザクションはその
性質として隔離性(isolation)を持つため、
同じデータベースがそれぞれのトランザクションにとっ
て異なって見える。
【0003】図5乃至図7は、各トランザクションから
のデータベースの見え方の違いを説明するための図で、
銀行の預金残高を管理するデータベースを例にその違い
を説明するための図である。今、データベースにはA,
B,Cさんの3人の預金残高が記録されており、それぞ
れ¥100,¥500,¥300とする。図5中のV0
は、操作しているトランザクションが1つもないときの
このデータベースを表している。2つのトランザクショ
ンT1,T2が開始され、それぞれがこのデータベース
を操作し始めたとする。トランザクションT1は、Aさ
んの残高を¥200に修正し、Cさんの残高を参照す
る。トランザクションT2は、Bさんの残高を¥0に修
正し、Cさんの残高を参照する。このとき、トランザク
ションT1にとって、A,Cさんの残高はそれぞれ¥2
00,¥300に、トランザクションT2にとって、
B,Cさんの残高はそれぞれ¥0,¥300に見える。
【0004】このトランザクションごとのデータベース
の見え方、姿のことを、版(version)と呼ぶこ
とにする。図5では、V1がトランザクションT1にと
っての版になり、V2がトランザクションT2にとって
の版になる。
【0005】トランザクションがコミットして終了する
と、そのトランザクションの版のうち、トランザクショ
ンが開始されてから変更された部分が実際のデータベー
スに反映される。トランザクションがアボートして終了
すると、そのトランザクションの版の変更された部分は
捨てられ、実際のデータベースは変更されない。例え
ば、図5のトランザクションT1がコミットして終了す
ると、図6のV0’のようにトランザクションT1での
Aさんの残高の¥100から¥200への変更が実際の
データベースに反映される。トランザクションでの更新
の結果、トランザクションごとの版の間で矛盾が生じて
はならない。
【0006】図5のV1ではAさんの残高はトランザク
ションT1が¥100から¥200に修正したので、¥
200に見える。しかしながら、トランザクションT1
はまだ終了していないので、この変更は実際のデータベ
ースに反映されるかわからない。そのため、このときト
ランザクションT2がAさんの残高を参照すると、V2
としてV0、V1のどちらのAさんの残高が見えても矛
盾が起きる可能性がある。図7(A)のように、V0の
Aさんの残高である¥100をV2でのAさんの残高と
すると、トランザクションT1がコミットしたとき、V
0’とV2の間で、Aさんの残高が異なることになる。
また、図7(B)のようにV1の¥200をV2での残
高にしても、トランザクションT1がアボートしたと
き、V0とV2の間で、Aさんの残高が異なることにな
る。
【0007】トランザクションごとの版の間でこのよう
な矛盾が生じるような操作を防ぐことによって、トラン
ザクションの隔離性を守るために、従来から2相ルール
によるロック(two−phase locking)
やタイムスタンプによる順序付け(timestamp
ordering)などのトランザクションの直列化
手法(serialization)が知られている。
【0008】しかし、このような矛盾が生じるかもしれ
ないにもかかわらず、他のトランザクションの版が参照
できると、便利な場合がある。例えば、銀行で管理して
いる総預金残高が¥800以上でなければならないと
き、図5の状況では、V0は¥100+¥500+¥3
00=¥900になり、この条件を満たしている。T1
がAさんの残高を¥200に修正しようとしたときに、
この条件を満たしているか調べるには、Bさんの残高が
必要になる。Bさんの残高は、トランザクションT2に
より¥0に修正されているが、トランザクションT2は
終了していないので、この修正は確定されていない。こ
のような場合、V0とV2のBさんの残高のそれぞれを
使って条件を満たすか調べてみて、両方とも満たしてい
れば、トランザクションT2がコミットしても、アボー
トしても条件を満たすことになる。V0のBさんの残高
では、¥200+¥500+¥300=¥1000で条
件を満たすが、V2のBさんの残高では、¥200+¥
0+¥300=¥500で条件を満たさないので、T1
によるAさんの残高の修正はできない。
【0009】このようなデータベースに設定されている
条件は整合性(integrity)制約と呼ばれ、ト
ランザクションはその実行により、この条件を守って、
データベースの一貫性(consistency)を保
つ必要がある。整合性制約には、他にも一意性(uni
que)制約や主キー(primary key)制約
などがあり、トランザクションはデータベースを変更す
る前に、変更してもこれらの制約を満たすことを調べな
ければならない。そのためには、先ほどの例のように、
他のすべてのトランザクションの版を必要に応じて参照
できなければならない。
【0010】また、SQL規格で定められているアイソ
レーションレベル(isolation level)
のように、トランザクションの開始時からその隔離性を
部分的に放棄することにより、他のトランザクションの
版を参照可能にする場合もある。
【0011】このようなトランザクションの版を実現す
る従来のトランザクション処理システムのソフトウェア
の構成を説明する。図8は、従来技術によるトランザク
ション処理システムのソフトウェア構成の一例を示す図
である。要求される問合せは、問合せ入出力手段62に
より受け付けられる。問合せ入出力手段62は、受け付
けた問合せを問合せ最適化手段63に渡し、問合せをど
のように実行するか、すなわち、アクセスプランを決定
してもらう。決定されたアクセスプランは問合せ実行手
段64に渡され、実際に問合せを実行する。問合せ実行
手段64は、必要に応じてトランザクション制御手段6
7に対して、トランザクションの操作を指示し、データ
ベースファイルアクセス手段65に対して、データベー
スファイルの操作を指示する。
【0012】データベースファイルアクセス手段65
は、問合せ実行手段64からの指示にしたがい、データ
ベースのデータであるレコードが記録されているハード
ディスク上のデータベースファイル68を操作する。こ
のとき、あるトランザクションが操作するデータベース
ファイル68やそのレコードなどを、他のトランザクシ
ョンから隔離し、そのトランザクションの版を生成する
ために、2相ルールによるロックなどのトランザクショ
ン同時実行制御手段66を呼び出す。また、操作後の状
態が定義されている整合性制約を満たすかどうかを、そ
の制約の内容にしたがって、他のトランザクションの版
である更新前のレコードと更新後のレコードを参照する
ことにより調べる。データベースファイル68の構造や
使用する障害回復方法にもよるが、更新後のレコードは
データベースファイル68から、更新前のレコードはロ
グファイル69から得る方法がある。ログファイル69
は障害回復に必要な情報が記録され、ハードディスク上
に存在する。
【0013】トランザクション制御手段67は、問合せ
実行手段64からの指示にしたがい、トランザクション
の開始、終了や、トランザクション同時実行制御手段6
6を呼び出して、トランザクションのアイソレーション
レベルの変更を行う。
【0014】
【発明が解決しようとする課題】しかしながら、上述し
たデータベースファイルアクセス手段は、レコードを格
納するレコードファイルや、索引を提供するB+木ファ
イルなど、データベースファイルの種類に応じて、その
操作手段を提供しなければならないため、実装は複雑に
なり、維持が困難である。
【0015】上述したデータベースファイルアクセス手
段において、(1)トランザクション同時実行制御手段
の呼び出しによってトランザクションの版を提供するこ
と、(2)データベースに定義されている整合性制約
を、操作後のデータベースが満たすかを検査すること、
(3)この検査のためのデータベースファイル、ログフ
ァイルからの他のトランザクションの版、すなわち更新
前、更新後レコードを参照することは、データベースフ
ァイルの操作手段の提供をより困難にすることになる。
【0016】また、問合せ最適化手段によるアクセスプ
ランの生成時に、トランザクションの版の提供や整合性
制約の検査を後回しにしたり、まったく必要ないことが
わかっても、データベースファイルを操作したときに、
データベースファイルアクセス手段内部で必ずこれらの
操作が行われてしまう。
【0017】本発明は、上述のごとき実情に鑑みてなさ
れたものであり、従来のデータベースファイルアクセス
手段におけるトランザクション同時実行制御手段の呼び
出しによるトランザクションの版の提供や、整合性制約
の検査の省略により、実装が簡略化され、維持が容易
な、データベース問合せ処理におけるトランザクション
の版の提供システム及びデータベース問合せ処理システ
ムを提供することをその目的とする。
【0018】
【課題を解決するための手段】請求項1の発明は、デー
タベースへの問合せ要求に応じた問合せ処理の過程にお
いて、前記データベースに対して複数のトランザクショ
ン処理を行うとき、前記データベースのファイルのレコ
ードに、レコードデータに加えて、前記レコードを更新
したトランザクションのID及び更新前のレコードデー
タをそれぞれフィールド値として格納することにより、
問合せを実行しているトランザクションに対して適切な
版を提供することを特徴としたものである。
【0019】請求項2の発明は、請求項1の発明のデー
タベース問合せ処理におけるトランザクションの版の提
供方法により提供された版を用いて、トランザクション
における所望のアイソレーションレベルを実現してデー
タベースの問合せ処理を行うことを特徴としたものであ
る。
【0020】請求項3の発明は、請求項1の発明のデー
タベース問合せ処理におけるトランザクションの版の提
供方法により提供された版を用いて、データベースの整
合性制約の検査を行い、該検査結果にしたがってデータ
ベースの問合せ処理を行うことを特徴としたものであ
る。
【0021】請求項4の発明は、データベースへの問合
せ要求に応じた問合せ処理の過程において、前記データ
ベースに対して複数のトランザクション処理を行うと
き、前記データベースのファイルのレコードに、レコー
ドデータに加えて、前記レコードを更新したトランザク
ションのID及び更新前のレコードデータをそれぞれフ
ィールド値として格納することにより、問合せを実行し
ているトランザクションに対して適切な版を提供するこ
とを特徴としたものである。
【0022】請求項5の発明は、請求項4の発明のデー
タベース問合せ処理におけるトランザクションの版の提
供システムにより提供された版を用いて、トランザクシ
ョンにおける所望のアイソレーションレベルを実現して
データベースの問合せ処理を行うことを特徴としたもの
である。
【0023】請求項6の発明は、請求項4の発明のデー
タベース問合せ処理におけるトランザクションの版の提
供システムにより提供された版を用いて、データベース
の整合性制約の検査を行い、該検査結果にしたがってデ
ータベースの問合せ処理を行うことを特徴としたもので
ある。
【0024】請求項7の発明は、データベースのファイ
ルを有するサーバと、該データベースに対して問合せ要
求を行うためのクライアント端末と、前記サーバ及びク
ライアント端末を接続するネットワークとからなるトラ
ンザクションの版の提供装置であって、前記クライアン
ト端末からの前記データベースへの問合せ要求に応じた
問合せ処理の過程において、前記データベースに対して
複数のトランザクション処理を行うとき、前記データベ
ースのファイルのレコードに、レコードデータに加え
て、前記レコードを更新したトランザクションのID及
び更新前のレコードデータをそれぞれフィールド値とし
て格納することにより、問合せを実行しているトランザ
クションに対して適切な版を提供することを特徴とした
ものである。
【0025】請求項8の発明は、請求項7の発明のデー
タベース問合せ処理におけるトランザクションの版の提
供装置により提供された版を用いて、トランザクション
における所望のアイソレーションレベルを実現してデー
タベースの問合せ処理を行うことを特徴としたものであ
る。
【0026】請求項9の発明は、請求項7の発明のデー
タベース問合せ処理におけるトランザクションの版の提
供装置により提供された版を用いて、データベースの整
合性制約の検査を行い、該検査結果にしたがってデータ
ベースの問合せ処理を行うことを特徴としたものであ
る。
【0027】請求項10の発明は、データベースへの問
合せ要求に応じた問合せ処理の過程において、前記デー
タベースに対して複数のトランザクション処理を行うと
き、前記データベースのファイルのレコードに、レコー
ドデータに加えて、前記レコードを更新したトランザク
ションのID及び更新前のレコードデータをそれぞれフ
ィールド値として格納することにより、問合せを実行し
ているトランザクションに対して適切な版を提供するこ
とを特徴としたものである。
【0028】請求項11の発明は、請求項10の発明の
データベース問合せ処理におけるトランザクションの版
の提供を実行するためのプログラムを実行することによ
り提供された版を用いて、トランザクションにおける所
望のアイソレーションレベルを実現してデータベースの
問合せ処理を行うことを特徴としたものである。
【0029】請求項12の発明は、請求項10の発明の
データベース問合せ処理におけるトランザクションの版
の提供を実行するためのプログラムを実行することによ
り提供された版を用いて、データベースの整合性制約の
検査を行い、該検査結果にしたがってデータベースの問
合せ処理を行うことを特徴としたものである。
【0030】
【発明の実施の形態】図1は本発明によるトランザクシ
ョン処理のために構成されたサーバ−クライアントシス
テムの一例を示す図、図2は図1を展開した図で、本発
明によるトランザクション処理のために構成されたコン
ピュータシステムのハードウェア構成の一例を示す図、
図3は本発明によるトランザクション処理のための機能
構成或いはシステムのソフトウェア構成の一例を示す図
である。図1及び図2中、1はメモリ11,CPU1
2,ハードディスク13を有するサーバ、2は通信ネッ
トワーク等のネットワーク、3(3’)はメモリ31
(31’),CPU32(32’),ハードディスク3
3(33’)を有し、通信ネットワーク2を介してサー
バ1に接続された複数の端末(クライアント若しくはク
ライアント端末ともいう)、34(34’)は端末3
(3’)の表示装置であるモニタ、35(35’)は端
末3(3’)のポインティングデバイスであるマウス、
36(36’)は端末3(3’)の入力装置であるキー
ボードである。
【0031】端末3(3’)は、システムの利用者が問
合せ要求を入力したり、問合せ結果を出力したりするた
めに利用する計算機である。一般に、端末3には問合せ
要求を入力するためのキーボード36及びマウス35な
どのポインティングデバイスや、問合せ結果を表示する
ためのディスプレイ34が装備される。また、端末3は
メモリ31,CPU32,ハードディスク33を備え、
ソフトウェアによるプログラムが実行可能である。端末
3では、後述する図3中の問合せ入出力手段43がプロ
グラムとして実行される。
【0032】サーバ1は、端末3から入力された問合せ
要求に応じた問合せ処理を行い、その結果を端末3に返
すための計算機である。端末3とサーバ1は、後述する
ネットワーク2で接続される。サーバ1はメモリ11,
CPU12,ハードディスク13を備え、ソフトウェア
によるプログラムが実行可能である。サーバ1では、後
述する図3中の問合せ最適化手段43、問合せ実行手段
44、データベースファイルアクセス手段45、トラン
ザクション同時実行制御手段46、トランザクション制
御手段47、及び削除レコード破棄問合せ発行手段41
がプログラムとして実行される。データベースファイル
48は、ハードディスク13に記録される。
【0033】ネットワーク2は、端末3及びサーバ1を
つなぐ伝送路である。一般に、ケーブルで実現され、通
信プロトコルにはTCP/IPが使われる。ただし、端
末3とサーバ1との通信プロトコルが一致すれば、ケー
ブルを使用しない無線LANや放送波を使ったネットワ
ークでも構わない。
【0034】図3を参照して、本発明によるトランザク
ションの版の提供と問い合わせ処理の概要を機能的に説
明する。本発明による版の提供及び問い合わせ処理の機
能を実現する手段としては、削除レコード破棄問合せ発
行手段41と、基本的に図8で説明した各手段を援用し
た、問合せ入出力手段42,問合せ最適化手段43,問
合せ実行手段44,データベースファイルアクセス手段
45,トランザクション同時実行制御手段46,トラン
ザクション制御手段47,データベースファイル48を
備える。上記各手段について図8で説明した各手段との
違いを中心に以下に説明する。
【0035】問合せ実行手段44は、従来のデータベー
スファイルアクセス手段65において実装されてきたト
ランザクションの版の提供や、整合性制約の検査をアク
セスプランの実行によって行う。ここで、版(vers
ion)とは、トランザクションごとのデータベースの
見え方、姿のことである。問合せ最適化手段43は、問
合せ入出力手段42から与えられた問合せにしたがっ
て、必要に応じて、トランザクションの版の提供や、整
合性制約の検査を含むアクセスプランを生成する。
【0036】データベースファイル48のレコードに
は、データベースのデータを表すフィールドに加えて、
以下のフィールドを定義する。 (1)レコードを最後に更新したトランザクションのト
ランザクションIDを表すフィールド、 (2)更新前のデータベースのデータを表すフィール
ド。
【0037】問合せ実行手段44によるデータベースフ
ァイル48の更新操作は、対象となるレコードの最後に
更新したトランザクションのトランザクションIDと、
必要に応じて、更新前のデータを表すフィールドを更新
する。
【0038】問合せ実行手段44によるトランザクショ
ンの版の提供のうち、可能なものは、トランザクション
表中の現在実行中のトランザクションのトランザクショ
ンIDと、データベースファイルのレコード中のそのレ
コードを最後に更新したトランザクションのトランザク
ションIDを使った選択操作により行う。可能でないも
のに関しては、従来の2相ルールによるロックなどのト
ランザクション同時実行制御手段46により行う。
【0039】問合せ実行手段44によるデータベースの
整合性制約の検査は、データベースファイル48からの
更新後のデータと、他のトランザクションにより更新中
のレコードについては、更新前のデータを使用して行
う。
【0040】トランザクション制御手段47は、問合せ
実行手段44からの指示に従い、(1)トランザクショ
ンの開始、(2)トランザクションの終了(コミット,
アボート)、(3)トランザクションのアイソレーショ
ンレベルの変更、の各処理を行う。トランザクション制
御手段47は、トランザクションを開始するごとに、そ
れぞれのトランザクションを一意に識別可能なトランザ
クションIDを割り当てる。現在実行中のトランザクシ
ョン、つまり、終了していないトランザクションのトラ
ンザクションIDは、メモリ11上のトランザクション
表に管理される。
【0041】図4は、本発明による問合せ処理を実行す
るためのデータベースファイル及びトランザクション表
の一例を示す図である。例えば、図4のトランザクショ
ン表を見ると、現在実行中のトランザクションは2つあ
り、それぞれのトランザクションIDが“11”と“1
2”であることがわかる。
【0042】データベースファイル48は、ハードディ
スク13上に記憶され、データベースのデータをレコー
ドの集まりとして記録している。図4の上部は、あるデ
ータベースファイルを表している。一行一行はレコード
を表しており、それぞれのレコードには、それを一意に
識別するためのレコードID51、レコードを最後に更
新したトランザクションのトランザクションIDである
最終更新トランザクションID52、データベースのデ
ータであるフィールド53、更新前のデータベースのデ
ータである更新前フィールド54が格納される。
【0043】データベースファイルアクセス手段45
は、データベースファイル48の種類に応じた参照、更
新操作を行う手段を提供する。従来のようなトランザク
ション同時実行制御手段46の呼び出しによる版の提供
や、更新操作後の整合性制約の検査は行わないので、実
装が簡略化され、維持が容易になる。
【0044】問合せ実行手段44は、問合せ最適化手段
43により生成されるアクセスプランによって指示され
たデータベースファイルに対する更新操作を、以下のよ
うに扱う。
【0045】(1)レコードの挿入: 新しいレコード
を識別するレコードID51、最終更新トランザクショ
ンID52に挿入を行うトランザクションのトランザク
ションID、フィールド53には挿入するデータ、更新
前フィールド54は空であるレコードを挿入する。 (2)レコードの削除: 削除するレコードのフィール
ド53を空にするようにレコードを修正する。 (3)レコードの修正: 修正するレコードの最終更新
トランザクションID52を、修正を行うトランザクシ
ョンのトランザクションIDに、更新前のフィールド5
4を修正前のフィールドに、フィールド53を修正後の
フィールドにそれぞれ変更する。
【0046】例えば、図4のIDが“4”のレコードは
IDが“11”のトランザクションにより、フィールド
53が空なので削除され、IDが“6”のレコードは、
フィールド53、更新前フィールド54の両方が空でな
いので、IDが“11”のトランザクションにより修正
され、IDが“7”のレコードは、更新前フィールド5
4が空のなのでIDが“12”のトランザクションによ
り挿入されたことがわかる。
【0047】問合せ最適化手段43は、問合せ入出力手
段42から与えられた問合せを効率よく実行するアクセ
スプランを生成する。アクセスプラン生成時、可能であ
れば、従来のトランザクション同時実行制御手段46に
よりトランザクションの版を提供するのではなく、デー
タベースファイル48からレコードを取り出す以下のよ
うな集合演算により版を提供するアクセスプランを生成
する。
【0048】(1)問合せを実行しているトランザクシ
ョンの版を参照する。最終更新トランザクションID5
2が、トランザクション表から得た現在実行中のトラン
ザクションのトランザクションIDのうち、アクセスプ
ランを実行するトランザクション以外のものと等しく、
かつフィールド53が空でないレコードを取り出す。 (2)すべてのトランザクションの版を参照する、すな
わちSQL規格のアイソレーションレベルのnonre
peatable readである。フィールド53が
空でないレコードを取り出す。 (3)整合性制約の検査のための特別な版を参照する。
最終更新トランザクションID52が、トランザクショ
ン表から得た現在実行中のトランザクションのトランザ
クションIDのうち、アクセスプランを実行するトラン
ザクション以外のものと等しい、またはフィールド53
が空でないレコードを取り出す。
【0049】また、これらの処理を新たに最適化の対象
にできるため、従来より効率のよいアクセスプランの生
成が可能になる。
【0050】削除レコード破棄問合せ発行手段41は、
コミットされたトランザクションにより削除されたレコ
ードを実際に削除する問合せを、定期的に問合せ最適化
手段43に送る。問合せ最適化手段43は問合せ入出力
手段42からの問合せと同様にアクセスプランを生成す
る。ただし、削除レコードの削除が問合せ実行手段44
によってレコードの修正に扱われないように、アクセス
プランを生成する。
【0051】上述のごとき各種機能をもつ本発明の一実
施形態としての、データベース問合せ処理におけるトラ
ンザクションの版の提供方法及びシステムを説明する。
この方法及びシステムは、データベースへの問合せ要求
に応じた問合せ処理の過程において、前記データベース
に対して複数のトランザクション処理を行うとき、前記
データベースのファイル48のレコードに、レコードデ
ータ53に加えて、前記レコードを更新したトランザク
ションのID52及び更新前のレコードデータ54をそ
れぞれフィールド値として格納することにより、問合せ
を実行しているトランザクションに適応した版を提供す
るようにしている。
【0052】本発明の他の実施形態としての、データベ
ース問合せ処理方法及びシステムは、上述の版の提供方
法及びシステムにより提供された版を用いて、トランザ
クションにおける所望のアイソレーションレベルを実現
してデータベースの問合せ処理を行うようにしている。
【0053】さらに、本発明の他の実施形態としての、
データベース問合せ処理方法及びシステムは、上述の版
の提供方法及びシステムにより提供された版を用いて、
データベースの整合性制約の検査を行い、該検査結果に
したがってデータベースの問合せ処理を行うようにして
いる。
【0054】本発明の一実施形態としての、データベー
ス問合せ処理におけるトランザクションの版の提供装置
は、データベースのファイル48(ハードディスク33
内に格納されている)を有するサーバ1と、該データベ
ースに対して問合せ要求を行うためのクライアント端末
3と、前記サーバ1及びクライアント端末3を接続する
ネットワーク2とからなるトランザクションの版の提供
装置であって、前記クライアント端末3からの前記デー
タベースへの問合せ要求に応じた問合せ処理の過程にお
いて、前記データベースに対して複数のトランザクショ
ン処理を行うとき、前記データベースのファイル48の
レコードに、レコードデータ53に加えて、前記レコー
ドを更新したトランザクションのID52及び更新前の
レコードデータ54をそれぞれフィールド値として格納
することにより、問合せを実行しているトランザクショ
ンに適応した版を提供するようにしている。
【0055】本発明の他の実施形態としての、データベ
ース問合せ処理装置は、上記の版の提供装置により提供
された版を用いて、トランザクションにおける所望のア
イソレーションレベルを実現してデータベースの問合せ
処理を行うようにしている。
【0056】さらに、本発明の他の実施形態としての、
データベース問合せ処理装置は、上記の版の提供装置に
より提供された版を用いて、データベースの整合性制約
の検査を行い、該検査結果にしたがってデータベースの
問合せ処理を行うようにしている。
【0057】最後に、本発明による版の提供及び問合せ
処理の機能を実現するためのプログラムやデータを記憶
した記録媒体の実施形態を説明する。記録媒体として
は、具体的には、CD−ROM,光磁気ディスク,DV
D−ROM,フロッピー(登録商標)ディスク,フラッ
シュメモリ,及びその他各種ROMやRAM等が想定で
き、これら記録媒体に上述した本発明の版の提供或いは
問合せ処理の機能を実現するためのプログラムを記録し
て流通させることにより、当該機能の実現を容易にす
る。そしてコンピュータ等の情報処理装置に上記のごと
くの記録媒体を装着して情報処理装置によりプログラム
を読み出すか、若しくは情報処理装置が備えている記憶
媒体に当該プログラムを記憶させておき、必要に応じて
読み出すことにより、本発明に関わる版の提供機能及び
問合せ処理機能を実行することができる。
【0058】本実施形態におけるデータベース問合せ処
理におけるトランザクションの版の提供を実行するため
のプログラムを記録したコンピュータ読み取り可能な記
録媒体は、データベースへの問合せ要求に応じた問合せ
処理の過程において、前記データベースに対して複数の
トランザクション処理を行うとき、前記データベースの
ファイル48のレコードに、レコードデータ53に加え
て、前記レコードを更新したトランザクションのID5
2及び更新前のレコードデータ54をそれぞれフィール
ド値として格納することにより、問合せを実行している
トランザクションに適応した版を提供するプログラムを
記録したものである。
【0059】本発明の他の実施形態としての、データベ
ース問合せ処理を実行するためのプログラムを記録した
コンピュータ読み取り可能な記録媒体は、上記のトラン
ザクションに適応した版を提供するプログラムを実行す
ることにより提供された版を用いて、トランザクション
における所望のアイソレーションレベルを実現してデー
タベースの問合せ処理を行うプログラムを記録したもの
である。
【0060】さらに、本発明の他の実施形態としての、
データベース問合せ処理を実行するためのプログラムを
記録したコンピュータ読み取り可能な記録媒体は、同様
に上記のトランザクションに適応した版を提供するプロ
グラムを実行することにより提供された版を用いて、デ
ータベースの整合性制約の検査を行い、該検査結果にし
たがってデータベースの問合せ処理を行うプログラムを
記録したものである。
【0061】実際には、前述のごとく、メモリ31,C
PU32,ハードディスク33を備えた端末3では、問
合せを要求するための問合せ入出力手段42がプログラ
ムとして実行される。加えて、メモリ11,CPU1
2,ハードディスク13を備えたサーバ1では、端末3
からの問合せ要求に対し、上述の問合せ最適化手段4
3、問合せ実行手段44、データベースファイルアクセ
ス手段45、トランザクション同時実行制御手段46、
トランザクション制御手段47、及び削除レコード破棄
問合せ発行手段41がプログラムとして実行される。デ
ータベースファイル48は、ハードディスク13に記録
される。
【0062】
【発明の効果】本発明によれば、従来のデータベースフ
ァイルアクセス手段におけるトランザクション同時実行
制御手段の呼び出しによるトランザクションの版の提供
や、整合性制約の検査の省略が可能なので、実装が簡略
化され、維持が容易になる。
【0063】本発明によれば、問合せ実行手段における
トランザクションの版の提供や整合性制約の検査を、最
終更新トランザクションIDや更新前データを表すフィ
ールドを使って、問合せ処理において従来使用されてい
る集合演算で処理できる。
【0064】本発明によれば、問合せ最適化手段によ
り、従来は最適化の対象でなかったトランザクションの
版の提供や整合性制約の検査を含めたアクセスプランを
生成できるので、従来より効率的な問合せを実行でき
る。
【図面の簡単な説明】
【図1】 本発明によるトランザクション処理のために
構成されたサーバ−クライアントシステムの一例を示す
図である。
【図2】 図1を展開した図で、本発明によるトランザ
クション処理のために構成されたコンピュータシステム
のハードウェア構成の一例を示す図である。
【図3】 本発明によるトランザクション処理のための
機能構成或いはシステムのソフトウェア構成の一例を示
す図である。
【図4】 本発明による問合せ処理を実行するためのデ
ータベースファイル及びトランザクション表の一例を示
す図である。
【図5】 各トランザクションからのデータベースの見
え方の違いを説明するための図である。
【図6】 各トランザクションからのデータベースの見
え方の違いを説明するための図である。
【図7】 各トランザクションからのデータベースの見
え方の違いを説明するための図である。
【図8】 従来技術によるトランザクション処理システ
ムのソフトウェア構成の一例を示す図である。
【符号の説明】
1…サーバ、2…ネットワーク、3,3’…クライアン
ト端末、11,31,31’…メモリ、12,32,3
2’…CPU、13,33,33’…ハードディスク、
34,34’…モニタ、35,35’…マウス、36,
36’…キーボード、41…削除レコード破棄問合せ発
行手段、42,62…問合せ入出力手段、43,63…
問合せ最適化手段、44,64…問合せ実行手段、4
5,65…データベースファイルアクセス手段、46,
66…トランザクション同時実行制御手段、47,67
…トランザクション制御手段、48,68…データベー
スファイル、51…レコードID、52…最終更新トラ
ンザクションID、53…フィールド、54…更新前フ
ィールド、69…ログファイル。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 データベースへの問合せ要求に応じた問
    合せ処理の過程において、前記データベースに対して複
    数のトランザクション処理を行うとき、前記データベー
    スのファイルのレコードに、レコードデータに加えて、
    前記レコードを更新したトランザクションのID及び更
    新前のレコードデータをそれぞれフィールド値として格
    納することにより、問合せを実行しているトランザクシ
    ョンに適応した版を提供することを特徴とするデータベ
    ース問合せ処理におけるトランザクションの版の提供方
    法。
  2. 【請求項2】 請求項1に記載のデータベース問合せ処
    理におけるトランザクションの版の提供方法により提供
    された版を用いて、トランザクションにおける所望のア
    イソレーションレベルを実現してデータベースの問合せ
    処理を行うことを特徴とするデータベース問合せ処理方
    法。
  3. 【請求項3】 請求項1に記載のデータベース問合せ処
    理におけるトランザクションの版の提供方法により提供
    された版を用いて、データベースの整合性制約の検査を
    行い、該検査結果にしたがってデータベースの問合せ処
    理を行うことを特徴とするデータベース問合せ処理方
    法。
  4. 【請求項4】 データベースへの問合せ要求に応じた問
    合せ処理の過程において、前記データベースに対して複
    数のトランザクション処理を行うとき、前記データベー
    スのファイルのレコードに、レコードデータに加えて、
    前記レコードを更新したトランザクションのID及び更
    新前のレコードデータをそれぞれフィールド値として格
    納することにより、問合せを実行しているトランザクシ
    ョンに適応した版を提供することを特徴とするデータベ
    ース問合せ処理におけるトランザクションの版の提供シ
    ステム。
  5. 【請求項5】 請求項4に記載のデータベース問合せ処
    理におけるトランザクションの版の提供システムにより
    提供された版を用いて、トランザクションにおける所望
    のアイソレーションレベルを実現してデータベースの問
    合せ処理を行うことを特徴とするデータベース問合せ処
    理システム。
  6. 【請求項6】 請求項4に記載のデータベース問合せ処
    理におけるトランザクションの版の提供システムにより
    提供された版を用いて、データベースの整合性制約の検
    査を行い、該検査結果にしたがってデータベースの問合
    せ処理を行うことを特徴とするデータベース問合せ処理
    システム。
  7. 【請求項7】 データベースのファイルを有するサーバ
    と、該データベースに対して問合せ要求を行うためのク
    ライアント端末と、前記サーバ及びクライアント端末を
    接続するネットワークとからなるトランザクションの版
    の提供装置であって、前記クライアント端末からの前記
    データベースへの問合せ要求に応じた問合せ処理の過程
    において、前記データベースに対して複数のトランザク
    ション処理を行うとき、前記データベースのファイルの
    レコードに、レコードデータに加えて、前記レコードを
    更新したトランザクションのID及び更新前のレコード
    データをそれぞれフィールド値として格納することによ
    り、問合せを実行しているトランザクションに適応した
    版を提供することを特徴とするデータベース問合せ処理
    におけるトランザクションの版の提供装置。
  8. 【請求項8】 請求項7に記載のデータベース問合せ処
    理におけるトランザクションの版の提供装置により提供
    された版を用いて、トランザクションにおける所望のア
    イソレーションレベルを実現してデータベースの問合せ
    処理を行うことを特徴とするデータベース問合せ処理装
    置。
  9. 【請求項9】 請求項7に記載のデータベース問合せ処
    理におけるトランザクションの版の提供装置により提供
    された版を用いて、データベースの整合性制約の検査を
    行い、該検査結果にしたがってデータベースの問合せ処
    理を行うことを特徴とするデータベース問合せ処理装
    置。
  10. 【請求項10】 データベースへの問合せ要求に応じた
    問合せ処理の過程において、前記データベースに対して
    複数のトランザクション処理を行うとき、前記データベ
    ースのファイルのレコードに、レコードデータに加え
    て、前記レコードを更新したトランザクションのID及
    び更新前のレコードデータをそれぞれフィールド値とし
    て格納することにより、問合せを実行しているトランザ
    クションに適応した版を提供することを特徴とするデー
    タベース問合せ処理におけるトランザクションの版の提
    供を実行するためのプログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  11. 【請求項11】 請求項10に記載のデータベース問合
    せ処理におけるトランザクションの版の提供を実行する
    ためのプログラムを実行することにより提供された版を
    用いて、トランザクションにおける所望のアイソレーシ
    ョンレベルを実現してデータベースの問合せ処理を行う
    ことを特徴とするデータベース問合せ処理を実行するた
    めのプログラムを記録したコンピュータ読み取り可能な
    記録媒体。
  12. 【請求項12】 請求項10に記載のデータベース問合
    せ処理におけるトランザクションの版の提供を実行する
    ためのプログラムを実行することにより提供された版を
    用いて、データベースの整合性制約の検査を行い、該検
    査結果にしたがってデータベースの問合せ処理を行うこ
    とを特徴とするデータベース問合せ処理を実行するため
    のプログラムを記録したコンピュータ読み取り可能な記
    録媒体。
JP2000218315A 2000-07-19 2000-07-19 データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム Pending JP2002032248A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000218315A JP2002032248A (ja) 2000-07-19 2000-07-19 データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000218315A JP2002032248A (ja) 2000-07-19 2000-07-19 データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム

Publications (1)

Publication Number Publication Date
JP2002032248A true JP2002032248A (ja) 2002-01-31

Family

ID=18713286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000218315A Pending JP2002032248A (ja) 2000-07-19 2000-07-19 データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム

Country Status (1)

Country Link
JP (1) JP2002032248A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348744A (ja) * 2003-05-22 2004-12-09 Microsoft Corp テーブルに対して行われる変更を識別する識別方法及びそのシステム
WO2008149552A1 (ja) * 2007-06-06 2008-12-11 Athena Telecom Lab, Inc. データベース矛盾解消方式
JP2009266243A (ja) * 2002-09-03 2009-11-12 Sap Ag データの動的アクセス
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266243A (ja) * 2002-09-03 2009-11-12 Sap Ag データの動的アクセス
JP4665042B2 (ja) * 2002-09-03 2011-04-06 エスアーペー アーゲー データの動的アクセス
JP2004348744A (ja) * 2003-05-22 2004-12-09 Microsoft Corp テーブルに対して行われる変更を識別する識別方法及びそのシステム
WO2008149552A1 (ja) * 2007-06-06 2008-12-11 Athena Telecom Lab, Inc. データベース矛盾解消方式
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
US9678996B2 (en) 2007-06-06 2017-06-13 Kunio Kamimura Conflict resolution system for database parallel editing

Similar Documents

Publication Publication Date Title
US11216422B2 (en) Universal data management interface
JP3992263B2 (ja) データベース−ファイル連携方法
US5832498A (en) Device for generating object-oriented interfaces for relational data bases and a process implemented by this device
US7653665B1 (en) Systems and methods for avoiding database anomalies when maintaining constraints and indexes in presence of snapshot isolation
US7895172B2 (en) System and method for writing data dependent upon multiple reads in a distributed database
US5553279A (en) Lossless distribution of time series data in a relational data base network
JP4842279B2 (ja) データベースサーバによるファイル操作を実行するためのインフラストラクチャ
US7769789B2 (en) High performant row-level data manipulation using a data layer interface
US7548918B2 (en) Techniques for maintaining consistency for different requestors of files in a database management system
US9852174B2 (en) Reducing update conflicts when maintaining views
US8626779B2 (en) Method and system for managing database
US7519620B2 (en) Replication system, method and program for replicating a plurality of databases into a replica database
JP2021028771A (ja) データベースサーバ装置、サーバシステム及びリクエスト処理方法
EP1349087A2 (en) Remote database access through a table entry
JP2009146084A (ja) テーブル管理装置
CN117421302A (zh) 一种数据处理方法及相关设备
WO2020192663A1 (zh) 一种数据管理方法及相关设备
US11188228B1 (en) Graphing transaction operations for transaction compliance analysis
JP2002032248A (ja) データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム
US10838947B2 (en) Consistency check for foreign key definition
US7716260B2 (en) Techniques for transaction semantics for a database server performing file operations
CN112286992B (zh) 一种查询方法、分布式***、设备及存储介质
US20030018653A1 (en) Database management method, system for practicing the method and medium recording process program
JP2000181777A (ja) データベース−ファイル連携方法及び装置
CN117931765A (zh) 重新验证传播的细粒度决策

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081111