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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
理におけるトランザクションの版の提供システムを提供
する。 【解決手段】 データベースファイルのレコードに、レ
コードデータであるフィールド53、及びそれを一意に
識別するためのレコードID51に加えて、レコードを
最後に更新したトランザクションのトランザクションI
Dである最終更新トランザクションID52、更新前の
データベースのデータである更新前フィールド54を格
納することにより、問合せを実行しているトランザクシ
ョンに対して適切な版を提供する。
Description
せ処理におけるトランザクションの版の提供システム及
びデータベース問合せ処理システムに関し、より詳細に
は、従来のデータベースファイルアクセス手段における
トランザクション同時実行制御手段の呼び出しによるト
ランザクションの版の提供や整合性制約の検査の省略が
可能で、実装が簡略化され、維持が容易な、データベー
ス問合せ処理におけるトランザクションの版の提供シス
テム及び該システムにより提供された版を用いたデータ
ベース問合せ処理システムに関する。
ザクションが操作を行うとき、トランザクションはその
性質として隔離性(isolation)を持つため、
同じデータベースがそれぞれのトランザクションにとっ
て異なって見える。
のデータベースの見え方の違いを説明するための図で、
銀行の預金残高を管理するデータベースを例にその違い
を説明するための図である。今、データベースには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に見える。
の見え方、姿のことを、版(version)と呼ぶこ
とにする。図5では、V1がトランザクションT1にと
っての版になり、V2がトランザクションT2にとって
の版になる。
と、そのトランザクションの版のうち、トランザクショ
ンが開始されてから変更された部分が実際のデータベー
スに反映される。トランザクションがアボートして終了
すると、そのトランザクションの版の変更された部分は
捨てられ、実際のデータベースは変更されない。例え
ば、図5のトランザクションT1がコミットして終了す
ると、図6のV0’のようにトランザクションT1での
Aさんの残高の¥100から¥200への変更が実際の
データベースに反映される。トランザクションでの更新
の結果、トランザクションごとの版の間で矛盾が生じて
はならない。
ション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さんの残高が異なることにな
る。
な矛盾が生じるような操作を防ぐことによって、トラン
ザクションの隔離性を守るために、従来から2相ルール
によるロック(two−phase locking)
やタイムスタンプによる順序付け(timestamp
ordering)などのトランザクションの直列化
手法(serialization)が知られている。
ないにもかかわらず、他のトランザクションの版が参照
できると、便利な場合がある。例えば、銀行で管理して
いる総預金残高が¥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さんの残高の修正はできない。
条件は整合性(integrity)制約と呼ばれ、ト
ランザクションはその実行により、この条件を守って、
データベースの一貫性(consistency)を保
つ必要がある。整合性制約には、他にも一意性(uni
que)制約や主キー(primary key)制約
などがあり、トランザクションはデータベースを変更す
る前に、変更してもこれらの制約を満たすことを調べな
ければならない。そのためには、先ほどの例のように、
他のすべてのトランザクションの版を必要に応じて参照
できなければならない。
レーションレベル(isolation level)
のように、トランザクションの開始時からその隔離性を
部分的に放棄することにより、他のトランザクションの
版を参照可能にする場合もある。
る従来のトランザクション処理システムのソフトウェア
の構成を説明する。図8は、従来技術によるトランザク
ション処理システムのソフトウェア構成の一例を示す図
である。要求される問合せは、問合せ入出力手段62に
より受け付けられる。問合せ入出力手段62は、受け付
けた問合せを問合せ最適化手段63に渡し、問合せをど
のように実行するか、すなわち、アクセスプランを決定
してもらう。決定されたアクセスプランは問合せ実行手
段64に渡され、実際に問合せを実行する。問合せ実行
手段64は、必要に応じてトランザクション制御手段6
7に対して、トランザクションの操作を指示し、データ
ベースファイルアクセス手段65に対して、データベー
スファイルの操作を指示する。
は、問合せ実行手段64からの指示にしたがい、データ
ベースのデータであるレコードが記録されているハード
ディスク上のデータベースファイル68を操作する。こ
のとき、あるトランザクションが操作するデータベース
ファイル68やそのレコードなどを、他のトランザクシ
ョンから隔離し、そのトランザクションの版を生成する
ために、2相ルールによるロックなどのトランザクショ
ン同時実行制御手段66を呼び出す。また、操作後の状
態が定義されている整合性制約を満たすかどうかを、そ
の制約の内容にしたがって、他のトランザクションの版
である更新前のレコードと更新後のレコードを参照する
ことにより調べる。データベースファイル68の構造や
使用する障害回復方法にもよるが、更新後のレコードは
データベースファイル68から、更新前のレコードはロ
グファイル69から得る方法がある。ログファイル69
は障害回復に必要な情報が記録され、ハードディスク上
に存在する。
実行手段64からの指示にしたがい、トランザクション
の開始、終了や、トランザクション同時実行制御手段6
6を呼び出して、トランザクションのアイソレーション
レベルの変更を行う。
たデータベースファイルアクセス手段は、レコードを格
納するレコードファイルや、索引を提供するB+木ファ
イルなど、データベースファイルの種類に応じて、その
操作手段を提供しなければならないため、実装は複雑に
なり、維持が困難である。
段において、(1)トランザクション同時実行制御手段
の呼び出しによってトランザクションの版を提供するこ
と、(2)データベースに定義されている整合性制約
を、操作後のデータベースが満たすかを検査すること、
(3)この検査のためのデータベースファイル、ログフ
ァイルからの他のトランザクションの版、すなわち更新
前、更新後レコードを参照することは、データベースフ
ァイルの操作手段の提供をより困難にすることになる。
ランの生成時に、トランザクションの版の提供や整合性
制約の検査を後回しにしたり、まったく必要ないことが
わかっても、データベースファイルを操作したときに、
データベースファイルアクセス手段内部で必ずこれらの
操作が行われてしまう。
れたものであり、従来のデータベースファイルアクセス
手段におけるトランザクション同時実行制御手段の呼び
出しによるトランザクションの版の提供や、整合性制約
の検査の省略により、実装が簡略化され、維持が容易
な、データベース問合せ処理におけるトランザクション
の版の提供システム及びデータベース問合せ処理システ
ムを提供することをその目的とする。
タベースへの問合せ要求に応じた問合せ処理の過程にお
いて、前記データベースに対して複数のトランザクショ
ン処理を行うとき、前記データベースのファイルのレコ
ードに、レコードデータに加えて、前記レコードを更新
したトランザクションのID及び更新前のレコードデー
タをそれぞれフィールド値として格納することにより、
問合せを実行しているトランザクションに対して適切な
版を提供することを特徴としたものである。
タベース問合せ処理におけるトランザクションの版の提
供方法により提供された版を用いて、トランザクション
における所望のアイソレーションレベルを実現してデー
タベースの問合せ処理を行うことを特徴としたものであ
る。
タベース問合せ処理におけるトランザクションの版の提
供方法により提供された版を用いて、データベースの整
合性制約の検査を行い、該検査結果にしたがってデータ
ベースの問合せ処理を行うことを特徴としたものであ
る。
せ要求に応じた問合せ処理の過程において、前記データ
ベースに対して複数のトランザクション処理を行うと
き、前記データベースのファイルのレコードに、レコー
ドデータに加えて、前記レコードを更新したトランザク
ションのID及び更新前のレコードデータをそれぞれフ
ィールド値として格納することにより、問合せを実行し
ているトランザクションに対して適切な版を提供するこ
とを特徴としたものである。
タベース問合せ処理におけるトランザクションの版の提
供システムにより提供された版を用いて、トランザクシ
ョンにおける所望のアイソレーションレベルを実現して
データベースの問合せ処理を行うことを特徴としたもの
である。
タベース問合せ処理におけるトランザクションの版の提
供システムにより提供された版を用いて、データベース
の整合性制約の検査を行い、該検査結果にしたがってデ
ータベースの問合せ処理を行うことを特徴としたもので
ある。
ルを有するサーバと、該データベースに対して問合せ要
求を行うためのクライアント端末と、前記サーバ及びク
ライアント端末を接続するネットワークとからなるトラ
ンザクションの版の提供装置であって、前記クライアン
ト端末からの前記データベースへの問合せ要求に応じた
問合せ処理の過程において、前記データベースに対して
複数のトランザクション処理を行うとき、前記データベ
ースのファイルのレコードに、レコードデータに加え
て、前記レコードを更新したトランザクションのID及
び更新前のレコードデータをそれぞれフィールド値とし
て格納することにより、問合せを実行しているトランザ
クションに対して適切な版を提供することを特徴とした
ものである。
タベース問合せ処理におけるトランザクションの版の提
供装置により提供された版を用いて、トランザクション
における所望のアイソレーションレベルを実現してデー
タベースの問合せ処理を行うことを特徴としたものであ
る。
タベース問合せ処理におけるトランザクションの版の提
供装置により提供された版を用いて、データベースの整
合性制約の検査を行い、該検査結果にしたがってデータ
ベースの問合せ処理を行うことを特徴としたものであ
る。
合せ要求に応じた問合せ処理の過程において、前記デー
タベースに対して複数のトランザクション処理を行うと
き、前記データベースのファイルのレコードに、レコー
ドデータに加えて、前記レコードを更新したトランザク
ションのID及び更新前のレコードデータをそれぞれフ
ィールド値として格納することにより、問合せを実行し
ているトランザクションに対して適切な版を提供するこ
とを特徴としたものである。
データベース問合せ処理におけるトランザクションの版
の提供を実行するためのプログラムを実行することによ
り提供された版を用いて、トランザクションにおける所
望のアイソレーションレベルを実現してデータベースの
問合せ処理を行うことを特徴としたものである。
データベース問合せ処理におけるトランザクションの版
の提供を実行するためのプログラムを実行することによ
り提供された版を用いて、データベースの整合性制約の
検査を行い、該検査結果にしたがってデータベースの問
合せ処理を行うことを特徴としたものである。
ョン処理のために構成されたサーバ−クライアントシス
テムの一例を示す図、図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’)の入力装置であるキー
ボードである。
合せ要求を入力したり、問合せ結果を出力したりするた
めに利用する計算機である。一般に、端末3には問合せ
要求を入力するためのキーボード36及びマウス35な
どのポインティングデバイスや、問合せ結果を表示する
ためのディスプレイ34が装備される。また、端末3は
メモリ31,CPU32,ハードディスク33を備え、
ソフトウェアによるプログラムが実行可能である。端末
3では、後述する図3中の問合せ入出力手段43がプロ
グラムとして実行される。
要求に応じた問合せ処理を行い、その結果を端末3に返
すための計算機である。端末3とサーバ1は、後述する
ネットワーク2で接続される。サーバ1はメモリ11,
CPU12,ハードディスク13を備え、ソフトウェア
によるプログラムが実行可能である。サーバ1では、後
述する図3中の問合せ最適化手段43、問合せ実行手段
44、データベースファイルアクセス手段45、トラン
ザクション同時実行制御手段46、トランザクション制
御手段47、及び削除レコード破棄問合せ発行手段41
がプログラムとして実行される。データベースファイル
48は、ハードディスク13に記録される。
つなぐ伝送路である。一般に、ケーブルで実現され、通
信プロトコルにはTCP/IPが使われる。ただし、端
末3とサーバ1との通信プロトコルが一致すれば、ケー
ブルを使用しない無線LANや放送波を使ったネットワ
ークでも構わない。
ションの版の提供と問い合わせ処理の概要を機能的に説
明する。本発明による版の提供及び問い合わせ処理の機
能を実現する手段としては、削除レコード破棄問合せ発
行手段41と、基本的に図8で説明した各手段を援用し
た、問合せ入出力手段42,問合せ最適化手段43,問
合せ実行手段44,データベースファイルアクセス手段
45,トランザクション同時実行制御手段46,トラン
ザクション制御手段47,データベースファイル48を
備える。上記各手段について図8で説明した各手段との
違いを中心に以下に説明する。
スファイルアクセス手段65において実装されてきたト
ランザクションの版の提供や、整合性制約の検査をアク
セスプランの実行によって行う。ここで、版(vers
ion)とは、トランザクションごとのデータベースの
見え方、姿のことである。問合せ最適化手段43は、問
合せ入出力手段42から与えられた問合せにしたがっ
て、必要に応じて、トランザクションの版の提供や、整
合性制約の検査を含むアクセスプランを生成する。
は、データベースのデータを表すフィールドに加えて、
以下のフィールドを定義する。 (1)レコードを最後に更新したトランザクションのト
ランザクションIDを表すフィールド、 (2)更新前のデータベースのデータを表すフィール
ド。
ァイル48の更新操作は、対象となるレコードの最後に
更新したトランザクションのトランザクションIDと、
必要に応じて、更新前のデータを表すフィールドを更新
する。
ンの版の提供のうち、可能なものは、トランザクション
表中の現在実行中のトランザクションのトランザクショ
ンIDと、データベースファイルのレコード中のそのレ
コードを最後に更新したトランザクションのトランザク
ションIDを使った選択操作により行う。可能でないも
のに関しては、従来の2相ルールによるロックなどのト
ランザクション同時実行制御手段46により行う。
整合性制約の検査は、データベースファイル48からの
更新後のデータと、他のトランザクションにより更新中
のレコードについては、更新前のデータを使用して行
う。
実行手段44からの指示に従い、(1)トランザクショ
ンの開始、(2)トランザクションの終了(コミット,
アボート)、(3)トランザクションのアイソレーショ
ンレベルの変更、の各処理を行う。トランザクション制
御手段47は、トランザクションを開始するごとに、そ
れぞれのトランザクションを一意に識別可能なトランザ
クションIDを割り当てる。現在実行中のトランザクシ
ョン、つまり、終了していないトランザクションのトラ
ンザクションIDは、メモリ11上のトランザクション
表に管理される。
るためのデータベースファイル及びトランザクション表
の一例を示す図である。例えば、図4のトランザクショ
ン表を見ると、現在実行中のトランザクションは2つあ
り、それぞれのトランザクションIDが“11”と“1
2”であることがわかる。
スク13上に記憶され、データベースのデータをレコー
ドの集まりとして記録している。図4の上部は、あるデ
ータベースファイルを表している。一行一行はレコード
を表しており、それぞれのレコードには、それを一意に
識別するためのレコードID51、レコードを最後に更
新したトランザクションのトランザクションIDである
最終更新トランザクションID52、データベースのデ
ータであるフィールド53、更新前のデータベースのデ
ータである更新前フィールド54が格納される。
は、データベースファイル48の種類に応じた参照、更
新操作を行う手段を提供する。従来のようなトランザク
ション同時実行制御手段46の呼び出しによる版の提供
や、更新操作後の整合性制約の検査は行わないので、実
装が簡略化され、維持が容易になる。
43により生成されるアクセスプランによって指示され
たデータベースファイルに対する更新操作を、以下のよ
うに扱う。
を識別するレコードID51、最終更新トランザクショ
ンID52に挿入を行うトランザクションのトランザク
ションID、フィールド53には挿入するデータ、更新
前フィールド54は空であるレコードを挿入する。 (2)レコードの削除: 削除するレコードのフィール
ド53を空にするようにレコードを修正する。 (3)レコードの修正: 修正するレコードの最終更新
トランザクションID52を、修正を行うトランザクシ
ョンのトランザクションIDに、更新前のフィールド5
4を修正前のフィールドに、フィールド53を修正後の
フィールドにそれぞれ変更する。
IDが“11”のトランザクションにより、フィールド
53が空なので削除され、IDが“6”のレコードは、
フィールド53、更新前フィールド54の両方が空でな
いので、IDが“11”のトランザクションにより修正
され、IDが“7”のレコードは、更新前フィールド5
4が空のなのでIDが“12”のトランザクションによ
り挿入されたことがわかる。
段42から与えられた問合せを効率よく実行するアクセ
スプランを生成する。アクセスプラン生成時、可能であ
れば、従来のトランザクション同時実行制御手段46に
よりトランザクションの版を提供するのではなく、デー
タベースファイル48からレコードを取り出す以下のよ
うな集合演算により版を提供するアクセスプランを生成
する。
ョンの版を参照する。最終更新トランザクションID5
2が、トランザクション表から得た現在実行中のトラン
ザクションのトランザクションIDのうち、アクセスプ
ランを実行するトランザクション以外のものと等しく、
かつフィールド53が空でないレコードを取り出す。 (2)すべてのトランザクションの版を参照する、すな
わちSQL規格のアイソレーションレベルのnonre
peatable readである。フィールド53が
空でないレコードを取り出す。 (3)整合性制約の検査のための特別な版を参照する。
最終更新トランザクションID52が、トランザクショ
ン表から得た現在実行中のトランザクションのトランザ
クションIDのうち、アクセスプランを実行するトラン
ザクション以外のものと等しい、またはフィールド53
が空でないレコードを取り出す。
にできるため、従来より効率のよいアクセスプランの生
成が可能になる。
コミットされたトランザクションにより削除されたレコ
ードを実際に削除する問合せを、定期的に問合せ最適化
手段43に送る。問合せ最適化手段43は問合せ入出力
手段42からの問合せと同様にアクセスプランを生成す
る。ただし、削除レコードの削除が問合せ実行手段44
によってレコードの修正に扱われないように、アクセス
プランを生成する。
施形態としての、データベース問合せ処理におけるトラ
ンザクションの版の提供方法及びシステムを説明する。
この方法及びシステムは、データベースへの問合せ要求
に応じた問合せ処理の過程において、前記データベース
に対して複数のトランザクション処理を行うとき、前記
データベースのファイル48のレコードに、レコードデ
ータ53に加えて、前記レコードを更新したトランザク
ションのID52及び更新前のレコードデータ54をそ
れぞれフィールド値として格納することにより、問合せ
を実行しているトランザクションに適応した版を提供す
るようにしている。
ース問合せ処理方法及びシステムは、上述の版の提供方
法及びシステムにより提供された版を用いて、トランザ
クションにおける所望のアイソレーションレベルを実現
してデータベースの問合せ処理を行うようにしている。
データベース問合せ処理方法及びシステムは、上述の版
の提供方法及びシステムにより提供された版を用いて、
データベースの整合性制約の検査を行い、該検査結果に
したがってデータベースの問合せ処理を行うようにして
いる。
ス問合せ処理におけるトランザクションの版の提供装置
は、データベースのファイル48(ハードディスク33
内に格納されている)を有するサーバ1と、該データベ
ースに対して問合せ要求を行うためのクライアント端末
3と、前記サーバ1及びクライアント端末3を接続する
ネットワーク2とからなるトランザクションの版の提供
装置であって、前記クライアント端末3からの前記デー
タベースへの問合せ要求に応じた問合せ処理の過程にお
いて、前記データベースに対して複数のトランザクショ
ン処理を行うとき、前記データベースのファイル48の
レコードに、レコードデータ53に加えて、前記レコー
ドを更新したトランザクションのID52及び更新前の
レコードデータ54をそれぞれフィールド値として格納
することにより、問合せを実行しているトランザクショ
ンに適応した版を提供するようにしている。
ース問合せ処理装置は、上記の版の提供装置により提供
された版を用いて、トランザクションにおける所望のア
イソレーションレベルを実現してデータベースの問合せ
処理を行うようにしている。
データベース問合せ処理装置は、上記の版の提供装置に
より提供された版を用いて、データベースの整合性制約
の検査を行い、該検査結果にしたがってデータベースの
問合せ処理を行うようにしている。
処理の機能を実現するためのプログラムやデータを記憶
した記録媒体の実施形態を説明する。記録媒体として
は、具体的には、CD−ROM,光磁気ディスク,DV
D−ROM,フロッピー(登録商標)ディスク,フラッ
シュメモリ,及びその他各種ROMやRAM等が想定で
き、これら記録媒体に上述した本発明の版の提供或いは
問合せ処理の機能を実現するためのプログラムを記録し
て流通させることにより、当該機能の実現を容易にす
る。そしてコンピュータ等の情報処理装置に上記のごと
くの記録媒体を装着して情報処理装置によりプログラム
を読み出すか、若しくは情報処理装置が備えている記憶
媒体に当該プログラムを記憶させておき、必要に応じて
読み出すことにより、本発明に関わる版の提供機能及び
問合せ処理機能を実行することができる。
理におけるトランザクションの版の提供を実行するため
のプログラムを記録したコンピュータ読み取り可能な記
録媒体は、データベースへの問合せ要求に応じた問合せ
処理の過程において、前記データベースに対して複数の
トランザクション処理を行うとき、前記データベースの
ファイル48のレコードに、レコードデータ53に加え
て、前記レコードを更新したトランザクションのID5
2及び更新前のレコードデータ54をそれぞれフィール
ド値として格納することにより、問合せを実行している
トランザクションに適応した版を提供するプログラムを
記録したものである。
ース問合せ処理を実行するためのプログラムを記録した
コンピュータ読み取り可能な記録媒体は、上記のトラン
ザクションに適応した版を提供するプログラムを実行す
ることにより提供された版を用いて、トランザクション
における所望のアイソレーションレベルを実現してデー
タベースの問合せ処理を行うプログラムを記録したもの
である。
データベース問合せ処理を実行するためのプログラムを
記録したコンピュータ読み取り可能な記録媒体は、同様
に上記のトランザクションに適応した版を提供するプロ
グラムを実行することにより提供された版を用いて、デ
ータベースの整合性制約の検査を行い、該検査結果にし
たがってデータベースの問合せ処理を行うプログラムを
記録したものである。
PU32,ハードディスク33を備えた端末3では、問
合せを要求するための問合せ入出力手段42がプログラ
ムとして実行される。加えて、メモリ11,CPU1
2,ハードディスク13を備えたサーバ1では、端末3
からの問合せ要求に対し、上述の問合せ最適化手段4
3、問合せ実行手段44、データベースファイルアクセ
ス手段45、トランザクション同時実行制御手段46、
トランザクション制御手段47、及び削除レコード破棄
問合せ発行手段41がプログラムとして実行される。デ
ータベースファイル48は、ハードディスク13に記録
される。
ァイルアクセス手段におけるトランザクション同時実行
制御手段の呼び出しによるトランザクションの版の提供
や、整合性制約の検査の省略が可能なので、実装が簡略
化され、維持が容易になる。
トランザクションの版の提供や整合性制約の検査を、最
終更新トランザクションIDや更新前データを表すフィ
ールドを使って、問合せ処理において従来使用されてい
る集合演算で処理できる。
り、従来は最適化の対象でなかったトランザクションの
版の提供や整合性制約の検査を含めたアクセスプランを
生成できるので、従来より効率的な問合せを実行でき
る。
構成されたサーバ−クライアントシステムの一例を示す
図である。
クション処理のために構成されたコンピュータシステム
のハードウェア構成の一例を示す図である。
機能構成或いはシステムのソフトウェア構成の一例を示
す図である。
ータベースファイル及びトランザクション表の一例を示
す図である。
え方の違いを説明するための図である。
え方の違いを説明するための図である。
え方の違いを説明するための図である。
ムのソフトウェア構成の一例を示す図である。
ト端末、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】 データベースへの問合せ要求に応じた問
合せ処理の過程において、前記データベースに対して複
数のトランザクション処理を行うとき、前記データベー
スのファイルのレコードに、レコードデータに加えて、
前記レコードを更新したトランザクションのID及び更
新前のレコードデータをそれぞれフィールド値として格
納することにより、問合せを実行しているトランザクシ
ョンに適応した版を提供することを特徴とするデータベ
ース問合せ処理におけるトランザクションの版の提供方
法。 - 【請求項2】 請求項1に記載のデータベース問合せ処
理におけるトランザクションの版の提供方法により提供
された版を用いて、トランザクションにおける所望のア
イソレーションレベルを実現してデータベースの問合せ
処理を行うことを特徴とするデータベース問合せ処理方
法。 - 【請求項3】 請求項1に記載のデータベース問合せ処
理におけるトランザクションの版の提供方法により提供
された版を用いて、データベースの整合性制約の検査を
行い、該検査結果にしたがってデータベースの問合せ処
理を行うことを特徴とするデータベース問合せ処理方
法。 - 【請求項4】 データベースへの問合せ要求に応じた問
合せ処理の過程において、前記データベースに対して複
数のトランザクション処理を行うとき、前記データベー
スのファイルのレコードに、レコードデータに加えて、
前記レコードを更新したトランザクションのID及び更
新前のレコードデータをそれぞれフィールド値として格
納することにより、問合せを実行しているトランザクシ
ョンに適応した版を提供することを特徴とするデータベ
ース問合せ処理におけるトランザクションの版の提供シ
ステム。 - 【請求項5】 請求項4に記載のデータベース問合せ処
理におけるトランザクションの版の提供システムにより
提供された版を用いて、トランザクションにおける所望
のアイソレーションレベルを実現してデータベースの問
合せ処理を行うことを特徴とするデータベース問合せ処
理システム。 - 【請求項6】 請求項4に記載のデータベース問合せ処
理におけるトランザクションの版の提供システムにより
提供された版を用いて、データベースの整合性制約の検
査を行い、該検査結果にしたがってデータベースの問合
せ処理を行うことを特徴とするデータベース問合せ処理
システム。 - 【請求項7】 データベースのファイルを有するサーバ
と、該データベースに対して問合せ要求を行うためのク
ライアント端末と、前記サーバ及びクライアント端末を
接続するネットワークとからなるトランザクションの版
の提供装置であって、前記クライアント端末からの前記
データベースへの問合せ要求に応じた問合せ処理の過程
において、前記データベースに対して複数のトランザク
ション処理を行うとき、前記データベースのファイルの
レコードに、レコードデータに加えて、前記レコードを
更新したトランザクションのID及び更新前のレコード
データをそれぞれフィールド値として格納することによ
り、問合せを実行しているトランザクションに適応した
版を提供することを特徴とするデータベース問合せ処理
におけるトランザクションの版の提供装置。 - 【請求項8】 請求項7に記載のデータベース問合せ処
理におけるトランザクションの版の提供装置により提供
された版を用いて、トランザクションにおける所望のア
イソレーションレベルを実現してデータベースの問合せ
処理を行うことを特徴とするデータベース問合せ処理装
置。 - 【請求項9】 請求項7に記載のデータベース問合せ処
理におけるトランザクションの版の提供装置により提供
された版を用いて、データベースの整合性制約の検査を
行い、該検査結果にしたがってデータベースの問合せ処
理を行うことを特徴とするデータベース問合せ処理装
置。 - 【請求項10】 データベースへの問合せ要求に応じた
問合せ処理の過程において、前記データベースに対して
複数のトランザクション処理を行うとき、前記データベ
ースのファイルのレコードに、レコードデータに加え
て、前記レコードを更新したトランザクションのID及
び更新前のレコードデータをそれぞれフィールド値とし
て格納することにより、問合せを実行しているトランザ
クションに適応した版を提供することを特徴とするデー
タベース問合せ処理におけるトランザクションの版の提
供を実行するためのプログラムを記録したコンピュータ
読み取り可能な記録媒体。 - 【請求項11】 請求項10に記載のデータベース問合
せ処理におけるトランザクションの版の提供を実行する
ためのプログラムを実行することにより提供された版を
用いて、トランザクションにおける所望のアイソレーシ
ョンレベルを実現してデータベースの問合せ処理を行う
ことを特徴とするデータベース問合せ処理を実行するた
めのプログラムを記録したコンピュータ読み取り可能な
記録媒体。 - 【請求項12】 請求項10に記載のデータベース問合
せ処理におけるトランザクションの版の提供を実行する
ためのプログラムを実行することにより提供された版を
用いて、データベースの整合性制約の検査を行い、該検
査結果にしたがってデータベースの問合せ処理を行うこ
とを特徴とするデータベース問合せ処理を実行するため
のプログラムを記録したコンピュータ読み取り可能な記
録媒体。
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)
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 |
-
2000
- 2000-07-19 JP JP2000218315A patent/JP2002032248A/ja active Pending
Cited By (6)
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 |