JP2513160B2 - Multi-version parallel control method and multi-version parallel control method in object-oriented database - Google Patents

Multi-version parallel control method and multi-version parallel control method in object-oriented database

Info

Publication number
JP2513160B2
JP2513160B2 JP6146342A JP14634294A JP2513160B2 JP 2513160 B2 JP2513160 B2 JP 2513160B2 JP 6146342 A JP6146342 A JP 6146342A JP 14634294 A JP14634294 A JP 14634294A JP 2513160 B2 JP2513160 B2 JP 2513160B2
Authority
JP
Japan
Prior art keywords
version
versions
read
transaction
list
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
JP6146342A
Other languages
Japanese (ja)
Other versions
JPH0816447A (en
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP6146342A priority Critical patent/JP2513160B2/en
Publication of JPH0816447A publication Critical patent/JPH0816447A/en
Application granted granted Critical
Publication of JP2513160B2 publication Critical patent/JP2513160B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、オブジェクト指向デー
タベースのおける、バージョンの数に制限を与えたマル
チバーション並行制御方法およびマルチバーション並行
制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiversion parallel control method and a multiversion parallel control method in an object-oriented database in which the number of versions is limited.

【0002】[0002]

【従来の技術】従来、オブジェクト指向データベースに
おける長時間トランザクションの衝突を防ぐために、マ
ルチバージョン並行制御が提案されている(P.A.Bernst
ein,V.Hadzilacos and N.Goodman, “Concurrency Cont
rol and Recovery in DatabaseSystem. ”pages 143-16
6,Addison Wesley,1987.を参照)。この方法では、読み
出し専用トランザクション(データベースを読み出す処
理しか含まないトランザクション)があるオブジェクト
をアクセスしているときに、更新トランザクション(デ
ータベースの内容を更新する処理を含むトランザクショ
ン)がそのトランザクションを更新しようとした場合
に、そのオブジェクトのコピーをバージョン(版)とし
て生成し、更新トランザクションはコピーを更新し、読
み出し専用トランザクションは元のオブジェクトをアク
セスすることにより2つの処理の衝突を防ぐものであ
る。しかし、この方法では、読み出し専用トランザクシ
ョンによる更新トランザクションの待ち状態を防くこと
はできるが、読み出し専用トランザクションのアクセス
が終了するまで除去できないバーションを無制限に生成
していくために記憶容量を圧迫し、最悪の場合、読み出
し専用トランザクションのアボート(ロールバックとも
いい、そのトランザクションで行われた操作を無効にし
て終了する)という事態を起こす。図6は、この従来方
法の説明図であり、(a4 ,b5 ,c5 ,d5 )のバー
ションの集合をアクセスしているトランザクションと
(a3 ,b2 ,c2 ,d2 )のバージョンの集合をアク
セスしているトランザクションの2つがある。ここで、
これらのバージョンの集合は、それらをアクセスしてい
うトランザクションが終了するまで消去できない。現実
には、このような消去できないバージョンが多数存在す
る結果、上述のアボートを引き起こすことになる。
2. Description of the Related Art Conventionally, multi-version concurrency control has been proposed in order to prevent collision of long-running transactions in an object-oriented database (PABernst
ein, V. Hadzilacos and N. Goodman, “Concurrency Cont
rol and Recovery in DatabaseSystem. ”pages 143-16
6, Addison Wesley, 1987.). In this method, while accessing an object that has a read-only transaction (a transaction that only involves reading the database), an update transaction (a transaction that involves updating the contents of the database) tried to update that transaction. In this case, a copy of the object is created as a version, the update transaction updates the copy, and the read-only transaction accesses the original object to prevent collision of the two processes. However, this method can prevent the waiting state of the update transaction due to the read-only transaction, but the storage capacity is squeezed because the versions that cannot be removed are generated indefinitely until the access of the read-only transaction is completed. In the worst case, a read-only transaction is aborted (also known as rollback, the operation performed in the transaction is invalidated and terminated). FIG. 6 is an explanatory view of this conventional method, in which a transaction accessing a set of versions (a4, b5, c5, d5) and a set of versions (a3, b2, c2, d2) are accessed. There are two transactions in progress. here,
These sets of versions cannot be erased until the transaction that accesses them ends. In reality, the large number of such non-erasable versions results in the abort described above.

【0003】一方、近年、このような問題を解決するた
めに、生成するバージョンの数に制限を持たせる方法が
提案されている(Kun-Lung Wu,Philip S.Yu and Ming-S
yanChen, “Dynamic Finite Versioning :An Effective
Versioning Approach to Concurrent Transaction and
Query Processing. ”,ICDE,1993. を参照)。この方
法では、スナップショットという概念を定義している。
スナップショットは、ある時刻にデータベースを見た時
の最新バージョンの集合をいう。スナップショットにお
けるバージョンの数がある一定数を超えたら、読み出し
専用トランザクションに新しくバージョンを割り振ら
ず、現在あるスナップショットの内で最新のものに対応
するバージョンを読ませる。図5は、スナップショット
の概念を説明するための説明図である。(a4 ,b4 ,
c4 ,d4 )のバージョンがの集合が最新のときに読み
出し専用トランザクションが来ても、最新のスナップシ
ョットに対応するバージョン(a3 ,b2 ,c2 ,d2
)を読ませる。これにより、読み出しが終了するまで
除去できない、読み出し専用トランザクションがアクセ
スするバージョンの数を制限することができる。ただ
し、読み出し専用トランザクションは、最新のバージョ
ンではなく、少し前に生成されたバージョンを読むこと
になる。
On the other hand, in recent years, in order to solve such a problem, a method of limiting the number of versions to be generated has been proposed (Kun-Lung Wu, Philip S. Yu and Ming-S).
yanChen, “Dynamic Finite Versioning: An Effective
Versioning Approach to Concurrent Transaction and
Query Processing. ”, ICDE, 1993.) This method defines the concept of snapshots.
A snapshot is a set of latest versions of a database viewed at a certain time. When the number of versions in the snapshot exceeds a certain number, a new version is not allocated to the read-only transaction, and the version corresponding to the latest version of the existing snapshot is read. FIG. 5 is an explanatory diagram for explaining the concept of snapshots. (A4, b4,
Even if a read-only transaction comes when the set of versions of c4, d4) is the latest, the version (a3, b2, c2, d2) corresponding to the latest snapshot is obtained.
) Read. This can limit the number of versions accessed by a read-only transaction that cannot be removed until the read is complete. However, a read-only transaction will read the version that was created a while ago rather than the latest version.

【0004】[0004]

【発明が解決しようとする課題】上述した従来のスナッ
プショット方式は、記憶容量の節約という目的は達成さ
れるが、読み出し専用トランザクションが少し前のバー
ジョンをアクセスしなければならないという問題が発生
する。
Although the above-mentioned conventional snapshot method achieves the object of saving the storage capacity, it causes a problem that a read-only transaction must access a version a little before.

【0005】本発明の目的は、バージョンを制限すると
いう要件は保ちながら、可能な限り新しいバージョンを
アクセスする方法を提供することにある。
It is an object of the present invention to provide a method of accessing newer versions as much as possible while retaining the requirement of version restrictions.

【0006】[0006]

【課題を解決するための手段】第1の発明は、オブジェ
クト指向データベースにおけるマルチバージョン並行制
御方法において、読み出し専用トランザクションがアク
セスするバージョンの集合Xと更新トランザクションに
よりコミットするバージョンの集合Yに属するバージョ
ンが同一であるオブジェクトが存在し、かつ前記バージ
ョンの集合Xと前記バージョンの集合Yに属する前記バ
ージョンが同一でないオブジェクトに関し、前記バージ
ョンの集合Xに属するバージョンの次に生成されたバー
ジョンが前記バージョンの集合Yに属するバージョンで
あり、さらに、前記バージョンの集合Xと前記バージョ
ンの集合Yに属する前記バージョンが同一でないオブジ
ェクトに関して前記読み出し専用トランザクションが読
むべき前記バージョンの集合Xのバージョンをアクセス
していない場合は、前記読み出し専用トランザクション
がアクセスする前記バージョンの集合Xを新しくコミッ
トする前記バージョンの集合Yに推移させることを特徴
とする。
According to a first aspect of the present invention, in a multi-version parallel control method for an object-oriented database, a version belonging to a set X of versions accessed by a read-only transaction and a version Y belonging to a version Y committed by an update transaction are used. Regarding objects in which the same objects exist and the versions belonging to the version set X and the version set Y are not the same, the version generated next to the version belonging to the version set X is the version set. The barge to be read by the read-only transaction for objects that belong to Y and are not the same for the version set X and the version version Y belonging to the version set Y. If you do not have access to the version of the set X of emission is characterized by causing a transition to the set Y of the version that newly committed the set X of the version of the read-only transactions access.

【0007】また、第2の発明は、オブジェクト指向デ
ータベースにおけるマルチバージョン並行制御方式にお
いて、各トランザクションが有し前記トランザクション
が開始された時点ですでにコミットされていたトランザ
クションのリストであるコミットリストと現在までにコ
ミットされた全てのトランザクションのリストであるグ
ローバルなコミットリストを比較して要素が同じであれ
ば第1の推移指示を出力するコミットリスト比較部と、
更新トランザクションによりコミットするオブシェクト
の数がデータベース内に存在するオブジェクトの総数以
下であれば第2の推移指示を出力する更新オブジェクト
数検査部と、オブジェクトに対応するバージョンのリス
トを管理するバージョンリスト管理部と、個々のバージ
ョンが持ち前記バージョンにアクセスした読み出し専用
トランザクションの識別子のリストを管理する読み出し
リスト管理部と、前記バージョンリスト管理部を介して
前記更新トランザクションによりコミットするオブシェ
クトのバージョンの1つ前に生成されたバージョンXを
取り出し前記読み出しリスト管理部を用いて前記バージ
ョンXが持つリストの要素に前記バージョンXを含むバ
ージョンの集合をアクセスする前記読み出し専用トラン
ザクションの識別子Yがあるかどうか調べ前記識別子Y
がない場合に第3の推移指示を出力する読み出しリスト
比較部と、前記第1の推移指示と前記第2の推移指示と
前記第3の推移指示とを受けると前記読み出し専用トラ
ンザクションがアクセスするバージョンの集合を新しく
コミットするバージョンの集合に推移するバージョンの
集合推移部とから構成されることを特徴とする。
A second aspect of the present invention is a multi-version concurrency control method for an object-oriented database, which includes a commit list which is a list of transactions that each transaction has and has already been committed when the transaction is started, and a current commit list. A commit list comparison unit that compares the global commit list, which is a list of all transactions committed up to, and outputs the first transition instruction if the elements are the same,
If the number of objects to be committed by the update transaction is less than or equal to the total number of objects existing in the database, an update object number checking unit that outputs a second transition instruction, and a version list management unit that manages a list of versions corresponding to the objects And a read list management unit that manages a list of read-only transaction identifiers that each version has accessed to the version, and one version before the version of the object that is committed by the update transaction via the version list management unit. Identification of the read-only transaction that takes out the generated version X and uses the read list management unit to access a set of versions including the version X to the elements of the list of the version X The identifier Y examine whether there is a Y
A read list comparison unit that outputs a third transition instruction when there is no such information, and a version accessed by the read-only transaction when the first transition instruction, the second transition instruction, and the third transition instruction are received. It is characterized in that it is composed of a set transition unit of a version that transitions the set of to the set of newly committed versions.

【0008】〔作用〕読み出し専用トランザクションが
開始された時点よりも後にコミット(そのトランザクシ
ョンで行われた更新操作を有効にしてデータベースに書
き込んで終了する)されたトランザクションに関して、
読み出し専用トランザクションがアクセスするバージョ
ンの集合Xと更新トランザクションによりコミットする
バージョンの集合Yに属するバージョンが同一であるオ
ブジェクトが存在し、かつ前記バージョンの集合Xと前
記バージョンの集合Yに属する前記バージョンが同一で
ないオブジェクトに関し、前記バージョンの集合Xに属
するバージョンの次に生成されたバージョンが前記バー
ジョンの集合Yに属するバージョンであり、さらに、前
記バージョンの集合Xと前記バージョンの集合Yに属す
る前記バージョンが同一でないオブジェクトに関して前
記読み出し専用トランザクションが読むべき前記バージ
ョンの集合Xのバージョンをアクセスしていない場合
は、前記読み出し専用トランザクションがアクセスする
前記バージョンの集合Xを新しくコミットする前記バー
ジョンの集合Yに推移させる。このことにより、スナッ
プショットの原理は維持しつつ、読み出し専用トランザ
クションがより新しいバージョンを読むことができる。
[Operation] Regarding a transaction committed after the start of the read-only transaction (committing the update operation performed in the transaction and writing to the database and terminating),
There is an object having the same version belonging to the set X of versions accessed by the read-only transaction and the set Y of versions committed by the update transaction, and the set X of versions is the same as the versions belonging to the set Y of versions. For the object which is not, the version generated next to the version belonging to the version set X is a version belonging to the version set Y, and the version set X and the version belonging to the version set Y are the same. If the read-only transaction does not access a version of the set X of versions to be read for an object that is not, then the set of versions accessed by the read-only transaction Wherein are transitioning to the version of the set Y to a new commit X. This allows a read-only transaction to read a newer version while maintaining the snapshot principle.

【0009】[0009]

【実施例】次に、本発明について図面を参照して説明す
る。
Next, the present invention will be described with reference to the drawings.

【0010】図1は本発明の一実施例を示すブロック図
である。
FIG. 1 is a block diagram showing an embodiment of the present invention.

【0011】本実施例は、図1に示すように、各トラン
ザクションが持つコミットリスト(そのトランザクショ
ンが開始された時点ですでにコミットされていたトラン
ザクションのリスト)とグローバルなコミットリスト
(現在までにコミットされたトランザクションのリス
ト)を比較するコミットリスト比較部1と、データベー
ス内に存在するオブジェクトの総数と更新トランザクシ
ョンによりコミットするオブシェクトの数を比較する更
新オブジェクト数検査部2と、オブジェクトに対応する
バージョンのリストを管理するバージョンリスト管理部
3と、個々のバージョンが持つそのバージョンにアクセ
スした読み出し専用トランザクションの識別子のリスト
を管理する読み出しリスト管理部4と、バージョンリス
ト管理部3を介して更新トランザクションによりコミッ
トするオブシェクトのバージョンの1つ前に生成された
バージョンXを取り出し読み出しリスト管理部4を介し
てバージョンXが持つリストの要素にバージョンXを含
むバージョンの集合をアクセスする読み出し専用トラン
ザクションの識別子Yがあるかどうか調べる読み出しリ
スト比較部5と、コミットリスト比較部1と更新オブジ
ェクト数検査部2と読み出しリスト比較部5とから予め
決められた条件が与えられた時に読み出し専用トランザ
クションがアクセスするバージョンの集合を新しくコミ
ットするバージョンの集合に推移するバージョンの集合
推移部6とから構成される。
In this embodiment, as shown in FIG. 1, each transaction has a commit list (a list of transactions that have already been committed when the transaction is started) and a global commit list (commits up to now). A list of committed transactions), a commit list comparing section 1 for comparing the total number of objects existing in the database and the number of objects to be committed by the update transaction, and a version corresponding to the object. The version list management unit 3 that manages the list, the read list management unit 4 that manages the list of the identifiers of the read-only transactions that have accessed each version, and the version list management unit 3 The identifier of a read-only transaction that fetches the version X generated immediately before the version of the object to be committed by the transaction and accesses the set of versions including the version X to the elements of the list of the version X via the read list management unit 4. A version accessed by a read-only transaction when a predetermined condition is given by the read list comparing unit 5 for checking whether or not there is Y, the commit list comparing unit 1, the update object number checking unit 2, and the read list comparing unit 5. And the set transition unit 6 of the version that transits to the set of newly committed versions.

【0012】図2は、本実施例の動作を説明するフロー
チャート、図3、図4、図5はそれぞれ本実施例の説明
図である。
FIG. 2 is a flow chart for explaining the operation of this embodiment, and FIGS. 3, 4 and 5 are explanatory views of this embodiment.

【0013】以下では、読み出し専用トランザクショク
をTr、Trがアクセスするバージョンの集合をVS
r、更新トランザクションをTu、Tuによってコミッ
トするバージョンの集合をVSuとする。また、Trが
開始された時点よりも後にTuがコミットするものとす
る。
In the following, Tr is the read-only transaction and VS is the set of versions accessed by Tr.
r, an update transaction is Tu, and a set of versions committed by Tu is VSu. Further, it is assumed that Tu commits after the time when Tr is started.

【0014】コミットリスト比較部1は、Trを入力1
1として受けとり、そのコミットリストがグローバルコ
ミットリストと同じであるかを検査し(ステップ10
0)、結果をバージョンの集合推移部6に出力する。即
ち、コミットリストとグローバルなコミットリストとを
比較して、その要素が同じであれば、Trによる処理が
始まってから現在までにコミットされたトランザクショ
ンが存在しないことがになる。いいかえれば、図3に示
すようなVSrとVSuの間にあるバージョン(b3 ,
c3 ,d3 )が存在しないことになる。これにより、V
SrがVSuの1つ前にコミットされたバージョンの集
合であるかどうかがわかる。
The commit list comparison unit 1 inputs Tr 1
1 and checks whether the commit list is the same as the global commit list (step 10
0), and outputs the result to the version set transition unit 6. That is, the commit list and the global commit list are compared, and if the elements are the same, it means that there is no transaction committed from the start of processing by Tr to the present. In other words, the version (b3, between VSr and VSu as shown in FIG.
c3, d3) does not exist. Thereby, V
It can be seen whether Sr is a set of versions committed one before VSu.

【0015】更新オブジェクト数比較部2は、Tuによ
ってコミットするオブシェクトの数を入力12として受
けとり、それがデータベース内のオブジェクトの総数以
下であることを検査し(ステップ101)、結果をバー
ジョンの集合推移部6に出力する。上で述べたVSrと
VSuの間にバージョンが存在しないということは、図
4および図5に示すように、すべてのオブジェクトに関
して2つのバージョンの集合に属するバージョンが同一
でないか、または一部が同一であると言うことができ
る。さらに、ステップ101によりTuによってコミッ
トするオブジェクトの数がデータベース内のオブジェク
トの総数以下であれば、新しく生成されたバージョン
は、一部であり、VSrとVSuにおける互に対応する
バージョンが同一あるオブジェクトが存在し、かつVS
rとVSuにおける互に対応するバージョンが同一でな
いオブジェクトに関し、VSrに属するバージョンの次
に生成させれたバージョンがVSuに属するバージョン
であることがわかる。即ち、図5の状態であることがわ
かる。
The update object number comparison unit 2 receives as input 12 the number of objects to be committed by Tu, checks that it is less than or equal to the total number of objects in the database (step 101), and transfers the result to the version set transition. Output to the unit 6. As described above, the absence of a version between VSr and VSu means that, as shown in FIGS. 4 and 5, the versions belonging to the set of two versions are not the same for all objects, or some of them are the same. Can be said to be. Further, if the number of objects to be committed by Tu in step 101 is less than or equal to the total number of objects in the database, the newly created version is a part, and the objects having the same corresponding versions in VSr and VSu are Exists and VS
It can be seen that for objects whose versions corresponding to r and VSu are not the same, the version generated next to the version belonging to VSr is the version belonging to VSu. That is, it can be seen that the state is as shown in FIG.

【0016】次に、Tuにより更新されコミットするオ
ブジェクトを1つずつ取り出す(ステップ102)。バ
ージョンリスト管理部3は、そのオブシェクトを入力1
3として受けとり、バージョンリスト内でのそのバージ
ョンの直前の、即ち、1つ前に生成されたバージョンを
取り出し(ステップ104)、それを出力する。読み出
しリスト比較部5は、バージョンリスト管理部3の出力
とTrの識別子を受けとり、読み出しリスト管理部4を
用いてそのバージョンの持つ、それにアクセスした読み
出し専用トランザクションの識別子のリストに、Trの
識別子が存在するかどうかを検査し(ステップ10
5)、結果をバージョンの集合推移部6に出力する。例
えば、図5を例にとると、Tuによって更新されコミッ
トするオブジェクト(b3 ,c3 ,d3 )の前のバージ
ョン(b2 ,c2 ,d2 )のそれにアクセスした読み出
し専用トランザクションの識別子のリストに、Trの識
別子が存在するかどうかを検査することにより、Trが
VSrとVSuと重なっていない部分(b2 ,c2 ,d
2 )のバージョンをアクセスしていないかどうかがわか
る。即ち、Trの識別子が存在しなければ、TrがVS
rとVSuと重なっていない部分(b2 ,c2 ,d2 )
のバージョンをアクセスしていないといえる。
Next, the objects updated by Tu and committed are fetched one by one (step 102). The version list management unit 3 inputs the object 1
3, the version immediately before that version in the version list, that is, the version generated immediately before is fetched (step 104) and output. The read list comparing unit 5 receives the output of the version list managing unit 3 and the Tr identifier, and the Tr identifier is added to the list of the read-only transaction identifiers accessed by the version using the read list managing unit 4. Check for existence (step 10
5) The result is output to the version set transition unit 6. For example, referring to FIG. 5, the list of identifiers of read-only transactions that accessed the previous version (b2, c3, d3) of the object (b3, c3, d3) updated and committed by Tu is set to Tr. By checking whether the identifier exists, Tr is a portion where VSr and VSu do not overlap (b2, c2, d).
2) You can see if you are not accessing the version. That is, if the Tr identifier does not exist, Tr is VS.
Parts where r and VSu do not overlap (b2, c2, d2)
You can say that you are not accessing the version of.

【0017】バージョンの集合推移部6は、入力として
受け取った上述した条件のどれが1つでも満たされなか
った場合は、バージョンの集合の推移は行わない。いい
かえれば、図3に示すようなVSrとVSuの間にある
バージョン(b3 ,c3 ,d3 )が存在せず、かつ図5
に示すように、VSrとVSuは重なっており、かつ、
重なっていない部分の間に別のトランザクションが更新
しコミットしたバージョンが存在せず、さらに、図5に
示すように、Tuによって更新されコミットするオブジ
ェクト(b3 ,c3 ,d3 )の前のバージョン(b2 ,
c2 ,d2 )のそれにアクセスした読み出し専用トラン
ザクションの識別子のリストに、Trの識別子が存在し
ない場合にのみ、バージョンの集合の推移を行う。即
ち、VSrをVSuに変換してもTrの読み出しの一貫
性は保たれるので、VSrのVSuへの推移を行う(ス
テップ106)。
The version set transition unit 6 does not transition the version set if any of the above-mentioned conditions received as an input is not satisfied. In other words, there is no version (b3, c3, d3) between VSr and VSu as shown in FIG. 3, and FIG.
As shown in, VSr and VSu overlap, and
There is no version updated and committed by another transaction between the non-overlapping parts, and further, as shown in FIG. 5, the previous version (b2) of the object (b3, c3, d3) updated and committed by Tu. ,
Only when the identifier of Tr does not exist in the list of the identifiers of read-only transactions that have accessed it in (c2, d2), the transition of the set of versions is performed. That is, even if the VSr is converted into the VSu, the read consistency of the Tr is maintained, so that the VSr is changed to the VSu (step 106).

【0018】[0018]

【発明の効果】以上説明したように、本発明は、スナッ
プショットの原理は維持しつつ、読み出し専用トランザ
クションがより新しいバージョンを読むことができると
いう効果を有している。
As described above, the present invention has the effect that a read-only transaction can read a newer version while maintaining the snapshot principle.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

【図2】本実施例の処理の流れを示すフローチャート流
れ図である。
FIG. 2 is a flow chart showing the flow of processing of this embodiment.

【図3】本実施例の第1の説明図である。FIG. 3 is a first explanatory diagram of the present embodiment.

【図4】本実施例の第2の説明図である。FIG. 4 is a second explanatory diagram of the present embodiment.

【図5】本実施例の第3の説明図である。FIG. 5 is a third explanatory diagram of the present embodiment.

【図6】従来例の説明図である。FIG. 6 is an explanatory diagram of a conventional example.

【図7】従来のスナップショット方法の説明図である。FIG. 7 is an explanatory diagram of a conventional snapshot method.

【符号の説明】[Explanation of symbols]

1 コミットリスト比較部 2 更新オブジェクト数検査部 3 バージョンリスト管理部 4 読み出しリスト管理部 5 読み出しリスト比較部 6 バージョンの集合推移部 11 Tr 12 Tuによってコミットするオブシェクトの数 13 Tuにより更新されコミットするオブジェクト DESCRIPTION OF SYMBOLS 1 Commit list comparison unit 2 Update object number inspection unit 3 Version list management unit 4 Read list management unit 5 Read list comparison unit 6 Version set transition unit 11 Tr 12 Number of objects committed by Tu 13 Object updated by 13 Tu and committed

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 オブジェクト指向データベースにおける
マルチバージョン並行制御方法において、読み出し専用
トランザクションがアクセスするバージョンの集合Xと
更新トランザクションによりコミットするバージョンの
集合Yに属するバージョンが同一であるオブジェクトが
存在し、かつ前記バージョンの集合Xと前記バージョン
の集合Yに属する前記バージョンが同一でないオブジェ
クトに関し、前記バージョンの集合Xに属するバージョ
ンの次に生成されたバージョンが前記バージョンの集合
Yに属するバージョンであり、さらに、前記バージョン
の集合Xと前記バージョンの集合Yに属する前記バージ
ョンが同一でないオブジェクトに関して前記読み出し専
用トランザクションが読むべき前記バージョンの集合X
のバージョンをアクセスしていない場合は、前記読み出
し専用トランザクションがアクセスする前記バージョン
の集合Xを新しくコミットする前記バージョンの集合Y
に推移させることを特徴とするオブジェクト指向データ
ベースにおけるマルチバージョン並行制御方法。
1. In a multi-version parallel control method for an object-oriented database, there is an object in which a version belonging to a set X of versions accessed by a read-only transaction and a set Y of versions committed by an update transaction are the same, and Regarding an object whose version set X and said version belonging to the version set Y are not the same, the version generated next to the version belonging to the version set X is a version belonging to the version set Y, and The set of versions X to be read by the read-only transaction for objects whose versions are not the same belonging to the set of versions X and the set of versions Y
, The set of versions Y accessed by the read-only transaction is newly committed.
A multi-version concurrency control method for object-oriented databases, characterized in that the transition is performed.
【請求項2】 オブジェクト指向データベースにおける
マルチバージョン並行制御方式において、各トランザク
ションが有し前記トランザクションが開始された時点で
すでにコミットされていたトランザクションのリストで
あるコミットリストと現在までにコミットされた全ての
トランザクションのリストであるグローバルなコミット
リストを比較して要素が同じであれば第1の推移指示を
出力するコミットリスト比較部と、更新トランザクショ
ンによりコミットするオブシェクトの数がデータベース
内に存在するオブジェクトの総数以下であれば第2の推
移指示を出力する更新オブジェクト数検査部と、オブジ
ェクトに対応するバージョンのリストを管理するバージ
ョンリスト管理部と、個々のバージョンが持ち前記バー
ジョンにアクセスした読み出し専用トランザクションの
識別子のリストを管理する読み出しリスト管理部と、前
記バージョンリスト管理部を介して前記更新トランザク
ションによりコミットするオブシェクトのバージョンの
1つ前に生成されたバージョンXを取り出し前記読み出
しリスト管理部を用いて前記バージョンXが持つリスト
の要素に前記バージョンXを含むバージョンの集合をア
クセスする前記読み出し専用トランザクションの識別子
Yがあるかどうか調べ前記識別子Yがない場合に第3の
推移指示を出力する読み出しリスト比較部と、前記第1
の推移指示と前記第2の推移指示と前記第3の推移指示
とを受けると前記読み出し専用トランザクションがアク
セスするバージョンの集合を新しくコミットするバージ
ョンの集合に推移するバージョンの集合推移部とから構
成されることを特徴とするオブジェクト指向データベー
スにおけるマルチバージョン並行制御方式。
2. In a multi-version concurrent control method in an object-oriented database, a commit list that is a list of transactions that each transaction has and that has already been committed when the transaction is started, and all commits up to now The global commit list, which is a list of transactions, is compared, and if the elements are the same, the commit list comparison unit that outputs the first transition instruction and the number of objects to be committed by the update transaction of the objects that exist in the database If the total number is less than or equal to the total number, an update object number inspection unit that outputs a second transition instruction, a version list management unit that manages a list of versions corresponding to the objects, and individual versions have access to the versions And a read-list management unit that manages a list of identifiers of read-only transactions, and a read-list management unit that extracts the version X generated immediately before the version of the object to be committed by the update transaction via the version-list management unit. Section to check whether the element of the list held by the version X has the identifier Y of the read-only transaction that accesses the set of versions including the version X, and outputs the third transition instruction when the identifier Y does not exist. And a read list comparison unit for
Of the version transition instruction, the second transition instruction, and the third transition instruction, the read-only transaction transits the set of versions to a newly committed version set. A multi-version concurrency control method for object-oriented databases.
JP6146342A 1994-06-28 1994-06-28 Multi-version parallel control method and multi-version parallel control method in object-oriented database Expired - Fee Related JP2513160B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6146342A JP2513160B2 (en) 1994-06-28 1994-06-28 Multi-version parallel control method and multi-version parallel control method in object-oriented database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6146342A JP2513160B2 (en) 1994-06-28 1994-06-28 Multi-version parallel control method and multi-version parallel control method in object-oriented database

Publications (2)

Publication Number Publication Date
JPH0816447A JPH0816447A (en) 1996-01-19
JP2513160B2 true JP2513160B2 (en) 1996-07-03

Family

ID=15405538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6146342A Expired - Fee Related JP2513160B2 (en) 1994-06-28 1994-06-28 Multi-version parallel control method and multi-version parallel control method in object-oriented database

Country Status (1)

Country Link
JP (1) JP2513160B2 (en)

Also Published As

Publication number Publication date
JPH0816447A (en) 1996-01-19

Similar Documents

Publication Publication Date Title
US6240413B1 (en) Fine-grained consistency mechanism for optimistic concurrency control using lock groups
US5287496A (en) Dynamic, finite versioning for concurrent transaction and query processing
JP2505112B2 (en) Transaction management method
US6834275B2 (en) Transaction processing system using efficient file update processing and recovery processing
US5870757A (en) Single transaction technique for a journaling file system of a computer operating system
US10671594B2 (en) Statement based migration for adaptively building and updating a column store database from a row store database based on query demands using disparate database systems
US5603020A (en) Method for detecting file names by informing the task of the identification of the directory antecedent to the file
US6535869B1 (en) Increasing efficiency of indexing random-access files composed of fixed-length data blocks by embedding a file index therein
KR100862661B1 (en) Method for deferred logging and apparatus thereof
Ferrandina et al. Implementing lazy database updates for an object database system
US7702686B2 (en) Retrieving and persisting objects from/to relational databases
US7587429B2 (en) Method for checkpointing a main-memory database
JPH04337850A (en) Data base transaction and collation processing system
US20090164524A1 (en) Shadow-page deferred-update recovery technique integrating shadow page and deferred update techniques in a storage system
JPH08328933A (en) File access control system for parallel processing system
Rosenkrantz Dynamic database dumping
Phatak et al. Transaction-centric reconciliation in disconnected client–server databases
JP2513160B2 (en) Multi-version parallel control method and multi-version parallel control method in object-oriented database
Wu et al. Dynamic finite versioning: An effective versioning approach to concurrent transaction and query processing
JP2004062759A (en) Database log management method, its device and its program
US20080065667A1 (en) Transaction oriented resilient file system
US7209919B2 (en) Library server locks DB2 resources in short time for CM implicit transaction
Wu et al. Rapid transaction-undo recovery using twin-page storage management
JPS63196958A (en) Fault recovery processing method
Brimhall et al. Chapter 19: In-Memory OLTP: by Wayne Sheffield

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080430

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees