JP2721780B2 - データベースアクセス方法およびシステム - Google Patents
データベースアクセス方法およびシステムInfo
- Publication number
- JP2721780B2 JP2721780B2 JP5050947A JP5094793A JP2721780B2 JP 2721780 B2 JP2721780 B2 JP 2721780B2 JP 5050947 A JP5050947 A JP 5050947A JP 5094793 A JP5094793 A JP 5094793A JP 2721780 B2 JP2721780 B2 JP 2721780B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- dbms
- lock
- data
- page
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
コンピュータ記憶を管理する方法に関する。本発明は、
特に、全体がDASD指向外部記憶サブシステムに記憶
されるか、あるいは、一部が外部記憶サブシステムに記
憶されるとともに一部が共用高速電子ストアに記憶され
ているデータベースの現データにアクセスする時間を最
小限にし、その上、複数ユーザシステムに関してデータ
コヒーレンシを保持する方法に関する。
ーティングし、かつ、データを共用するデータベースシ
ステムでは、大域ロッキングが採用され、異なるシステ
ムに関してコヒーレンシが保持されている。COMPU
TER ARCHITECTURE AND DESI
GN,A.J.Gore,Addison Wesle
y,1989には、次のような問題点の1つとしてデー
タコヒーレンシ問題が説明されている。すなわち、多数
のプロセッサ間でデータを共用した場合、そのデータの
複数の矛盾するコピーが存在する。その理由は、データ
を局所的に修正する機会が複数回あるので、そのデータ
へのパスが複数個あるからである。
憶装置を含む複数コンピュータのデータ共用システムの
コンテキストで取り上げられている。このようなシステ
ムでは2次レベルの記憶装置は1つ以上のDASD(d
irect accessstorage devic
e)よりなる。DASDは独立にオペレーティングする
コンピュータシステムにより共用されている。各コンピ
ュータシステムはデータベース管理システム(data
base managenent system; D
BMS)を含む。DBMSはDASD指向外部記憶サブ
システムに記憶されているデータベースにアクセスす
る。このようなサブシステムは「共用ディスク(S
D)」システムと言うことができる。
は、システム間キャッシングが高速で、頻繁にアクセス
される共用電子ストア(shared electro
nic store; SES)の形式で提供されるア
ーキテクチャを提案している。種々の理由で、データは
DASDおよび局所処理から獲得された後、データベー
スシステムによりSESに入力される。SESはストア
インキャシュとして用いられる。ストアインキャシュで
は、データのバージョンをDASDサブシステムに記憶
されているバージョンよりも新しくすることができる。
のDBMSの内部記憶装置内に、バッファを所有し保持
している。局所的に実行される1つ以上のアプリケーシ
ョンによるアクセスのために、そのバッフアからデータ
が取り出される。各DBMSは、さらに、バッファ空間
を割り当て、しかも、バッファ空間の参照を制御するバ
ッファマネージャ(BM)を含む。そのバッファマネー
ジャはテーブル、リストを含むとともに、そのバッファ
についての情報を含む他の構造にアクセスすることがで
きる。
larity)の階層構造のデータ構造を含むものと仮
定した場合、これらのデータ構造をDBMSのバッファ
に局所的にキャッシングすることができることは好まし
いことである。バッファマネージャはこれらのデータ構
造の移動を、そのバッファと外部記憶との間で、SES
および/またはDASDを介して調整する。
ロセッサ上で実行されるアプリケーションにより生成さ
れるトランザクションアクティビティに応答して、その
データをローカルバッファに置く。このようなアプリケ
ーションはreadおよびwriteオペレーションを
生成し、それらのオペレーションはローカルバッファを
利用してそのデータにアクセスする。
ョンによるデータベース内容へのアクセスを逐次化す
る。本発明では、各DBMSはローカルロックマネージ
ャ(LLM)を含み、LLMにより、他の資源の間で局
所的に記憶されたデータ構造へのアクセスを制御する。
一般的なデータ構造の間でコヒーレンシをとる必要があ
り、しかも、複数ローカルバッファが存在する多重DB
MS環境において同一データ構造のバージョン間でコヒ
ーレンシをとる必要があるため、ロッキングが付与され
る。
るMVSのようなオペレーティングシステムは、そのシ
ステムの種々の資源に対してロックの階層構造を含む。
ロックは名前、範囲、および排他性を有する。システム
間ロッキングをサポートするため、大域ロックマネージ
ャはLLMと協調してロックの認可を管理する。共用デ
ィスクシステムでの大域ロッキングは、”RECOVE
RY AND COHERENCY−CONTROL
PROTOCOLS FOR FAST INTERS
YSTEM TRANSFER AND FINE−G
RANULARITY LOCKING IN A S
HARED DISKS TRANSACTION E
NVIRONMENT”という表題のIBM Rese
archReport RJ8017に詳細に説明され
ている。これは、C.Mohan他により著され、19
91年3月15日に発行されたものである。
および管理は、上述した環境においてデータのシステム
間コヒーレンシをサポートするのに必要であるが、トラ
ンザクション経路長および応答時間が益々長くなるとい
う点で実質的にコストがかかる。複数システム間でのデ
ータコヒーレンシを保持し、その上、トランザクション
経路長と応答時間を軽減するため、充分な挑戦が複数シ
ステム環境で行われている。
ベースの外部記憶に共用アクセスを行うとともに、高速
電子ストアに共用アクセスを行うことにより、多重DB
MS環境でデータのコヒーレンシを保持し、その上、大
域ロッキングのオーバヘッドを軽減することにある。
の次のような重要な観察により達成された。すなわち、
データベースに「システム間インタレスト」(他のシス
テムのread意図または更新意図)を有するDBMS
バッファマネージャの一部に関するローカル知識を利用
して次のようにすることができる。すなわち、インタレ
ストのレベルに最も良く適応するバッファ管理方策を選
択することにより、ローカルバッファと外部記憶との間
のデータの移動を効率的に管理することができる。それ
と関連することであるが、DBMSはまた親資源(すな
わ、データベース)に関するインタレストのレベルを利
用して、子資源(すなわち、レコードまたはページ)に
対して、大域ロックマネージャのロック呼び出しを回避
できる。そのため、バッファマネージャの一部にあるデ
ータベースに対するシステム間インタレストのレベルを
知ることにより、多重システム環境のデータベースのベ
ースコヒーレンシのオーバヘッドを充分に削減すること
ができる。例えば、データベースに対するシステム間イ
ンタレストがないとき、DBMSが「コミット時非強
制」方策に従った場合、DBMSはデータベース更新
を、トランザクションコミット処理とは非同期に、DA
SDに書き込む。このことにより、トランザクション応
答時間が改善されるとともに、ロック保持時間が短縮さ
れ並行性がより良くされる。一方、バッファマネージャ
がデータベースに対するシステム間インタレストを検出
した場合、本発明によれば、「コミット時強制」方策に
従いコヒーレンシを保持する。それに関連して、トラン
ザクションにより更新されたページに対するロックを解
放する前に、「コミット時強制」はDBMSが次のこ
と、すなわち、トランザクションにより更新されたペー
ジが記憶装置に書き込まれ、しかも、更新トランザクシ
ョンがコミット時にロックを解放する前に、変更された
ページを他のシステムに通知することを保証することを
必須とする。本発明では、DASD I/Oアクティビ
ティおよびトランザクションコミット処理のオーバヘッ
ドを補償するため、更新されたページはSESに書き込
まれる。SESの高速read/write機能はトラ
ンザクションコミット処理を短縮し、トランザクション
に対するシステム応答時間を短縮する。
タベースに関する知識を次のようにすることにより、す
なわち、DBMSがそのデータベースを用いる唯一のシ
ステムである場合か、あるいはそのデータベースを用い
る全てのシステムがデータベースを読み取る場合には非
強制方策に従い、他方、1つのシステムがそのデータベ
ースを更新し、しかも、他のシステムがそのデータベー
スを読み取るか、あるいは、複数システムがそのデータ
ベースを更新する場合には強制方策に、選択的に、DB
MSが従うことにより利用する。
ステム間インタレストのレベルを任意の時点で変更する
ことを許可する。本発明により、全ての関係するDBM
Sはこのような変更に動的に適合することができる。こ
のような監視に基づく方法は多重システム複合体を含
み、この多重システム複合体は、複数のデータベース管
理システム(DBMS)と、直接アクセス記憶装置と、
共用ストアとを含む。直接アクセス記憶装置はDBMS
に接続されており、1つ以上のデータベースを記憶す
る。共用ストアはDBMSに接続されており、複数のD
BMSにより高速アクセスを行うためデータを一時的に
記憶する。このようなシステムでは、DBMSは1つ以
上のデータベースからのデータをトランザクションに供
給し、データベース処理を行う。
してデータベースのコヒーレンシを、次のステップによ
り保持する。すなわち、他の任意のトランザクション
が、指定されたデータベースからのデータ更新を他の任
意のDBMSに要求しない場合、第1トランザクション
が、指定されたデータベースからのデータを第1DBM
Sに対して要求することに応答して、前記第1DBMS
にて、前記直接アクセス記憶装置からデータを獲得し、
前記第1DBMSのデータに対してトランザクションオ
ペレーションが実行され、コミットされるステップと、
指定されたデータベースのデータを更新する、第2DB
MSに対する要求と並行する第2トランザクション要求
であって、前記指定されたデータベースからのデータに
対し、前記第1DBMSに行う第2トランザクション要
求に応答して、データが共用ストアにある場合は、前記
共用ストアからの前記第1DBMSによりそのデータが
獲得され、前記データが共用ストアにない場合は、前記
直接アクセス記憶装置からの前記データが獲得され、前
記データに対する更新トランザクションオペレーション
が第2DBMSで実行されコミットされ、前記トランザ
クションオペレーションのコミットに同期して、前記デ
ータが前記共用ストアにおかれるステップとにより保持
する。
配置を更新することにより、他のシステムの同一のデー
タの他のバージョンを無効にすることができるので、そ
の更新を、更新システムによるか、あるいは関係のある
情報を大域ロックマネージャに登録するかのいずれかに
より、直接、他のシステムに通知する。この大域ロック
マネージャにより、別のシステムは他のシステムがその
データの無効コピーを有することを検出することができ
る。
に説明する。
トする多重システム環境を理解するための図である。図
1において、2つのCPUのプロセッサ1およびプロセ
ッサ2を図示してある。プロセッサ1および2はそれぞ
れ例えばIBM System/360または370ア
ーキテクチャCPUであって、IBM MVSオペレー
ティングシステムを有するCPUを備えることができ
る。IBM System/360アーキテクチャCP
Uは、1968年9月3日にAmdahl他に付与され
た米国特許3,400,371号に充分に記載されてい
る。外部記憶へのアクセスを共用するCPUを含む構成
は、米国特許3,400,371号に開示されるととも
に、1980年6月10日にLuiz他に付与された米
国特許4,207,609号に開示されている。
ム(DBMS)10,20を実行する。DBMSはロー
カルロックマネージャ(LLM)11,21と、バッフ
ァマネージャ(BM)12,22を含む。BMはそれぞ
れデータを記憶するローカルバッファ13,23を保持
する。DBMSは、それぞれ、1つ以上のアプリケーシ
ョン14,24を、アプリケーション生成トランザクシ
ョンの要件に応えて、データを読み取り更新するものと
してサーブする。
DASDベースの外部記憶30(以下、“DASD”と
いう)上で、1つ以上のデータベースの形式で利用可能
であることを断定する。そのデータベースはページとレ
コードの階層構造を含み、各ページは1つ以上のレコー
ドを含む。
との関係を示す。図1に示すように、各CPUは、ロー
カルバッファ形式の内部記憶と、DASD30および高
速ストアインキャッシュ32形式の外部記憶とにともに
アクセスする。この高速ストアインキャッシュ32は、
以下、“共用電子ストア(shared electr
onic store)”、または“SES”という。
DASD30はデータベースの究極のリポジトリであ
り、データページがDASD30からバッファ13,2
3にデータパス17,27を介して選択的に移動され
る。データパス17,27はCPUオペレーティングシ
ステムとDASD30の間の通常のI/O結合である。
SES32にはページがストアインキャッシングされ、
そのページはトランザクション処理のためにローカルバ
ッファ13,23に転送される。SES32と、プロセ
ッサ1および2とを結合した光ファイバリンク18およ
び28のような高速リンクを介して、SES32に書き
込まれ、SES32から読み取られる。SES32は制
御ロジックを含み、その制御ロジックは、BM12,2
2のロジックによりリンク19,29上にReadおよ
びWriteのようなコマンドを発行することにより呼
び出される。
るために個々にログ36,37を保持している。ログベ
ースのデータベース回復はデータベースシステムでは周
知の機構である。本発明に係る方法に対するデータベー
スシステムの適応を後程説明する。
ーションはページをアドレスにより参照する。DBMS
はページを含むデータベースを命名し、そのページを指
定する。そのページがバッファ13にて利用できない場
合は、そのページはDASD30またはSES32のい
ずれかから獲得しなければならない。
関するデータのコヒーレンシは、大域ロック管理により
確認される。その大域ロック管理は大域ロックマネージ
ャ(GLM)33で具現化され、GLM33はLLM1
1,21に接続されている。DBMS10,20はトラ
ンザクション間のレコードレベルの並行性をサポートす
るものと仮定する。この並行性により、システム内およ
びシステム間の並行性が1ページ内の1つのレコード上
で認められる。しかし、システム間のコヒーレンシの単
位はページである。コヒーレンシの単位をページにした
のは、ローカルバッファマネージャがページをI/Oの
単位として取り扱っているからである。次の説明で、G
LMは、GLMのCPUで実行するか、あるいは補助処
理モードでDBMSのうちの1つのDBMSのCPUで
実行することができる自律コンポーネントであるものと
仮定する。さらに、LLMとGLMは周知のメッセージ
配達またはメール投函技法により通信するものと仮定す
る。
するシステム間インタレストのレベルの知識に基づきコ
ヒーレンシのオーバヘッドを回避するか、あるいは軽減
する。このことを記述するため、データベースに関する
システム間インタレストのレベルは、昇順で、つぎの
(a)〜(c)のようにすることができる。すなわち、 (a)レベルAインタレスト。このレベルAインタレス
トでは、1つのシステムがそのデータベースを用いる
か、あるいはそのデータベースを使用する全システムが
そのデータベースを読み取る。
ンタレストでは、1つのシステムがそのデータベースを
更新し、他のシステムがそのデータベースを読み取る。
ンタレストでは、複数システムがそのデータベースを更
新する。
に示す環境において、そのデータベースのページコヒー
レンシのオーバヘッドが回避されるか、あるいは軽減さ
れる。
ce−at−commit)方策に従うとともに、共用
ディスク環境でコヒーレンシを保持するため、バッファ
プールに局所的にキャッシュされている全てのページを
ロッキングする共用モードのページキャッシュロック
と、更新モードのページキャッシュロックとを含む大域
ロックを、DBMSは獲得し、ページを更新するであろ
う。これらの大域ロックはトランザクションロックに付
加されており、メッセージオーバヘッドを有する。
(force−at−commit)方策に従いながら
コヒーレンシを保持するために、DBMSはページがデ
ィスクに書き込まれたことを確認しなければならず、し
かも、変更されたページがページロックを解放する前に
他のシステムに通知されることを確認しなければならな
い。発明者は、高速read/write機能を有する
共用電子ストアを用いることにより、トランザクション
コミット処理におけるディスクI/Oプロシージャのオ
ーバヘッドを充分に減少させることができる。そのた
め、更新されたページを強制的に急速にこのストアにい
れることができる。しかし、共用電子ストアに関わら
ず、非強制(no−force)方策の方が強制(fo
rce)方策より速く、よりコストがかからず、しか
も、効率が良くなるようにしている。データベースに対
するシステム間インタレストの知識を有することによ
り、DBMSは、データベースに対するレベルAインタ
レストがあるときは非強制方策に従い、データベースに
対するレベルBまたはレベルCインタレストがあるとき
は強制方策に選択的に従うことができる。
することにより、別の最適化が生じる。以前は、共用デ
ィスクを有する多重システムにおいて、1ページ内にサ
ブページ分の並行性を供給することにより、DBMSは
ページキャッシュロックを獲得し、異なるシステムから
のページに対して並行更新を逐次化する必要があった。
しかし、レベルBインタレストにおいて、1つのシステ
ムのみがデータベースを更新し、しかも、他のシステム
がデータベースを読み取るとき、更新しているシステム
は、そのページに対するページキャッシュロックを獲得
する必要はない。というのは、その更新しているシステ
ムは他のシステムがデータベースを更新していないこと
を知っているからである。
対するシステム間インタレストのレベルをDBMSに通
知することにより、幾つかの重要でかつ予測できない最
適化を提供する。レベルAで動作するとき、DBMSは
コミット時非強制方策に従うことができる。重要なこと
であるが、このことは、1つのDBMSのみがデータベ
ースにアクセスし、そのデータベースを更新するとき、
そのDBMSはコミット時非強制方策に従い、バッチ処
理するためI/OオペレーションをDASDによりグル
ープ化するが、トランザクション更新というコミットに
より、同期をとって各更新をDASDに書き込む必要が
ないことを意味する。DBMSがレベルAインタレスト
で動作する場合、大域ページキャッシュロッキングは必
要でない。レベルBインタレストで動作する場合、1つ
のシステムのみが更新し、そのため、その1つのシステ
ムはページキャッシュロッキングをそのページから獲得
して、そのページの並行更新を逐次化する必要はない。
電子ストアを有するシステムのDBMSにシステム間イ
ンタレスト情報を供給することと、次のような能力を有
するシステム投資とに基づくものである。その能力と
は、システム間インタレスト情報の変更に応答して非強
制または強制方策を選択的にインプリメントし、その
上、同一の情報に応答してページキャッシュロッキング
方策をインプリメントする能力である。これは重要なこ
とである。というのは、従来のシステムはデータベース
をシステム間で用いることに対して静的な方策を宣言す
るからである。例えば、従来例では、宣言されたモード
でread onlyまたはread/writeを使
用する前に、read onlyまたはread/wr
iteを複数システムにより使用するため、データベー
スが宣言される。
関係のない手段による明白なアクションが必要である。
本発明では、外部アクションを必要とせず、しかも上述
したコヒーレンシの減少により最適化される動的な方法
で、DBMSはシステム間インタレストの変更を監視し
応動する。
ジをキャッシングする適正な階層ロッキングスキーマを
用いて、DBMSに現状態が通知されるとともに、GL
Mによるシステム間インタレストの変更が通知される。
好ましい実施例では、その階層はデータベースに対する
データベースP(物理)ロックを含み、そのデータベー
スPロックから、データベースページに対するページP
ロックが伝わる。本発明では、BMはこの階層ロッキン
グスキーマを活用して、データベースに対するシステム
間インタレストの変更に適合する。本発明では、データ
ベースに対するBMロッキングは、オブジェクトに対す
るトランザクションロッキングと異なる。BMロッキン
グの目的は、キャッシュコヒーレンシを多重システム環
境で保持することにあり、その目的は単一システム環境
では意味がない。Pロックはシステムレベルのロックで
あり、トランザクションレベルのロックではない。さら
に、本発明では、競合や、データベースPロックを参照
する他のアクティビティの場合、BMプロシージャ
(「Pロック終了」)を呼び出さなければならないこと
をLLMが知らされる点で、BMロックは交渉可能であ
る。データベースPロックが交渉可能であることによ
り、BMはシステム間インタレストの変更に動的に応動
する。大域ロックマネージャによるシステム間Pロック
管理を次に説明する。
プを示す。ステップ40にて、DBMSでオープンされ
ていないデータベースに対してアクセスをしようとす
る。そのデータベースがこのDBMSでオープンされて
いる間、要求されたデータベースに対するBMロッキン
グが、ステップ42にて、検査され、別のシステムが現
在そのデータベースを用いているか否かを判定する。否
定判定された場合は、そのデータベースが獲得されてオ
ープンされ、データベースPロックが獲得され、GLM
33で表が作成され、ステップ43に移行する。ステッ
プ43にて、データベースに対するインタレストが他に
ない場合、用いているDBMSは、非強制方策に従って
そのバッファを管理することができ、しかも、このデー
タベースのページに対する更新に対してページPロック
を獲得せずにすますことができる。現在保持されている
モードと互換性がないモードか、あるいは、結果のモー
ドを変更させるモードのデータベースPロックを、別の
システムが要求するときは何時でも、データベースPロ
ックは交渉可能であるので、GLM33はDBMSに通
知することになる。その他のDBMSの要求はステップ
45にて判定される。システム間read/write
(レベルB)インタレスト、またはシステム間writ
e−write(レベルC)インタレストになるような
要求である場合、ステップ47に移行する。しかも、こ
のデータベースにアクセスしている全てのDBMSのバ
ッファは、次のような強制方策により管理されることに
なる。強制方策とは、コミットされた更新を有するペー
ジが、更新しているシステムにより共用ストアに書き込
まれ、しかも、このデータベースからのページに対する
要求がまず共用ストアをルックしついでDASDをルッ
クすることにより満足される方策である。この強制方策
に必要なステップはページに対する更新を他のシステム
に通知することである。このような通知はシステム間メ
ッセージ転送により指示することができる。その転送で
は、更新しているシステムは他のシステムにその更新を
通知し、他のシステムはそのメッセージを確認する。本
出願人から入手可能なIMS製品のデータ共用モード
は、この技法を「バッファ無効メッセージ」に利用して
いる。あるいはまた、ページ更新が1つのシステムによ
り認められる情報を、この目的のためにGLMに保持さ
れている情報を用いて、他の全てのシステムに供給する
ことができる。この点に関して、例えば米国特許第53
27556号を参照されたい。この米国特許には、バッ
ファリングされたページの最新の更新を示すバージョン
番号と、ページのバッファリングされたバージョンが更
新されるごとにインクリメントされるページに対する大
域ロックマネージャバージョン番号とを比較することが
開示されている。ステップ47にて、2つ以上のシステ
ムがこのデータベースを更新するデータベースPロック
を保持した場合、全ての更新者(updater)に対
するBMはページロックを獲得しなければならない。他
方、複数のシステムが読み取っている間に、1つのシス
テムのみが更新している場合、その更新しているシステ
ムはページロックを獲得する必要はない。DBMSがス
テップ47にあるときで、かつ、データベースPロック
がデータベースPロックを有する他の全てのシステムに
より解放された場合(レベルCインタレスト、ステップ
50における判定)はいつでも、DBMSはステップ4
3の方策最適化に戻ることができる。そうでない場合
は、ステップ47の方策が維持される。
プンされたとき、直ちに、データベースが用いられてい
ることを、GLM33がDBMSに通知する場合は、ス
テップ53に移行する。ステップ53にて、そのデータ
ベースを要求しているDBMSは、まず、システムがそ
のデータベースを更新しているか否かを判定する。肯定
判定された場合は、ステップ47に移行し、DBMSは
ステップ47の方策を採用する。そのデータベースが用
いられているが、更新されていない場合は、ステップ5
5に進んで、DBMSは更新のためにデータベースをオ
ープンしていなければステップ43の最適化を採用す
る。さもなければ、DBMSはステップ47の方策に従
う。また、DBMSがデータベースに関する更新インタ
レストを放棄するが、まだReadインタレストがある
時にも、図2に示す論理を適用する。
されたとき、BMがデータベースPロックを獲得する。
このロックは、少なくともデータベースの任意のページ
をBMのシステムにキャッシュすることができる限り保
持される。そのロック名は、トランザクションにより獲
得されたデータベースと異なるような名前である。同様
に、BMにより獲得されたページPロックは、トランザ
クションにより獲得されたページロックと異なる名前が
命名される。BMに対するPロック認可に関連して、G
LM33は、また、他のシステムのロックの結果状態
(RSOS)を示すデータオブジェクトをフィードバッ
クする。重要なことであるが、他のシステムのロックの
結果状態は、任意のシステムにより保持されているロッ
クであって、要求されたデータベースに対するロックの
うちで最高位のモードであり、要求しているシステムの
モードを排除する。BMはRSOSを用いるとともに、
データベースPロックの要求されたロックモードを用
い、BMがDBMS記憶装置に保持している「キャッシ
ュされた状態」データオブジェクトに対する値を取り出
す。キャッシュされた状態オブジェクトの値を用いて上
述した最適化を行うことができるか否かを判定する。
ぞれ本実施例に係るGLM33,LLM11,BM13
で保持されるデータ構造を示す。図4および図5は他の
システムでの同様のデータ構造の典型例を示す。図3は
GLMで保持されているバッファロッキング表を示す。
バッファロッキング表のエントリは、そのロックが適用
される資源を識別するフィールド61を含む。その資源
はデータベースであっても良いし、ページであっても良
く、資源オブジェクトの名前に暗に含まれている。フィ
ールド63は、ロックを保持するDBMSの待行列のア
ンカーであり、かつ、各システムが保持するロックモー
ドである。フィールド65(N)はそのロックが交渉可
能か否かを示す。本発明はBMロックが交渉可能である
という点に基づいているが、本発明者は、BMロックを
交渉不可能にする必要がよくあるという点を、優先順位
に関する設計考慮事項に入れようと意図している。フィ
ールド66はそのロックが交渉されることになる条件
(C1およびC2)を示す。フィールド67はそのロッ
クが保持されている最高位モードに対応して、そのロッ
クの結果状態を与える。最後に、フィールド68はその
ロックを要求しているシステムの待ち行列のアンカーで
あり、それらのシステムが要求したロックモードであ
る。
れているロッキング表を示す。LLMロック表の各エン
トリはフィールド60,62a,69,62b,および
64を含む。フィールド60はロックが適用される資源
を命名するためのものである。フィールド62aはその
ロックを保持するトランザクションの待ち行列と、その
ロックを保持するトランザクションのモードをアンカー
するためのものである。フィールド69はBM33のP
ロック終了ルーチンを示す。フィールド62bはそのロ
ックを要求するトランザクションの待ち行列をアンカー
するためのものである。フィールド64は命名された資
源上のロックの結果保持状態を示す。
本発明で用いられる。LLM/GLMメッセージ交換に
は、GLM33からのメッセージであって、次のことを
LLM11に通知するメッセージに対する準備を含む。
すなわち、命名された資源であって、DBMS10によ
り保持されたロックと衝突するか、あるいは、そのロッ
クの結果状態を変更する資源のロックに対する要求を、
GLMが別のDBMSから受信したことを、LLM11
に通知する。したがって、DBMSからロック要求を受
信すると、直ちに、GLM33はそのロック表をスキャ
ンし、その要求により、そのロックの結果状態が変化し
たか、あるいは、そのロックが保持され、しかも、メッ
セージをこの趣旨でLLM11に送信したかを判定す
る。そのメッセージがロック衝突か、あるいはそのロッ
クの結果状態の変化を示す場合、LLM11はアクショ
ンするためBM13のロック終了を呼び出す。
はそれぞれPロック終了プロシージャ71を含む。Pロ
ック終了プロシージャ71は、次に説明するが、BMが
保持されたロックのアップグレードまたはダウングレー
ドを交渉することができるロジックを含む。このプロシ
ージャに対する呼び出しアドレスは、図4に示すLLM
のロック表のロック終了フィールドに保持されている。
そのDBMSに割り振られたローカルメモリでは、バッ
ファマネージャ70は、DBMSによりオープンされた
全てのデータベースに対するデータベース制御ブロック
73にアクセスすることができる。各データベース制御
ブロック73はダーティページリスト74を伴ってい
る。また、バッファマネージャ70はwriteページ
リスト75を保持している。writeページリスト7
5はオペレーティングシステムI/OサービスによりD
ASD30に書き込まれたページのリストである。デー
タベース制御ブロック73は制御情報、フラグ、および
データ構造を含み、それらは、データベースのローカル
保守および管理をインプリメントするのに必要なデータ
構造であり、しかも、他のDBMSで同一のデータベー
スのローカル制御によりその保守および管理を調整する
のに必要なものである。図5に示すように、データベー
ス制御ブロックはデータベースを識別するフィールド7
3aと、データベース上で保持されたロックのモードを
識別するフィールド73cを含む。フィールド73dは
そのデータベースに関連する「キャッシュされた状態」
値を示す。フィールド73eはストア従属性(SD)フ
ラグを含む。ストア従属性(SD)フラグは、セットさ
れた場合はそのデータベースが「ストア従属」であり、
リセットされた場合はそのストアが「非ストア従属」で
ある。最後に、フィールド73fのポインタは、ローカ
ルメモリのこのダーティデータベースに対するダーティ
ページリスト74を突き止める。ダーティページリスト
74は通常のリスティングであるか、あるいは、ローカ
ルバッファに保持されているページであって、更新され
たページのシーケンスである。そのページは外部記憶に
戻さなければならない。そのリスト自体は、そのリスト
の各ページであるように、ラッチ(L)によりラッチさ
れる。writeページリスト75はBM70により保
持され、次のようなページを累積する。すなわち、外部
記憶に書き込むためのオペラティブシステムの外部記憶
管理コンポーネントに渡たそうとするページを累積す
る。本発明の方法の記述を容易にするため、ロックモー
ドX,SIX,S,IX,およびISを採用する。これ
らのロックモードはデータベースに関するDBMSのイ
ンタレストがこの順で低くなる。これらのモードは“G
ranularity of Locks and D
egrees of Consistency in
a Shared Database”IBM Res
earchReport RJ 1654,J.Gra
y,et alで提案されているロックモードに対応す
るが、その意味は異なる。この点、IXおよびISのよ
うなモードは、本発明では、その意図を表わすためでは
なく、そのロックモード間の互換関係を利用するため用
いられている。これは、これらのロックモードに対して
どのモードが開発されたかを理解する基礎にでき、これ
を用いると、新しい互換関係を確立し規定することをせ
ずに済む。ロッキングの異なるモードの間での互換関係
を表1に示す。“no”は対応するモードに互換性がな
いことを示す。
タベースにアクセスし、アクティビティを更新するレベ
ルAインタレストを示す。レベルBでは、そのデータベ
ースを更新している単一のシステムがSIXモードのデ
ータベースPロックを保持する。また、読み取っている
システムはISモードのデータベースPロックを保持す
る。IXモードのデータベースPロックは、並行してデ
ータベースを更新しているシステムにより保持されてい
る。これらのシステムは、これらのシステムが更新して
いるページに対してXモードロックを獲得するのは当然
である。Sモードのロックは、Sモードのロックを保持
しているシステムがデータベースを読み取っており、し
かも、他のシステムもそのデータベースを読み取ること
ができることを示す。
トの異なるレベルにマッピングする。このことは、BM
がキャッシュされた状態値を計算することで暗に示す。
この点では、キャッシュされた状態はX,SIX,S,
IX,およびISの値を有することができる。Xのキャ
ッシュされた状態は、1つのDBMSのみがデータベー
スに対するread/writeインタレストを有し、
そのインタレストがレベルAインタレストに対応するこ
とを暗に示す。read/writeインタレストを有
するシステムに対して、RSOSはヌルであり、他のシ
ステムはデータベースに対してインタレストを持たない
ことを暗に示す。SIXのキャッシュされた状態は、1
つのシステムのみがread/writeインタレスト
を有し、他のシステムは全てreadインタレストのみ
を有することを暗に示す。これらの条件はレベルBイン
タレストに対応する。表1に示すロック互換性マトリッ
クスを用いると、readインタレストを有するシステ
ムはISのキャッシュ状態を有することになるであろ
う。read/writeインタレストを有するシステ
ムに対しては、RSOSはISである。readerシ
ステムに対して、ROSOはSIXである。Sのキャッ
シュされた状態は、全てのシステムがデータベースに対
してreadインタレストのみを有することを暗に示
す。これはレベルAインタレストであることを暗に示
す。これらのシステムに対するRSOSはヌル、すなわ
ちSである。IXのキャッシュされた状態は、少なくと
も2つのシステムがwriteインタレストを有し、他
のシステムがデータベースに対してreadインタレス
トを有することができることを暗に示す。これはレベル
Cインタレストに対応する。writeインタレストを
有するシステムはIXモードのデータベースPロックを
保持し、readインタレストを有するシステムがある
場合は、そのシステムはISモードのロックを保持す
る。このインタレストレベルの全てのシステムに対する
RSOSはIXである。
ドおよびRSOSモードのキャッシュされた状態を示
す。
は、第3のカラム、すなわち、キャッシュされた状態の
値の計算法を示す。例えば、表2のライン3を次のよう
に仮定する。すなわち、DBMSがISモードまたはS
モードのデータベースPロックを要求し、しかも、RS
OSがISの値、すなわち、他のDBMSがreadの
ためにそのデータベースにアクセスしていることを示す
ISの値を有するという指示を、DBMSが受信したと
仮定する。この場合、要求しているDBMSはそのキャ
ッシュされた状態をSと計算する。表2の第4カラム
は、要求モードおよびRSOSに基づき、BMが獲得す
ることになる実際のロックモードを示す。従って、例え
ば、RSOSがヌルのとき、BMがIXモード,SIX
モード,またはXモードのデータベースPロックを要求
する場合、BMはXモードのロックを獲得することにな
る。IXモード,SIXモード,またはXモードで保持
されているロックは、DBMS障害の間、GLM33に
より保存される。これは必要なことである。このように
すると、そのバッファと無関係な他のバージョンと矛盾
するそのバッファのオブジェクトに、そのシステムの障
害時、他のシステムによりアクセスすることができない
からである。表2の第5カラムは、キャッシュされた状
態に基づいてBMがページPロックを獲得しなければな
らないか否かを示す。ページPロックはキャッシュされ
た状態がIXであるときに必要である。IXは、2つ以
上のシステムが更新のため同一のデータベースにアクセ
スする(更新は、全てのシステムに認められている)
が、それらのシステムはそのデータベースの異なるペー
ジにのみ並行してアクセスすることができることを示
す。従って、表2の最初の4行では、カラム4の実際の
ロックおよび構成を有するDBMSは、SESからその
ページを読み取らない。一方、最後の4行では、DBM
SはまずSESからページを獲得しようとし、ついで、
ページ獲得が成功しない場合は、DASDからページを
獲得しようとする。表2の第5行では、キャッシュされ
た状態がSIXであるとき、更新しているシステムはま
ずページを獲得するためストアを参照する。このシステ
ムが唯一の更新者(updater)になる前に、更新
されたページを他のシステムによりSESに書き込むこ
とができるか、あるいは、このシステムは局所でキャッ
シュされないページを書き込む。更新されたページに対
するバッファ管理方策であって、キャッシュされた状態
に基づき従うバッファ管理方策は、カラム7に与えられ
る。最後のカラムには、その関連するBMのロック終了
プロシージャを稼働し、そのロックを交渉する条件を挙
げる。最後のカラムでは、ISLCはシステム間ロック
競合を参照し、他方、RSOS−CHはRSOSの変更
を参照する。これらは条件C1 および条件C2 であり、
GLMのBMMロック表(図3)に挙げられている。
れたときのBMロック終了プロシージャでの処理ステッ
プを示す。
しいRSOSとに基づき計算された、新しいキャッシュ
された状態を示す。この表3は表2と関連させて読むべ
きであり、併せて、DBMSにより保持された実際のロ
ックを、キャッシュされた状態の変化により変化させる
ことができることを理解すべきである。さらに、キャッ
シュ状態のダウングレードにより、モード階層におい
て、1つのロックモードから次の低位のロックモードに
移行することを、表3を参照して理解すべきである。
されない新しいRSOSがGLMにより供給されたと
き、キャッシュされた状態がBMのロック終了処理によ
りアップグレードされることを意図している。これは、
データベースに対するBMデータベースPロックを保持
する任意のDBMSに対する大域ロック処理で、通常起
こることである。そのデータベースでは、別のDBMS
がそのデータベースPロックをダウングレードするか、
あるいは放棄する。従って、任意のDBMSがそのデー
タベースPロックを放棄するか、あるいはダウングレー
ドするとき、GLMは各DBMSに対して新しいRSO
Sを計算する。命名されたデータベースに対するデータ
ベースPロックを保持するDBMSに対して通信された
最後のRSOSにより新しいRSOSが制限されていな
い場合、そのDBMSは新しいRSOSを含むメッセー
ジで通知される。
レードを理解するため、表2を参照するとともに、次の
ことを参照されたい。すなわち、 1.第2カラムを「現キャッシュされた状態」と解釈
し、第3カラムを「新しいキャッシュされた状態」と解
釈する。
状態を用い、新しいキャッシュされた状態を見付ける。
状態を比較し、ページPロック、SESアクション、お
よびバッファ管理方策を処理する。例えば、その新しい
キャッシュされた状態がSIXである場合、このような
ロックはXモードで最早獲得されないので、ページPロ
ックは保持される。
プグレードされたとき、データベースに対する多重シス
テム共用が終了するので、SESの使用が中止されるこ
とに注意すべきである。したがって、SESのこのデー
タベースの変更されたページをディスクに書き込まなけ
ればならず、しかも、このデータベースの全てのページ
をSESから除去する必要がある
ープン法と、データベースに対するデータベースPロッ
クのDBMSによる獲得法および変更法を理解するため
のものである。まず、図7のDBMS1にて、トランザ
クション(TX)がデータベース(DB1)に対するL
ロックを獲得したことを示す要求がトランザクション
(TX)から受信される。そのトランザクションは、D
B1のページをローカルバッファに固定するようBMに
要求する。それに応答して、DBMS1のBMはDB1
をオープンし、固定ページ要求を満足する可能な限り最
低位のモードで、データベースPロックを要求する。図
7に示すように、固定ページプロシージャはISモード
のみを要求する。GLMに対する要求メッセージはデー
タベースの識別と、要求されたロックと、要求されたロ
ックモードと、BMに対するPロック終了プロシージャ
呼び出しとを含む。他のDBMSは、現在、DB1にア
クセスしていないと仮定すると、GLMはRSOSがヌ
ルであると計算し、要求されたロックの認可を要求され
ているモードに戻し、RSOSがヌルであることをBM
に通知する。今、BMはキャッシュされた状態値がSモ
ード、すなわち、DB1に対して更新システム間インタ
レストがないモードに等しいと計算する。このDB1に
対する制御ブロックのSDフィールドがリセットされ、
次のことを示す。すなわち、ページがDASDから獲得
されようとしており、要求されたページがローカルバッ
ファにDASDからのreadオペレーションにより固
定されたことを示す。
るページのレコードに対する更新ロックを獲得したと仮
定する。それに関して、トランザクションは、更新の意
図と、そのページのIDをBMに通知するBM“set
write”プロシージャを開始する。その更新プロ
シージャの実行を許可するため、BMはBMが保持する
データベースPロックのモードをアップグレードしなけ
ればならない。図7を説明する。BMは、IXモードの
データベースPロックに対する変更呼び出しをロックマ
ネージャに要求し、そのロック名と、要求されたモード
を送信する。再び、他のシステムはこのデータベースに
対してインタレストを有しないものと仮定する。GLM
はRSOSがヌルであると計算し、そのロックテーブル
に適正にエントリし、命名されたPロック(IXモー
ド)の認可をRSOSのヌル値とともに戻す。IXモー
ドの認可と、RSOSのヌル値とに応答して、BMはキ
ャッシュされた状態モードがXであると計算する。表2
に示すアップグレード力学を維持すると、BMはデータ
ベースPロックをXモードにアップグレードする要求を
直ちに行う。Xモードに対するデータベースPのアップ
グレードはデータベースに対するシステム間インタレス
トがない場合に認可される。BMおよびGLMでは、B
Mにより保持されているデータベースPロックはXモー
ドであり、他方、BMでは、キャッシュされた状態はX
であり、SDフィールドがリセットされ、しかも、BM
は、Xのキャッシュされた状態に応答して、非強制方策
に従うことになる。このシーケンスに従うと、BM1は
要求トランザクションに戻り、writeプロシージャ
の続行を許可する。更新が完了すると、更新されたペー
ジはこのデータベースに対するダーティページリストに
置かれる。他の幾つかの判定基準のアクティビティが欠
けるか、満足されない場合、DB1のクローズが開始さ
れると仮定すると、BMは、データベースのキャッシュ
された状態により暗に示されるような非強制方策を用い
て、このデータベースに対するダーティページを全てそ
のバッファからキャストする。一度、ダーティページが
DASDに書き込まれ、しかも、DB1にさらにアクテ
ィビティがない場合、DB1のページはローカルキャッ
シュから除去され、データベースPロックは、BMとL
LM/GLMの間でロック解放要求を発行することによ
り放棄される。
からSIXまたはIXモードにダウングレードするため
に用いられる方法の擬似コードインプリメンテーション
を示す。この処理はDBMS1のBMのロック終了にあ
る。GLMに向けられたその後のロック要求が、ロック
終了が完了するまで延期されるので、その点で、LLM
/GLMロック終了はデータベースPロックに対するそ
の後のロック要求を逐次化することがアサートされる。
システム間ロック競合が起こるので、そのロック終了は
DBMS1のLLMへのメッセージによりトリガされ
る。そのメッセージは資源名と、RSOSの新しい値を
含む。このような競合は、例えば、ISまたはIXモー
ドのデータベースPロックに、DBMS2がデータベー
スreadまたはデータベース更新オペレーションを行
うことを要求したときに生じる。一度、データベースP
ロックがSIX/IXにダウングレードされると、その
データベースはストア従属になる。その場合、更新を行
うDBMSは強制バッファ方策に従い、読み取りを行う
DBMSはまずページがSESにある(そのページが局
所的にキャッシュされていないか、あるいはそのバッフ
ァが無効にされている)かどうかを調べ、ページがスト
アにない場合はDASDからページを獲得する。
似コードで示す。その論理は、(データベースを読み取
る)ISモードか、あるいは(そのデータベースを更新
する)IXモードのデータベースPロックを獲得し、他
方、DBMS1はXモードのデータベースPロックを保
持する。パート1では、「DB1に対するストア従属変
換ロック」と呼ばれるロック(データベースPロックと
は異なるロック)は、その意図が読み取りのみである場
合、SモードでDBMS2により獲得され、その意図が
データベースの更新である場合、Xモードで獲得され
る。ストア従属変換ロックの目的は、そのプロセスをD
BMS2で逐次化することにある。そのプロセスはDB
MS2のPロック終了によりPロックを獲得する。DB
MS2のPロック終了は、キャッシュされた状態をDB
MS2がデータベース制御ブロックでマークする前に、
DBMS3のデータベースロック要求により呼び出され
るかもしれない。
ISモードのロックを要求している場合は、DBMS1
はそのデータベースPロックをXモードからSIXモー
ドにダウングレードする。DBMS2がIXモードのロ
ックを要求している場合、DBMS1はそのロックをI
Xモードにダウングレードする。そのデータベースPロ
ックのダウングレードに暗に含まれていることは、デー
タベースを非ストア従属からストア従属に変換すること
である。ダウングレードに備えるため、DBMS1は影
響されたデータベースに対するダーティページリスト上
のページをDASDに書き込む。この書き込みを行うた
め、DBMS1はステップ151でそのリストをラッチ
し、そして、ステップ152−157を備えるループを
実行し、各ページをそのリストにラッチし、しかも、各
ページをローカルwriteページリストに移動する。
それらのページが全てwriteページリストに転送さ
れると、ステップ158そのページをwriteするD
ASD writeI/Oプロセスを開始する。全ての
ページがDASDに書き込まれると、「データベース変
換」ログレコードは、データベースPロックがダウング
レードされる前に、強制的にDBMS1のログに入れら
れる。ステップ160では、データベースPロックは必
要なグレードにダウングレードされる。その後、ロック
終了プロシージャはダーティページリストのラッチを解
放し、書かれたページを全てクリーンであるとマーク
し、ページ更新の必要がある全てのトランザクションを
レジュームする。
PロックをXモードからダウングレードする方法を示
す。図8を説明する。最初に上左部から開始する。DB
MS1のBM1はDB1のデータベースPロック(Xモ
ード)を保持する。DB1のキャッシュされた状態はX
であり、非ストア従属である。DBMS2のトランザク
ションTxはDB1に対するLロックを獲得し、しか
も、BM2にデータベースのページ固定を要求する。B
M2に対する要求はGLMに対して行われ、ISモード
のDB1−Pロックを要求する。GLMはそのロックテ
ーブルを検査し、その要求に応じてシステムロック競合
が生じ、その競合によりLLMがBM1のPロック終了
を呼び出すかを判定する。それに応答して、BM1のP
ロック終了は表4のパート2の擬似コードを実行する。
そして、そのPロック終了はPロックのダウングレード
を要求する。その要求が認可され、キャッシュ状態およ
びPロックモードがSIXにセットされ、しかも、DB
1に対する制御ブロックのSDフラグがセットされる。
Pロック終了はLLM/GLMに戻る。GLMはSIX
のRSOSを戻すDBMS2ロック要求を認可する。
今、DBMS2はISモードのPロックを所持し、その
キャッシュされた状態をISにセットし、DB1制御ブ
ロックのSDフラグをセットする。
保持されるとき、DBMS1のデータベースPロックを
解放するために用いられる方法を擬似コードで示す。表
5では、そのプロセスは、XモードのデータベースPロ
ックに対するDBMS2の要求によりトリガされ、デー
タベースの更新を行う。本発明者は次のことを意図して
いる。すなわち、データベースアプリケーションが排他
的にそのデータベースの制御を行うとき、例えば、対応
するデータベースLロックが既にXモードで要求アプリ
ケーションにより保持されているときのようなとき、D
BMS1がXモードのデータベースPロックのみを要求
することを意図している。表5では、ロックが競合状態
にあるためデータベースPロックを解放することをDB
MS1に通知する。一度、データベースPロックがXモ
ードでDBMS2に認可されると、データベースは非ス
トア従属モードのままである。
Xモードでデータベースに対するストア従属変換ロック
を獲得し、XモードのデータベースPロックを獲得し、
「データベースオープン」ログレコードを強制的にログ
データセットに書き込む。このログデータセットは、そ
のデータベースが非ストア従属であり、しかも、そのロ
ーカルバッファの制御ブロックの非ストア従属を、Pロ
ックおよびキャッシュ状態モードとともにマークする。
つぎに、このデータベースに対するストア従属変換ロッ
クが解放され、他のDBMSにPロック要求を許可す
る。
ベースPロックの解放法を説明する。パート2では、D
BMS1がXモードのデータベースPロックを保持して
いる場合、DBMS1はこのデータベースに対するダー
ティページを全てローカルバッファからDASDに書き
込み、他にバッファリングされているデータベースのペ
ージを除去する。Sモードのロックが保持されている場
合は、その影響されたデータベースに対してキャッシン
グされたページはそのローカルバッファから除去され
る。そして、そのデータベースPロックが解放される。
そのロックが解放されると、DBMS1はそのロックを
獲得するまで、そのデータベースにアクセスすることが
できない。表6はDBMS1でそのデータベースPロッ
クをSからISモードにダウングレードすることを示
す。表6のプロセスはIXモードのデータベースPロッ
クに対するDBMS2の要求によりトリガされ、データ
ベース更新オペレーションを行う。GLM/LLMはロ
ック競合をDBMS1のPロック終了プロシージャに通
知する。表3に示す第6ラインが必要とするように、R
SOSがIXであるとき、データベースPロックをSか
らISにダウングレードすることは、そのデータベース
がストア従属であることを意味する。また、表6は、D
BMS1がISモードのデータベースPロックを保持
し、そのキャッシュ状態がSにセットされている場合に
用いられる。この条件では、DBMS1のPロック終了
に、RSOS状態の変化が通知される。
Xモードのストア従属変換ロックをGLMから獲得す
る。そして、DBMS2はIXモードのデータベースP
ロックを要求する。認可された場合(ライン302)、
BMはRSOSを検査し、そのロックをSIXにアップ
グレードし、DBMS2は「データベースオープン」ロ
グレコードをそのログデータセットに書き込む。「デー
タベースオープン」ログレコードは、データベースがス
トア従属であり、キャッシュ状態を制御ブロックに入力
する間、そのデータベースに対する制御ブロックにその
ストア従属フラグをセットする。そして、そのストア従
属変換ロックが解放され、処理がDBMS2で続行され
る。
ロック競合の通知か、あるいはRSOSの変化の通知を
受信すると、ストア従属フラグをデータベース制御ブロ
ックにセットし、データベースPロック状態をISに変
化させ、(必要である場合)そのPロックをSからIS
にダウングレードする。
ードにより、データベースが「ストア従属」であるか否
かが正確に示されように、そのデータベースPロックを
管理することにより、BMはある成果を得ることができ
る。本発明者は、「ストア従属」に従って、DBMSが
readまたはwriteのためにSESを用いている
か否かのセンスを送ることを意図する。ストア従属性を
データベースPロックにより追跡する主な理由は、SE
Sのハード障害に起因して、そのデータベースのデータ
が利用できなくなる時間を軽減することにある。ハード
障害が生じると、DBMSはこのデータベースに対する
データベースPロックが保持されるモードに関し、LL
M/GLMに照会し、この照会により、データベースが
ストア従属か否かを直ちに判定することができる。ロッ
クがIXまたはSIX状態で任意のBMにより保持され
ている場合、BMはコミット時強制方策に従い、更新さ
れたページをSESに書き込む。この点で、そのデータ
ベースはストア従属であり、そのデータベースが障害時
回復を必要としているとしてマークしなければならな
い。そうでない場合は、そのデータベースは非ストア従
属であり、SESの障害により影響されない。この判定
プロセスは「損害評価」と呼ばれている。データ利用可
能性の点から見ると、損害評価を直ちに実行して、他の
SESを利用できる場合は、他のSESを用いるべきで
あり、データベースの障害時回復を開始する。
データベースがストア従属か否かを正確に反映している
ことを確認するため、DBMSは、そのキャッシュ状態
をXからダウングレードする際と、データベースを「非
ストア従属」に変換する際と、ロックの紛失に直面した
ときにストア従属性を判定する際に、事前に幾つか注意
しなればならない。
ているDBMSが非強制管理方策を採用し、DASDか
らページを読み取り、DASDにページを書き込む。D
BMSがそのキャッシュ状態をXからダウングレードす
ると、SESをそのデータベースに対して用いることが
できるまで、2つのアクションを行わなければならな
い。まず、ダウングレードDBMSは「データベース変
換」ログレコードをそのログに書き込まなければならな
い。次に、SESの使用に対して変換する間、DBMS
は、そのデータベースのダーティページをDASDに書
き込むことにより、そのダーティページをそのローカル
バッファから除去しなければならない。
更新されると、最後の更新DBMSは、そのデータベー
スを「ストア従属」から「非ストア従属」に変換するこ
とを担当しなければならない。DBMSは、そのキャッ
シュされた状態を監視することにより、最後の更新して
いるシステムであるか否かを判定する。この点で、その
キャッシュされた状態がSIXまたはXである場合、D
BMSは最後の更新しているシステムであると決定す
る。
スPロックが紛失された場合、DBMSは既に説明した
ログレコードを用いて、そのデータベースが「ストア従
属」か否かを判定しなければならない。このため、次の
ログレコードが利用可能である。
ード: データベースが「ストア従属」か否かを通知す
る標識を用いて第1の更新時に書き込まれる。
ログレコード: 障害時回復可能であり、かつ、オープ
ンされてから任意の更新があったデータベースに対して
DBMSチェックポイント処理を行う間に書き込まれ
る。そのレコードはデータベースが「ストア従属」か否
かを表す標識を含む。
ド: 「非ストア従属」から「ストア従属」にデータベ
ースを変換するか、あるいはその逆に変換する際にBM
プロシージャにより書き込まれる。
ード: データベースのクローズ時に書き込まれる。
処理の間、その情報をタイムシーケンスでそのシステム
のログレコードから取り出すことにより、そのデータベ
ースがストア従属か否かを判定することが可能である。
データベースがストア従属である場合は、データベース
PロックはIXモードでそのシステムにより獲得される
であろう。他方、データベースが非ストア従属である場
合、データベースPロックはXモードで獲得されるであ
ろう。
のものであると仮定する。典型的なログの部分を、ログ
レコードを示す図6に示す。ログレコードはタイム順シ
ーケンスであると仮定する。ここで、各レコードのシー
ケンス部分はログシーケンス番号(”LSN”)により
表される。
スに変換する例である。このプロセスは、そのデータベ
ースのクローズが実行可能であるか、あるいは、データ
ベースPロックキャッシュされた状態をXにアップグレ
ード実行可能であるとき、最後の更新DBMSによりト
リガされる。表7では、DBMSは、Sモードのデータ
ベーストランザクションロックを獲得することにより、
複合システム全体のデータベースを更新するトランザク
ションを全て静止させる。次に、このデータベースに対
する変更された全てのページをSESから読み取り、D
ASDに書き込む。そして、ページはSESから除去さ
れ、可能な場合は、ローカルバッファから除去される。
しかも、このデータベースは最早ストア従属でないこと
を示す「データベース変換」ログレコードが書き込まれ
る。最後に、そのデータベースPロックモードがXに変
更される。そのXは、そのデータベースが非ストア従属
であるか、あるいは、データベースPロックが解放され
ることを示す。そのデータベーストランザクションロッ
ク(Lロック)が解放される。
障害時回復が必要なデータベースを判定しなければなら
ない。表8は、SES障害により影響されたデータベー
スに、「論理回復保留中」を表すフラグを付加する擬似
コードを示す。このフラグは回復プロセスを通知し、デ
ータベース上で回復処理を行い、回復が完了するまで、
トランザクションがそれらのデータベースにアクセスで
きないようにする。表8はそのデータベースPロックが
紛失されないと仮定するとともに、GLMはどのデータ
ベースがIXおよびSIXロックに左右されるかを通知
することができると仮定する。勿論、これらのデータベ
ースはストア従属であり、回復に対する候補である。
が紛失されたとき、各DBMSはログレコードを用い
て、データベースがストア従属か否かを判定しなければ
ならない。この情報をログレコードからタイムシーケン
スでそのシステムで取り出すことにより、データベース
がストア従属か否か、従って、回復に対する候補か否か
を判定することができる。
明の精神および範囲を逸脱することなく、形式および詳
細を変更することができることは、当業者にとって当然
のことである。
上記のように構成したので、DBSDベースの外部記憶
に共用アクセスし、かつ、高速電子キャッシュに共用ア
クセスする多重DBMS環境において、データのコヒー
レンシを維持することができ、その上、全域ロッキング
のオーバヘッドを軽減することができる。
すブロック図である。
示す流れ図である。
す図である。
す図である。
されるデータ構造を示すブロック図である。
エントリを有するDBMSログを示す図である。
ム間インタレストを確立し、保持し、変更することが要
求される処理ステップを示す流れ図である。
要求に起因してシステム間インタレストが変更されるこ
とに応答して、1つのDBMSがそのデータベースロッ
クのモードを変更するときに実行されるDBMS処理ス
テップを示す流れ図である。
Claims (8)
- 【請求項1】 1つ以上のデータベースからのデータを
トランザクションに供給する複数のデータベース管理シ
ステム(DBMS)と、 該DBMSに接続され、1つ以上のデータベースを記憶
する直接アクセス記憶装置と、 前記DBMSに接続され、前記複数のDBMSにより高
速アクセスするためデータを一時的に記憶するための共
用ストアとを含むデータベースシステムにおいて、前記複数のDBMSに関してデータベースのコヒーレン
シを保持する方法であって 、指定されたデータベースからのデータを第1DBMSに
要求する第1トランザクションの 要求に応答して、 (1)前記指定されたデータベースを更新するためのト
ランザクション要求が他になければ、前記第1DBMS
にて、前記共用ストアのデータを調べることなく前記直
接アクセス記憶装置からデータを獲得し、前記第1トラ
ンザクションを実行するステップと、 (2)前記指定されたデータベースの更新を第2DBM
Sに要求する第2トランザクションの要求が前記第1ト
ランザクションの要求と並行して生じていると、 (2a)前記第1トランザクションによって要求された
データが前記共用ストアにある場合は、前記共用ストア
からデータを獲得し、ない場合は、前記直接アクセス記
憶装置からデータを獲得するステップと、 (2b)前記第2DBMSにて前記第2トランザクショ
ンを実行し、コミットするステップと、 (2c)前記第2トランザクションのコミットに同期し
て、前記第2トランザクションにより更新されたデータ
を前記第2DBMSから前記共用ストアに書き込むステ
ップとを備えたことを特徴とする方法。 - 【請求項2】 前記ステップ(2)において、前記第1
トランザクション要求は前記指定されたデータベースの
データを更新する要求であり、 前記ステップ(2a)は、前 記第1DBMSに対して、前記指定されたデータベー
スのデータオブジェクトを排他的にロックするステップ
と、前 記データオブジェクトが前記共用ストアにある場合、
前記共用ストアから前記データオブジェクトを獲得し、
前記データオブジェクトが前記共用ストアにない場合、
前記直接アクセス記憶装置からデータオブジェクトを獲
得するステップと、獲得したデータオブジェクトに対し前記第1DBMSに
て前記第1 トランザクションを実行しコミットするステ
ップと、前記第1トランザクション のコミットに同期して、更新
されたデータオブジェクトを前記共用ストアに書き込む
ステップと、 前記ロックを解除するステップと、 を含むことを特徴とする請求項1に記載の方法。 - 【請求項3】 前記ステップ(1)は、前記第1DBMSにて前記データを更新する ステップ
と、更新したデータを前記第1トランザクションのコミット
と非同期に前記直接アクセス記憶装置に書き込む ステッ
プとを含むことを特徴とする請求項1に記載の方法。 - 【請求項4】 前記ステップ(2c)は、前記第2DB
MSのデータの更新を他の全てのDBMSに通知するス
テップをさらに含むことを特徴とする請求項1に記載の
方法。 - 【請求項5】 前記ステップ(1)において、前記指定
されたデータベースへのアクセス要求が他のDBMSか
ら出されると、前記第1DBMSから前記直接アクセス
記憶装置へ更新したデータを書き込むとともに、前記指
定されたデータベースの更新されていないデータを前記
第1DBMSから全て除去し、前記他のDBMSに前記
指定されたデータベースへのアクセスを認可する認可ス
テップを含むことを特徴とする請求項1に記載の方法。 - 【請求項6】 前記認可ステップは、前記他のDBMS
に共用アクセスを認 可するステップを含み、 さらに、 前記第1DBMSによるアクセスを共用アクセスに変更
するステップと、 前記他のDBMSにて、前記指定されたデータベースの
データを更新して前記共用ストアに書き込むステップ
と、 前記第1および他のDBMSにて、前記指定されたデー
タベースのデータを、前記共用ストアから獲得し、該共
用ストアにデータがない場合は前記直接アクセス記憶装
置から獲得するステップとを備えたことを特徴とする請
求項5に記載の方法。 - 【請求項7】 前記認可ステップは、共用アクセスを前
記データベースに認可し、前記指定されたデータベース
からページを読み取るステップを含み、さらに 、前記第1DBMSのアクセスを共用アクセスに変更する
ステップと 、前記第1DBMSにて、前記指定されたデータベースの
ページを前記ページをロックせずに獲得するステップ
と 、前記第1DBMSにて前記ページを更新し、その更新さ
れたページを前記共用ストアに書き込むステップと 、前記他のDBMSにて、前記指定されたデータベースの
ページを前記共用ストアから獲得し、該共用ストアにそ
のページがない場合は前記直接アクセス記憶装置から獲
得するステップと を含むことを特徴とする請求項5に記
載の方法。 - 【請求項8】 前記他のDBMSにて、前記指定された
データベースへのアクセスを放棄するステップと、前記第1DBMSのアクセスを排他的アクセスに変更す
るステップと 、前記第1DBMSにて、前記排他的アクセスの間、前記
直接アクセス記憶装置からデータを獲得するステップと
を含むことを特徴とする請求項6に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US869267 | 1992-04-15 | ||
US07/869,267 US5408653A (en) | 1992-04-15 | 1992-04-15 | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0683692A JPH0683692A (ja) | 1994-03-25 |
JP2721780B2 true JP2721780B2 (ja) | 1998-03-04 |
Family
ID=25353219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5050947A Expired - Fee Related JP2721780B2 (ja) | 1992-04-15 | 1993-03-11 | データベースアクセス方法およびシステム |
Country Status (2)
Country | Link |
---|---|
US (3) | US5408653A (ja) |
JP (1) | JP2721780B2 (ja) |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
US5870764A (en) * | 1993-05-12 | 1999-02-09 | Apple Computer, Inc. | Method of managing a data structure for concurrent serial and parallel revision of a work |
US5544345A (en) * | 1993-11-08 | 1996-08-06 | International Business Machines Corporation | Coherence controls for store-multiple shared data coordinated by cache directory entries in a shared electronic storage |
WO1995013583A1 (en) * | 1993-11-09 | 1995-05-18 | Conner Kenneth H | First come memory accessing without conflict |
US5581704A (en) * | 1993-12-06 | 1996-12-03 | Panasonic Technologies, Inc. | System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client |
CA2188154C (en) * | 1994-04-21 | 2000-08-29 | John Howard Foulston | Data storage |
US5574902A (en) * | 1994-05-02 | 1996-11-12 | International Business Machines Corporation | Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store |
US5577226A (en) | 1994-05-06 | 1996-11-19 | Eec Systems, Inc. | Method and system for coherently caching I/O devices across a network |
US5655077A (en) * | 1994-12-13 | 1997-08-05 | Microsoft Corporation | Method and system for authenticating access to heterogeneous computing services |
US5813010A (en) * | 1995-04-14 | 1998-09-22 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
US6009433A (en) * | 1995-04-14 | 1999-12-28 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
US5671390A (en) * | 1995-05-23 | 1997-09-23 | International Business Machines Corporation | Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media |
US5713017A (en) * | 1995-06-07 | 1998-01-27 | International Business Machines Corporation | Dual counter consistency control for fault tolerant network file servers |
EP0839353B1 (en) * | 1995-07-20 | 2001-09-26 | Novell, Inc. | Transaction synchronization in a disconnectable computer and network |
FI102788B (fi) * | 1995-09-14 | 1999-02-15 | Nokia Telecommunications Oy | Yhteisen levydatan hallinta kahdennetussa tietokoneyksikössä |
US5692182A (en) * | 1995-10-05 | 1997-11-25 | International Business Machines Corporation | Bufferpool coherency for identifying and retrieving versions of workfile data using a producing DBMS and a consuming DBMS |
US7168088B1 (en) | 1995-11-02 | 2007-01-23 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer system |
US5996075A (en) * | 1995-11-02 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer system |
US6574654B1 (en) * | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
US5870743A (en) * | 1996-06-24 | 1999-02-09 | Oracle Corporation | Method and apparatus for parallelizing operations that create a table |
JP3524270B2 (ja) * | 1996-06-24 | 2004-05-10 | 株式会社日立製作所 | 並列処理システム |
US5884324A (en) * | 1996-07-23 | 1999-03-16 | International Business Machines Corporation | Agent for replicating data based on a client defined replication period |
US5995972A (en) * | 1996-12-30 | 1999-11-30 | J.D. Edwards World Source Company | System and method for retrieving data |
JP3506584B2 (ja) * | 1997-05-02 | 2004-03-15 | パイオニア株式会社 | 情報検索装置及びナビゲーション装置における情報入力装置、並びに情報検索方法、並びにナビゲーション装置における情報入力制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 |
US6041384A (en) * | 1997-05-30 | 2000-03-21 | Oracle Corporation | Method for managing shared resources in a multiprocessing computer system |
US6012060A (en) * | 1997-05-30 | 2000-01-04 | Oracle Corporation | Sharing, updating data blocks among multiple nodes in a distributed system |
US6578120B1 (en) * | 1997-06-24 | 2003-06-10 | International Business Machines Corporation | Synchronization and resynchronization of loosely-coupled copy operations between a primary and a remote secondary DASD volume under concurrent updating |
US5895493A (en) * | 1997-06-30 | 1999-04-20 | Lsi Logic Corporation | Method and apparatus for storage of multiple host storage management information on a storage subsystem |
US6044438A (en) * | 1997-07-10 | 2000-03-28 | International Business Machiness Corporation | Memory controller for controlling memory accesses across networks in distributed shared memory processing systems |
US6092155A (en) | 1997-07-10 | 2000-07-18 | International Business Machines Corporation | Cache coherent network adapter for scalable shared memory processing systems |
US6108654A (en) * | 1997-10-31 | 2000-08-22 | Oracle Corporation | Method and system for locking resources in a computer system |
US6931430B1 (en) * | 1998-05-13 | 2005-08-16 | Thomas W. Lynch | Maintaining coherency in a symbiotic computing system and method of operation thereof |
US6148300A (en) * | 1998-06-19 | 2000-11-14 | Sun Microsystems, Inc. | Hybrid queue and backoff computer resource lock featuring different spin speeds corresponding to multiple-states |
US6189007B1 (en) * | 1998-08-28 | 2001-02-13 | International Business Machines Corporation | Method and apparatus for conducting a high performance locking facility in a loosely coupled environment |
US6185650B1 (en) | 1998-08-28 | 2001-02-06 | International Business Machines Corporation | High performance locking facility |
US6253274B1 (en) | 1998-08-28 | 2001-06-26 | International Business Machines Corporation | Apparatus for a high performance locking facility |
KR100420254B1 (ko) * | 1998-09-03 | 2004-05-31 | 엘지전자 주식회사 | 데이터베이스관리방법 |
US6223176B1 (en) * | 1998-09-25 | 2001-04-24 | International Business Machines Corporation | Method and computer program product for implementing highly concurrent record insertion in an ordinal number dependent database |
US6363396B1 (en) | 1998-12-21 | 2002-03-26 | Oracle Corporation | Object hashing with incremental changes |
US6792424B1 (en) | 1999-04-23 | 2004-09-14 | International Business Machines Corporation | System and method for managing authentication and coherency in a storage area network |
US6732137B1 (en) * | 1999-05-12 | 2004-05-04 | International Business Machines Corporation | Performance optimization for data sharing across batch sequential processes and on-line transaction processes |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
WO2000070417A1 (en) * | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
US6370528B1 (en) * | 1999-05-28 | 2002-04-09 | Unisys Corporation | High speed method for flushing data buffers and updating database structure control information |
US6751616B1 (en) | 2000-01-28 | 2004-06-15 | Oracle International Corp. | Techniques for DLM optimization with re-mapping responsibility for lock management |
US6529906B1 (en) | 2000-01-28 | 2003-03-04 | Oracle Corporation | Techniques for DLM optimization with re-mastering events |
US6920454B1 (en) | 2000-01-28 | 2005-07-19 | Oracle International Corporation | Techniques for DLM optimization with transferring lock information |
US7246120B2 (en) | 2000-01-28 | 2007-07-17 | Oracle International Corporation | Techniques for achieving higher availability of resources during reconfiguration of a cluster |
US6557082B1 (en) | 2000-03-30 | 2003-04-29 | International Business Machines Corporation | Method and apparatus for ensuring cache coherency for spawned dependent transactions in a multi-system environment with shared data storage devices |
US6704767B1 (en) * | 2000-09-26 | 2004-03-09 | Oracle International Corporation | Using distributed information about lock conversion requests to efficiently manage lock state transitions |
US6804672B1 (en) * | 2001-01-31 | 2004-10-12 | Oracle International Corporation | Method and mechanism for dependency tracking |
JP3640387B2 (ja) * | 2001-02-27 | 2005-04-20 | 独立行政法人理化学研究所 | レーザーアブレーションを用いた高分子の分析方法およびそのシステム |
CN1524222A (zh) * | 2001-07-06 | 2004-08-25 | ���������˼�빫˾ | 信息备份系统和方法 |
US7424496B1 (en) * | 2002-03-20 | 2008-09-09 | Applied Micro Circuits Corporation | Asymmetric coherency protection |
US7653667B2 (en) * | 2002-09-09 | 2010-01-26 | Sap Ag | Methods and systems for data moving using locks |
US7756813B2 (en) * | 2002-09-09 | 2010-07-13 | Sap Ag | Electronic data structure for controlling access to data objects using locks |
DE60315996T2 (de) * | 2002-09-09 | 2008-05-21 | Sap Ag | Verfahren und vorrichtung zur datenbewegung mittels sperren |
US7693881B2 (en) | 2002-09-09 | 2010-04-06 | Sap Ag | Methods and systems for moving data using locks |
US20060149696A1 (en) * | 2002-09-09 | 2006-07-06 | Thorsten Pferdekaemper | Method and systems for controlling access to a data object by means of locks |
US7457933B2 (en) * | 2002-09-09 | 2008-11-25 | Sap Ag | Methods and systems for archiving data |
US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US6968432B2 (en) * | 2003-05-16 | 2005-11-22 | International Business Machines Corporation | Method and system for altering a sequence number assignment pattern while preserving integrity and high concurrency in a multi-system shared disk environment |
US20050177557A1 (en) * | 2003-09-06 | 2005-08-11 | Oracle International Corporation | Automatic prevention of run-away query execution |
US7222117B1 (en) | 2003-11-14 | 2007-05-22 | Advent Software, Inc. | Segmented global area database |
US7379952B2 (en) * | 2004-01-30 | 2008-05-27 | Oracle International Corporation | Techniques for multiple window resource remastering among nodes of a cluster |
US20050171874A1 (en) * | 2004-01-30 | 2005-08-04 | Klaus Plate | System and method for apportioning commitment updates |
US7757226B2 (en) * | 2004-03-17 | 2010-07-13 | Oracle International Corporation | Method and mechanism for performing a rolling upgrade of distributed computer software |
JP2005273860A (ja) * | 2004-03-26 | 2005-10-06 | Jatco Ltd | 自動変速機の変速制御装置 |
US7523088B2 (en) * | 2004-03-31 | 2009-04-21 | International Business Machines Corporation | Method for increasing system resource availability in database management systems |
US7650360B2 (en) * | 2004-04-16 | 2010-01-19 | Microsoft Corporation | System and methods for database lock with reference counting |
US20050251523A1 (en) * | 2004-05-07 | 2005-11-10 | Oracle International Corporation | Minimizing downtime for application changes in database systems |
US7788285B2 (en) * | 2004-05-14 | 2010-08-31 | Oracle International Corporation | Finer grain dependency tracking for database objects |
JP4526337B2 (ja) * | 2004-09-15 | 2010-08-18 | 株式会社日立製作所 | データ管理システム及び方法 |
US20060106873A1 (en) * | 2004-11-18 | 2006-05-18 | International Business Machines (Ibm) Corporation | Selective clearing of persistent metadata in a storage subsystem |
US8676748B2 (en) * | 2004-11-18 | 2014-03-18 | International Business Machines Corporation | Clearing metadata tracks in a storage system |
US20060200469A1 (en) * | 2005-03-02 | 2006-09-07 | Lakshminarayanan Chidambaran | Global session identifiers in a multi-node system |
US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
US8370317B2 (en) * | 2005-09-22 | 2013-02-05 | Microsoft Corporation | Synchronizing shared resources in a collection |
US20070078852A1 (en) * | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Synchronizing shared resources in a collection |
US20070162455A1 (en) * | 2005-12-30 | 2007-07-12 | Walter Oney | System for and method of gathering complex structured information |
US8190742B2 (en) * | 2006-04-25 | 2012-05-29 | Hewlett-Packard Development Company, L.P. | Distributed differential store with non-distributed objects and compression-enhancing data-object routing |
US7788243B2 (en) * | 2006-09-08 | 2010-08-31 | Sybase, Inc. | System and methods for optimizing data transfer among various resources in a distributed environment |
US20080154842A1 (en) * | 2006-12-20 | 2008-06-26 | International Business Machines Corporation | Enhanced relational database management system and method |
US9342383B2 (en) * | 2007-12-28 | 2016-05-17 | Sap Se | Streaming operations for workflow process models using multiple views on a same buffer |
US20090260061A1 (en) * | 2008-04-14 | 2009-10-15 | Lynch Thomas W | Symbiotic network digital document layering and/or steganography method, article and apparatus |
US20110041446A1 (en) * | 2008-04-30 | 2011-02-24 | James Stephens | Shingle and Method of Using the Shingle |
US9141621B2 (en) | 2009-04-30 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Copying a differential data store into temporary storage media in response to a request |
US20100281077A1 (en) * | 2009-04-30 | 2010-11-04 | Mark David Lillibridge | Batching requests for accessing differential data stores |
JP5795582B2 (ja) * | 2009-07-31 | 2015-10-14 | サムスン エレクトロニクス カンパニー リミテッド | 統合ユーザインターフェース生成方法及びそれを行う装置 |
US8458217B1 (en) | 2009-08-24 | 2013-06-04 | Advent Software, Inc. | Instantly built information space (IBIS) |
US9171044B2 (en) * | 2010-02-16 | 2015-10-27 | Oracle International Corporation | Method and system for parallelizing database requests |
US8266102B2 (en) * | 2010-05-26 | 2012-09-11 | International Business Machines Corporation | Synchronization of sequential access storage components with backup catalog |
JP5505329B2 (ja) * | 2011-02-22 | 2014-05-28 | 日本電気株式会社 | ディスクアレイ装置及びその制御方法 |
US9189511B2 (en) * | 2011-09-07 | 2015-11-17 | Unisys Corporation | Free resources parameter for improving performance of database alterations |
US8769350B1 (en) | 2011-09-20 | 2014-07-01 | Advent Software, Inc. | Multi-writer in-memory non-copying database (MIND) system and method |
CN103814362B (zh) * | 2011-09-30 | 2016-06-15 | 国际商业机器公司 | 用于分布式kvs系统的处理方法和系统 |
US8332349B1 (en) | 2012-01-06 | 2012-12-11 | Advent Software, Inc. | Asynchronous acid event-driven data processing using audit trail tools for transaction systems |
US9836513B2 (en) * | 2012-03-12 | 2017-12-05 | Entit Software Llc | Page feed for efficient dataflow between distributed query engines |
US9396227B2 (en) * | 2012-03-29 | 2016-07-19 | Hewlett Packard Enterprise Development Lp | Controlled lock violation for data transactions |
US9928147B2 (en) * | 2012-09-28 | 2018-03-27 | Oracle International Corporation | Forceful closure and automatic recovery of pluggable databases in a shared-everything cluster multitenant container database |
US9519591B2 (en) * | 2013-06-22 | 2016-12-13 | Microsoft Technology Licensing, Llc | Latch-free, log-structured storage for multiple access methods |
US8886671B1 (en) | 2013-08-14 | 2014-11-11 | Advent Software, Inc. | Multi-tenant in-memory database (MUTED) system and method |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US9613078B2 (en) | 2014-06-26 | 2017-04-04 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
US10282228B2 (en) | 2014-06-26 | 2019-05-07 | Amazon Technologies, Inc. | Log-based transaction constraint management |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
US10733171B2 (en) * | 2018-04-03 | 2020-08-04 | Sap Se | Database lock management with cache-optimized hash table |
US10802973B1 (en) | 2019-07-01 | 2020-10-13 | Bank Of America Corporation | Data access tool |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4357635A (en) * | 1979-03-20 | 1982-11-02 | Ricoh Company, Ltd. | Disc memory apparatus |
US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
US4533995A (en) * | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
US4665520A (en) * | 1985-02-01 | 1987-05-12 | International Business Machines Corporation | Optimistic recovery in a distributed processing system |
JPS63289657A (ja) * | 1987-05-21 | 1988-11-28 | Nec Corp | 共用ファイルアクセス方式 |
US4965719A (en) * | 1988-02-16 | 1990-10-23 | International Business Machines Corporation | Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system |
US5043876A (en) * | 1988-05-27 | 1991-08-27 | International Business Machines Corporation | N-level file shadowing and recovery in a shared file system |
JPH0318935A (ja) * | 1989-06-15 | 1991-01-28 | Hitachi Ltd | データリストに対するアクセスの直列化方式 |
US5247672A (en) * | 1990-02-15 | 1993-09-21 | International Business Machines Corporation | Transaction processing system and method with reduced locking |
US5289588A (en) * | 1990-04-24 | 1994-02-22 | Advanced Micro Devices, Inc. | Interlock acquisition for critical code section execution in a shared memory common-bus individually cached multiprocessor system |
US5255387A (en) * | 1990-04-27 | 1993-10-19 | International Business Machines Corporation | Method and apparatus for concurrency control of shared data updates and queries |
JPH06342396A (ja) * | 1990-07-02 | 1994-12-13 | Internatl Business Mach Corp <Ibm> | 共有データのアクセスを直列化する方法及び装置 |
JPH04102140A (ja) * | 1990-08-22 | 1992-04-03 | Hitachi Ltd | システム間ファイル共用方式 |
US5276835A (en) * | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
US5287473A (en) * | 1990-12-14 | 1994-02-15 | International Business Machines Corporation | Non-blocking serialization for removing data from a shared cache |
US5265232A (en) * | 1991-04-03 | 1993-11-23 | International Business Machines Corporation | Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data |
US5280611A (en) * | 1991-11-08 | 1994-01-18 | International Business Machines Corporation | Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type |
US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
-
1992
- 1992-04-15 US US07/869,267 patent/US5408653A/en not_active Expired - Lifetime
-
1993
- 1993-03-11 JP JP5050947A patent/JP2721780B2/ja not_active Expired - Fee Related
-
1995
- 1995-01-03 US US08/367,631 patent/US5557792A/en not_active Expired - Fee Related
-
1996
- 1996-08-01 US US08/691,273 patent/US5761660A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5761660A (en) | 1998-06-02 |
JPH0683692A (ja) | 1994-03-25 |
US5408653A (en) | 1995-04-18 |
US5557792A (en) | 1996-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2721780B2 (ja) | データベースアクセス方法およびシステム | |
US5327556A (en) | Fast intersystem page transfer in a data sharing environment with record locking | |
CA2532054C (en) | Ownership reassignment in a shared-nothing database system | |
US8032488B2 (en) | System using virtual replicated tables in a cluster database management system | |
US6353836B1 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node | |
US5574902A (en) | Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store | |
US8635193B2 (en) | Cluster-wide read-copy update system and method | |
US5546579A (en) | Page refreshing procedure using two locking granularities to ensure cache coherency in a multisystem database processing environment having a high-speed shared electronic store | |
US7917596B2 (en) | Super master | |
Josten et al. | DB2's use of the coupling facility for data sharing | |
JPH04268649A (ja) | メモリへのデータブロックのエントリを制御する方法 | |
JPH05307530A (ja) | マルチプロセッサデータベース環境においてロック競合を減少させたレコードレベル共有方法 | |
EP1176509B1 (en) | Managing recovery of data after failure of one or more caches | |
AU2007202588B2 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071121 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091121 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091121 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101121 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101121 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 15 |
|
LAPS | Cancellation because of no payment of annual fees |