JPH07295871A - データベース・アクセス効率の向上方法及びシステム - Google Patents

データベース・アクセス効率の向上方法及びシステム

Info

Publication number
JPH07295871A
JPH07295871A JP7023143A JP2314395A JPH07295871A JP H07295871 A JPH07295871 A JP H07295871A JP 7023143 A JP7023143 A JP 7023143A JP 2314395 A JP2314395 A JP 2314395A JP H07295871 A JPH07295871 A JP H07295871A
Authority
JP
Japan
Prior art keywords
database
data processing
replica
processing system
primary
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.)
Granted
Application number
JP7023143A
Other languages
English (en)
Other versions
JP3600293B2 (ja
Inventor
Shii Azagiyuri Aran
アラン・シー・アザギュリ
Doreb Danny
ダニー・ドレブ
Goft German
ジャーマン・ゴフト
M Marburg John
ジョン・エム・マーバーグ
G Lanweiler James
ジェイムス・ジー・ランワイラー
Satran Jullian
ジュリアン・サトラン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07295871A publication Critical patent/JPH07295871A/ja
Application granted granted Critical
Publication of JP3600293B2 publication Critical patent/JP3600293B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 分散データ処理システム内でのデータベー
ス・アクセス効率を向上させる方法とシステムを提供す
る。 【構成】 分散データ処理システム内の1つまたは複
数のロケーションで実施される回復可能なデータベース
・システムにおいて、プライマリ・データベースとレプ
リカ・データベースとの間に維持される複数の多様な整
合性レベルが指定される。ユーザは各レプリカに適した
整合性レベルを選択できる。プライマリ・データベース
内のレコードに対するアップデートがあると、各レプリ
カ内の対応するレコードに対するアップデートは、各レ
プリカに対して選択された整合性レベルに一致する方法
で行われる。これにより、プライマリ・データベースと
完全に整合性のあるレプリカが提供できる。あるいは、
完全に整合性のあるデータを必要としないアプリケーシ
ョンには、第2のレプリカを提供し、アクセス効率を向
上させることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、改善されたデータベー
ス・アクセス制御の方法に関し、具体的には、プライマ
リ・データベースと1つまたは複数のレプリカ・データ
ベースとの間の整合性を保つ改善された方法とシステム
に関する。より具体的には、本発明は、回復力のある
(resilient)データベース・システムにおいて、ユー
ザが、複数のレプリカ・データベースに付ける多様な整
合性レベルを選択出来る、改善された方法とシステムに
関する。
【0002】
【従来の技術】多目的のマルチプロセッシング・コンピ
ューティング・システムは、典型的には、通信網によっ
て相互接続された複数のノードを含む。そのようなシス
テムでは、各ノードは、データ処理装置、データ記憶装
置、および、複数の通信ポートを含むことができる。デ
ータ処理装置は、複数のオペレーテイングシステムの要
素の制御の下でのマルチプログラミング・モードで実行
している場合があり、この場合、データ処理装置は、複
数のノードとみなされる。典型的には、データ記憶装置
は、データファイル、オペレーティング・システムとそ
の情報管理要素、および、ユーザのアプリケーション・
プログラムをストアしている。
【0003】データは、企業にとっての重要な側面から
ビジネスを抽出した情報である。そのようなシステムで
のチャレンジは、ビジネスニーズに合った使用可能性、
パフォーマンスおよび費用でエンドユーザがデータにア
クセスできる方法で、システムのデータ記憶と通信資源
を使用することである。データへのアクセスは、データ
の整合性と完全性を確実にするために制御されなければ
ならない。分散データ処理システム環境でのデータアク
セスの付加的な特徴は、地理的および時間的親和性であ
る。
【0004】分散されたデータの構造の基礎は地理的親
和性である。或るデータ項目へのアクセスは、地理的に
まとまる傾向がある。データのダイナミックな複製方法
の基礎は時間的親和性である。最近アクセスされたデー
タ項目は、最近アクセスされなかったデータ項目より
も、近い将来においてアクセスされる可能性が高い。或
るデータ項目に対するアクセスがまとまる傾向があるノ
ードは、親和性ノードと呼ばれる。或るデータ項目に対
する親和性ノードは前もってわからず、また、そのノー
ドは時間によって変化する。
【0005】分散データ技術は、データのある場所(デ
ータロケーション)、データ共有(データシェアリン
グ)の度合い、通信網全体にわたって提供されるデータ
ベース制御の度合い、および、データアクセスの型の属
性にしたがって分類することができる。データロケーシ
ョンは、集中管理、分割化、または、複製化に分けられ
る。データシェアリングの度合いは、集中化、非集中
化、または、分散化に分けられる。データベース管理の
制御は、ユーザ提供のもの(分散データ)、または、シ
ステム提供のもの(分散データベース)に分けられる。
データアクセスは、トランザクション処理型、機能処理
型、または、データ処理型に分けられる。
【0006】歴史的には、集中管理型がデータベース記
憶とアクセスを管理するために使用されてきた。そのよ
うな処理手法においては、データ管理とアプリケーショ
ン処理が集中管理される。単一のデータベース・マネー
ジャーが使用され、ユーザを中央システムに接続するた
めにテレプロセッシング通信網が使用される。集中処理
手法の変形として、処理の或るものが、通信網の中のノ
ードに分散される。しかし、データは集中管理される。
【0007】データベースの集中管理手法の利点は、以
下の通りである。(1)データベースの整合性が単一の
データベース・マネージャーによって確実にできるこ
と、(2)すべてのアプリケーション・プログラムが単
一のアプリケーション・プログラミング・インターフェ
ースにしたがって作成することができ、すべてのデータ
が1つのロケーションにストアされているので、アプリ
ケーション・プログラムはデータロケーションを承知し
ていなくてもよいこと、(3)集中データ処理環境での
データ管理の問題を解決できる多くの有効なツールがあ
ること、(4)単一システムは、操作し、維持し、制御
するのがより容易であること。
【0008】しかし、データベースの集中処理手法に
は、いくつかの不利な点がある。すなわち、(1)ある
企業にとっては通信コストが高くつき、アプリケーショ
ン・プログラムの性能が通信遅延のためにさがること、
(2)データ使用可能性が通信網あるいは中央システム
の不安定性によって悪くなることがあり、これらの問題
はバックアップ・システムや通信網に冗長度を持たせる
ことによって解決されねばならないこと、(3)ある企
業にとっては、単一の中央処理システムの処理能力がす
でに限界に達していること。
【0009】分散データ処理システムのノードにデータ
を分散するには、一般的に2つの手法がある。これらの
手法とは、分割化と静的複製化である。分割データ手法
にはデータベースのプライマリ・コピーがないが、複製
化手法にはデータベースのプライマリ・コピーがある。
【0010】分割データベース手法は、データベースを
明確な区画に分割し、これらが、ノードに分散される。
したがって、あるデータ項目は、1つのノードにだけ存
在する。各ロケーションは、そのロケーションでデータ
を管理するデータベース・マネージャーを持つ。データ
分散マネジャーはアプリケーション・プログラムのデー
タ・リクエストを受け、データがそのロケーションすな
わちローカルに存在する場合はそのリクエストをローカ
ルリクエストにマップし、データが別のロケーションに
ある場合は、そのリクエストをリモートリクエストにマ
ップする。
【0011】分割された分散データベースでは、リクエ
ストされたデータがローカルに存在する場合には、良い
データ使用可能性とアクセス性能が得られる。さらに、
各データ項目が単一のデータベース・マネージャーによ
って管理されるので、データベースの整合性が容易に得
られる。よい分割アルゴリズムが前もってわかり、それ
が存在し、且つ、安定したものであるならば、これらの
結果を得ることができる。
【0012】上述した分割されたデータベースでは、複
数のロケーションでデータを変更するプログラムのため
に、システムが、通信網全体にわたる回復処理を提供し
なければならない。
【0013】分割されたデータベース・システムには、
また、以下の不利な点がある。(1)分割アルゴリズム
がデータアクセス・パターンに一致しない場合には、デ
ータの使用可能性と性能が落ちること、(2)アプリケ
ーション・プログラムが、データロケーション、あるい
は、少くともデータ分割アルゴリズムを承知していなけ
ればならず、また、データロケーションによってデータ
ベースを異なった方法でアクセスしなければならないこ
と、(3)データベース分割アルゴリズムを変更するこ
とは、データロケーションが各ノードのアプリケーショ
ン・プログラムの中、エクシット、または、デクラレー
ションに反映されているので、非常に難しいこと、
(4)各ノードにおける既存データの再配置とアルゴリ
ズムの変更は通信網全体にわたって同期して行われねば
ならず、したがって、最適な性能とデータの使用可能性
を維持するのに必要な分割アルゴリズムを調整すること
ができない場合があること、(5)分割されたデータベ
ース全体にわたって或るデータ項目を均一にアクセスす
るか、または、全データベースをアクセスしなければな
らないプログラムは性能とデータ使用可能性の低下を蒙
ること。
【0014】データを分散するための静的複製手法は、
中央ノードを含むか、または、含まない手法を含む。前
者の場合、中央ロケーションはデータベースのプライマ
リ・コピーをストアし、各ロケーションはデータベース
・マネジャーとデータベースのコピーを持つ。静的複製
手法の典型的な使用方法では、プライマリ・データベー
スがコピーされて各レプリカ・ロケーションすなわちノ
ードに送られ、各ノードでのローカル処理のためにデー
タが使用できるようになる。各レプリカ・ロケーション
で行われたデータ変更は、プライマリ・データベースに
対して後で処理を行うために集められる。アプリケーシ
ョン・プログラムが処理を行う間をぬって、ローカルで
行われたデータ変更が中央ロケーションに送られ、プラ
イマリ・データベースに対してアップデートが行われ
る。レプリカ・データベースを管理するこの手法は複数
回のアップデートを防ぐ手法を何も持たないので、プラ
イマリ・データベースに対する各アップデートを手作業
で発見して解決するか、あるいは、そのような複数回の
アップデートが起こらないようにアプリケーション・プ
ログラムを何らかの方法で制限しなければならない。プ
ライマリ・データベースがレプリカ・コピーのアップデ
ートに一致するようにした後、新しいコピーがレプリカ
・ロケーションに送られ、全プロセスが再び開始され
る。
【0015】プライマリ・コピーを中央ロケーションに
持つ静的複製の主要な利点は、すべてのデータがローカ
ルにアクセス可能であるので、高いデータ使用可能性と
良い応答時間が得られる。しかし、この方法には以下の
不利な点がある。(1)システムが複数回のアップデー
トを防ぐことができないのでデータベースの整合性を保
つことが難しく、静的レプリカのために実行可能なデー
タベース処理が厳しく制限されること、(2)システム
が、アプリケーション・プログラムのアクセスが必要と
する最新データを保証できないこと、(3)オペレーシ
ョン上の特別なプロシージャが、レプリカ・データの変
更を集めプライマリ・データベースをアップデートする
ために必要になり、このプロシージャを実行することは
高くつき、また、エラーを起こし易いこと、(4)デー
タのアップデートの間にはデータ伝送のために不必要に
大きいバンド幅を必要とし、確認のための十分大きなウ
ィンドウを提供することは多くのアプリケーションでは
実行不可能であり、レプリカがオペレーションの合間の
狭いウィンドウの中だけで送られるので、確認プロシー
ジャの間は、データベースが使用できなくなる可能性が
大きいこと。さらに、1つあるいは複数のノードが動作
不可能になった場合、予定されたウィンドウの中で確認
プロシージャが行えなくなる。
【0016】上述した静的複製の基本的な手法に関し
て、多くのさまざまな手法が文献に記載されている。た
とえば、複数回のアップデートが起こらないようにアプ
リケーション・プログラムを設計することができるし、
あるいは、レプリカは読み取りアクセスだけに制限する
こともできる。あるいは、アプリケーション・プログラ
ム自身が、後でプライマリ・ロケーションに送るために
アップデートを集め、プライマリ・ロケーションにおい
て、データベース・マネージャのログからこの情報を探
り出すようにすることもできる。レプリカ・ロケーショ
ンでは、全面的なレプリカまたは部分的なレプリカだけ
を形成することもできる。レプリカ・データベース全体
あるいは、保持されているデータへの変更のみを送るよ
うにすることができる。トランザクションによって行わ
れた変更を種々のノードに送り、トランザクション終了
処理の1部としてアクノレッジメントを受領することに
よって、レプリカの同期性を常に保つようにすることが
できる。そのような同期手法によって静的複製の整合性
の問題を解決するができる。しかし、これらの手法で
は、そのようなシステムの性能と使用可能性の利益の多
くを失う。
【0017】米国特許4,007,450号には、各ノードが他
のノードと或る種のデータセットを共有し、中央ロケー
ションには絶えず同期されるレプリカだけがあるがプラ
イマリ・コピーがない、分散データ制御システムが記載
されている。各ノードは、他のノードのいずれかがアッ
プデートしようとしていないかぎり、共有されたどのデ
ータセットをもアップデートするように作動し、複数の
ノードがアップデートしようとしているときには、高い
プライオリティーを持つノードがアップデートを行う。
各ノードはそのメモリに、共有された各データセットの
ノードロケーションと、共有された各データセットに対
して各ノードが持つアップデート・プライオリティーを
ストアしている。或るノードでデータセットがアップデ
ートされるとき、レプリカを持っているすべてのノード
にそのアップデートが送られる。上記のような手法は、
静的複製の整合性問題を解決することはできるが、性能
と使用可能性の利益の多くが失われる。
【0018】米国特許4,432,057号には、分散マルチプ
ロセシング・データベース・システムにおける資源の活
用を制御するための分散システム制御の下での、データ
のダイナミックな複製方法が記載されている。このシス
テムでは、指定された現在性(currency)を持つデータ
へのアクセスリクエストが許され、アップデートされた
データの確認が、各ノードにおいて実行される制御プロ
シージャを使用することによって選択的に行われる。こ
の場合、各ノードは、他ノードにおける共有データ項目
のステータスに関するそのノードの見方をあらわし各ノ
ードにファイルされているステータス・アンド・コント
ロール(status and control message:SAC)メッセージ
を使用する。このシステムでは、各データベース・リク
エストはインターセプトされ、ローカル・コピーが現在
性に対する要求を満たすかどうかが判断される。現在性
が満たされない場合、そのリクエストを実行する前に、
関連するノードと交渉を行うことが必要である。したが
って、レプリカ・データベースの現在性は、アクセス・
パターンに従ってダイナミックに変わる。
【0019】上記のことから、データ処理システムの1
つまたは複数のロケーションにおいて複製されるジャー
ナルされたデータベースを含む回復力のあるデータベー
ス・システムで使用し、それにより、各レプリカ・デー
タベース内で維持される整合性レベルを、任意に且つ選
択的に割り当てることができる方法とシステムの必要性
があることがわかる。
【0020】
【発明が解決しようとする課題】本発明の目的は、分散
データ処理システム内のデータベース・アクセス制御の
ための改善された方法を提供することである。
【0021】さらに、本発明の目的は、分散データ処理
システム内のプライマリ・データベースと1つまたは複
数のレプリカ・データベースとの間の整合性を維持する
ための改善された方法とシステムを提供することであ
る。
【0022】さらに、本発明の目的は、分散データ処理
システム内の回復可能なデータベース内部の複数のレプ
リカ・データベースに付す多様な整合性レベルをユーザ
が選ぶことができる、改善された方法とシステムを提供
することである。
【0023】
【課題を解決するための手段】上述の課題を達成する方
法を以下に述べる。分散データ処理システム内の1つま
たは複数のロケーションで実施されるジャーナルされた
データベースを含む回復可能なデータベース・システム
において、プライマリ・データベースとレプリカ・デー
タベースとの間で維持される整合性レベルをそれぞれ記
述する複数の多様な整合性レベルが指定される。ユーザ
は、各レプリカ・データベースのための具体的な整合性
レベルを選択することができる。その後、プライマリ・
データベースの中のレコードをアップデートすると、そ
のアップデートを使って、各レプリカ・データベース内
の対応するレコードに対して、そのレプリカ・データベ
ースに選択された整合性レベルと整合のとれる方法でア
ップデートが始まる。このようにして、プライマリ・デ
ータベースが故障した場合にもスムーズに切り替えが行
えるように、プライマリ・データベースと完全に整合性
のあるレプリカ・データベースを提供することもできる
し、また、完全に整合性のあるデータを必要としないア
プリケーションの照会に応答するためには第2のレプリ
カ・データベースを提供し、これにより、そのデータベ
ースに対するアクセスの効率を大きく向上させることも
できる。
【0024】
【実施例】図1に、本発明の方法とシステムを実施する
のに使用できる、分散データ処理システム8の概略図を
示す。分散データ処理システム8は、ローカルエリア・
ネットワーク(以下LANという)10および32のよ
うな複数のLANを持ち、各LANはコンピュータ12
および30のような複数の個々のコンピュータを持つこ
とが望ましい。もちろん、当業者には明らかなように、
各ネットワークには、ホストプロセサに接続された複数
のインテリジェント・ワークステーションを使用するこ
ともできる。
【0025】このようなデータ処理システムによく見ら
れるように、各コンピューターは記憶装置14および印
刷出力装置16を接続することができる。記憶装置14
は、本発明の方法とシステムにしたがい、分散データ処
理システム8のユーザによって定期的にアクセスされ処
理されるプライマリ・データベースまたはそのレプリカ
をストアするために使用される。公知の方法によって、
そのようなプライマリ・データベースまたはそのレプリ
カは記憶装置14にストアされ、データベースを維持し
アップデートする責任を持つリソース・マネジャーまた
はライブラリ・サービスと関連づけられる。
【0026】図1はさらに、分散データ処理システム8
が、メインフレーム・コンピュータ18のような複数の
メインフレーム・コンピュータを含み、それらが通信リ
ンク22によってLAN10に接続されていることを示
す。また、メインフレーム・コンピュータ18は、LA
N10の遠隔記憶装置としてはたらく記憶装置20に接
続されている。第2のLAN32が、ゲートウェイ・サ
ーバ28への通信制御装置26および通信リンク34を
介して、LAN10に接続されている。ゲートウェイ・
サーバ28は、LAN32をLAN10につなげる役割
をする別個のコンピュータあるいはインテリジェント・
ワークステーションであることが望ましい。
【0027】LAN32およびLAN10に関連して述
べたように、プライマリ・データベースまたはそのレプ
リカは記憶装置20内にストアされ、そのようにストア
されたプライマリ・データベースおよびそのレプリカに
対するリソース・マネジャーまたはライブラリ・サービ
スの役割をするメインフレーム・コンピュータ18によ
って制御される。
【0028】もちろん、当業者には明らかなように、メ
インフレーム・コンピュータ18はLAN10から地理
的に遠い距離に設置することができ、同様に、LAN1
0は、LAN32から相当な距離離れていてもよい。た
とえば、LAN32がカリフォルニア州にあり、LAN
10がテキサス州にあり、メインフレーム・コンピュー
タがニューヨークにあってもよい。
【0029】上述したことからわかるように、分散デー
タ処理ネットワーク8の或る1つの部分にいるユーザ
が、データ処理ネットワーク8の別の部分にストアされ
ているデータベースにアクセスしたいことがしばしばあ
る。そのようなクライアント/サーバ・システム環境で
は、データベース内にストアされたデータへのアクセス
は、いわゆる「回復可能な(resilient)データベース
・システム」を提供することによって増やすことができ
る。回復可能なデータベース・システムとは、分散デー
タ処理システム内の1つまたは複数のロケーションにお
いて複製化されている、ジャーナルされたデータベース
である。そのようなデータベースでは、1つのデータベ
ースがプライマリ・データベースとして、他の全てのデ
ータベースはバックアップ・レプリカとして指定され
る。回復可能なデータベース・システムは、故障が起こ
ったとき1つ前のポイントに回復する。すなわち、ここ
でいう故障とは、データベース・レプリカの1つが在る
コンピュータの故障、あるいは、レプリカの1つを破壊
するような媒体故障によって引き起こされる故障のこと
である。クラスター管理を行うことによって、アプリケ
ーション・プログラマおよびエンドユーザに透明で、プ
ライマリ・レプリカが故障したときにバックアップ・レ
プリカにスムーズに切り替えられる回復処理を提供する
ことができる。
【0030】高い使用可能性を持つデータベースを提供
するためにデータベースが複製化されているシステムに
おいては、そのようなシステムの自然な延長は、プライ
マリ・サーバのワークロードを軽減するために、ユーザ
がバックアップ・レプリカに照会できるようにすること
である。しかし、或る整合性が強制されていない限り、
レプリカ・データベースに対する照会トランザクション
は、コミットしていないトランザクションによってセッ
トされた値、あるいは、古い値を読んでしまう。あまり
重要でないアプリケーションではこれでも良いかも知れ
ないが、通常多くのアプリケーションは、プライマリ・
データベースとの最低レベルの整合性を必要とする。
【0031】このアプリケーションについて説明する目
的で、ここでは、「アプリケーション」という用語は、
ユーザによって始動されデータベース・オペレーション
を呼び出すアプリケーション・コードのことをいう。デ
ータベース・オペレーションを呼び出すために使用され
る多くの多様なアプリケーションが現在使用可能であ
り、そのようなアプリケーションは本発明の方法とシス
テムにとって修正する必要はない。典型的には、そのよ
うなアプリケーションがデータベース・オペレーション
を呼び出すときはいつでも使える「アプリケーション・
スタブ」も提供される。アプリケーション・スタブは呼
び出しをトラップし、その呼び出しを特別ルーチンにま
わす。このアプリケーション・スタブは一般的にクラス
ター管理によって提供され、その後、リクエストを、プ
ライマリ・データベースを制御する機械にわたす。故障
を回復するために必要などの回復ステップも、アプリケ
ーション・スタブによってアプリケーションから隠され
ている。
【0032】本発明の明細書で記述される「プライマリ
・エージェント」はプライマリ・データベースを制御す
る機械の上にあり、データベース・オペレーションを実
行するプロセスである。アプリケーション・プロセス1
つにつき、1つのプライマリ・エージェントがある。本
発明の方法とシステムで使用される「バックアップ・レ
シーバ」は、レプリカ・データベースへのアクセスを管
理する機械の上にあり、プライマリ・データベースにほ
どこされた変更を記述するジャーナル・エントリを受け
取り、それらのジャーナル・エントリをジャーナルのロ
ーカル・レプリカに記録するプロセスである。データベ
ースのレプリカを制御する各機械の上の1つのデータベ
ースに対して1つのバックアップ・レシーバ・プロセス
がある。「バックアップ・アプライア」は、レプリカ・
データベースを制御する機械の上にあり、データベース
のローカル・レプリカにジャーナル・エントリを付すプ
ロセスである。バックアップ・レプリカを制御する各機
械の上の1つのデータベースに対して1つのバックアッ
プ・アプライア・プロセスがある。
【0033】図2に、本発明の方法とシステムにしたが
い実施された回復可能なデータベース・システム内の、
典型的な書き込みオペレーションの制御フローの概略を
示す。図に示すように、ユーザ40はアプリケーション
42を使用し、スタブ・ルーチン44を呼び出し、プラ
イマリ・データベース46内でオペレーションを実行す
る。プライマリ・データベース46を制御する機械の中
のプライマリ・エージェント48がこのオペレーション
を実行する。この修正によって必要になったジャーナル
・エントリがジャーナル50内に挿入され、レプリカ・
データベース52内のバックアップ・レシーバ54、お
よび、レプリカ・データベース60のような他のレプリ
カ・データベースに広げられる。
【0034】バックアップ・レシーバ54はそれらのジ
ャーナル・エントリを受け取ったというアクノレッジメ
ントを返し、その後、それらのジャーナル・エントリを
そのジャーナルのローカルレプリカ(符号58に示すよ
うな)内に、随時非同期的に入れる。バックアップ・ア
プライア56は、ジャーナル58内にあるそれらのジャ
ーナル・エントリをレプリカ・データベース52内の対
応するレコードに付ける。これは、そのレコードをロッ
クし、アップデートし、その後、アンロックすることに
よって行われる。この方法によって、レプリカ・データ
ベース52とプライマリ・データベース46との間の整
合性を保つことができる。
【0035】したがって、バックアップ・アプライア5
6により、ユーザが直接レプリカ・データベース52か
らレコードを読んだ場合には部分的にしかアップデート
されていないレコードを読むのを防ぐことによって、最
低レベルの整合性を提供することができる。もちろん、
データベース読取りオペレーションに対する制御フロー
は、図2に示したものに似ている。しかし、ジャーナル
・エントリは生成されず、したがって、バクアップ・レ
シーバとバックアップ・アプライアは使用されない。図
2に示した環境は、たとえば、IBM AS/400の
ようなコンピュータ・システムを使用して実施すること
ができる。
【0036】次に、本発明の重要な特徴として、選択さ
れたレプリカ・データベースをユーザが使用する際にユ
ーザが選択する複数の多様な整合性レベルが提供され
る。回復可能なデータベース・システム内の同時実行に
ついては、「同時実行制御とデータベース・システムの
回復」("Concurrence Control and Recovery in Datab
ase Systems" Addison-Wesley Publishing Company, 1
987)に記載があり、複数バージョンの同時実行制御モ
デルが記述されている。このシステムにおいては、バッ
クアップ・レプリカ・データベースは常にプライマリ・
データベースより遅れ、したがって、データベースのバ
ージョンが2つできる。上記文献のシステムに対比し
て、本発明の方法とシステムは、考慮するべき2つの異
なる整合性属性を提供する。
【0037】具体的には、これらの2つの属性は、デー
タベース・システム内のトランザクションの順序付け
(ordering)と、これらのトランザクションの直列化可
能性(serializability)を含む。これらの2つの属性
はいくつかの方法で組み合わせることができ、その結果
6つの異なる整合性レベルができる。したがって、本発
明の重要な特徴にしたがい、レプリカ・データベースか
ら読み込む照会に対し、トランザクションの順序付けに
関して3つの異なる整合性レベルが考慮される。もちろ
ん、当業者には明らかなように、レコード・アップデー
トの後の整合性維持のために、最大時間遅れの値を指定
することができる。「レベル0」整合性レベルは、レプ
リカ・データベース内の古い値を使って照会することを
許す。「レベル1」整合性レベルは、レプリカ・データ
ベースから最新のコミットされた値だけを使って照会で
きるという整合性を課す。最後に、「レベル2」整合性
レベルは、その値がコミットに達したか否かに拘わら
ず、レプリカ・データベースからの最新の値だけを使っ
て照会するという整合性を課す。
【0038】次に、上述したように、所望の整合性レベ
ルを割り当てるために、本発明の回復可能なデータベー
ス・システム内のトランザクションの直列化可能性につ
いて考慮しなければならない。この属性によって、現実
には同時にインターリーブして実行されたトランザクシ
ョンが、或る直列順序で実行されたのと論理的には等し
い効果を持たせることを保証する。回復可能なデータベ
ース・システムは、コミットメント制御の下で動くアプ
リケーションが、コミットメント制御の下にない他のア
プリケーションと同時に同じデータベースに対して動く
ことを許す。したがって、異なるアプリケーションは、
直列化可能性を必要としてもしなくても良いことが考え
られる。したがって、本発明の回復可能なデータベース
・システム内のレプリカ・データベースにユーザまたは
システム管理者が異なる多様な整合性レベルをセットす
ることを許すとき、整合性レベルを制御するために2つ
の異なる変数がセットされなければならない。順序付け
は、「レベル0」、「レベル1」、あるいは「レベル
2」にセットされる。さらに、直列化可能性は「必要」
あるいは「不要」にセットされる。
【0039】図3に、本発明の方法とシステムによる回
復可能なデータベース内での複数の多様な整合性レベル
のセットを説明する論理フローの概略図を示す。図示し
たように、このプロセスは、ブロック70で始まり、ブ
ロック72に進む。ブロック72で、整合性レベルの選
択が行われたかどうかが判断される。Noの場合、この
プロセスは、ユーザまたはシステム管理者が回復可能な
データベース・システム内のレプリカ・データベースの
整合性レベルをセットしたいという意志表示を示すま
で、繰り返される。
【0040】ブロック72で整合性レベルの選択が行わ
れた場合、プロセスはブロック74に進む。ブロック7
4は、本発明の回復可能なデータベース・システム内の
最初のレプリカ・データベースに対するプロセスを示
す。次にプロセスはブロック76に進む。ブロック76
で、プロセスは、ユーザあるいはシステム・オペレータ
が所望の整合性レベルをセットすることを促す。次に、
プロセスはブロック78に進む。ブロック78で、所望
の整合性レベルが入れられたかどうかが判断され、No
の場合は、プロセスは繰り返しブロック76に戻り、再
度所望の整合性レベルを入れるように促す。
【0041】ブロック78で所望の整合性レベルが入れ
られたと判断されれば、プロセスはブロック80に進
む。ブロック80で、直列化可能性の要求があるかどう
かをユーザあるいはシステム・オペレータに促す。すな
わち、インターリーブされて実行されたトランザクショ
ンが、或る直列順序で実行されたのと論理的に等しいも
のとしたいかどうかを、ユーザあるいはシステム・オペ
レータに意志表示してもらう。次に、プロセスはブロッ
ク82に進む。ブロック82で、ユーザが直列化可能性
要求を入れたかどうかを判断し、Noの場合は繰り返し
ブロック80に戻り、再度、このデータベースに対する
直列化可能性要求があるか否かを入れるようにユーザに
促す。ユーザが直列化可能性要求を入れた後、プロセス
はブロック82からブロック84に進む。ブロック84
で、整合性レベルを付けるべきレプリカ・データベース
がまだあるかどうかを判断し、以上のプロセスで整合性
レベルを付けたレプリカ・データベースが最後のレプリ
カでない場合には、プロセスは繰り返しブロック76に
戻り、再度上述したプロセスを実行する。ブロック84
がYesの場合、すなわち、最後のレプリカ・データベ
ースに所望の整合性レベルが付けられた場合は、プロセ
スはブロック86に進みリターンする。
【0042】図4から図10に、本発明の方法とシステ
ムによる回復可能なデータベース・システム内で、レコ
ード・アップデートが行われた後の、複数の多様な整合
性レベルを実行する方法を示すフローチャートの概略図
を示す。図4に示すように、プロセスはブロック90か
ら始まる。次に、プロセスはブロック92に進み、レコ
ード・アップデートが起こったかどうかを判断する。レ
コード・アップデートがまだ起こっていない場合、この
プロセスは、プライマリ・データベースにレコード・ア
ップデートが起こるまで繰り返される。次に、レコード
・アップデートが起こったときに、プロセスはブロック
92からブロック94に進む。
【0043】ブロック94は、本発明の回復可能なデー
タベース・システム内の各レプリカ・データベースに対
して繰り返して行われるプロセスの始まりを示す。プロ
セスはブロック94からブロック96に進む。ブロック
96で、所望の整合性レベルが「レベル0」にセットさ
れたかどうかが判断される。Yesであれば、プロセス
はブロック98に進む。ブロック98で直列化可能性が
要求されているかどうかが判断され、Yesの場合、プ
ロセスは、図4のコネクタ100を介して図5の論理フ
ローに進む。そうでない場合、すなわち、直列化可能性
が不要であった場合、プロセスは、図4のコネクタ10
2を介して図6の論理フローに進む。
【0044】再びブロック96に戻り、所望の整合性レ
ベルが「レベル0」にセットされなかった場合は、プロ
セスはブロック104に進む。ブロック104で、所望
の整合性レベルが「レベル1」にセットされたかどうか
が判断される。Yesであれば、プロセスはブロック1
04からブロック106に進み、再度、直列化可能性が
要求されているかどうかが判断される。直列化可能性が
要求されている場合には、プロセスは、図4のコネクタ
108を介して図7の論理フローに進む。そうでない場
合、すなわち、直列化可能性が不要であった場合、コネ
クタ110を介して図8の論理フローに進む。
【0045】再びブロック104に戻り、所望の整合性
レベルが「レベル1」でない場合、プロセスはブロック
104からブロック112に進む。ブロック112で、
このレプリカ・データベースに対する所望の整合性レベ
ルが「レベル2」にセットされたかどうかが判断され、
もしYesであれば、プロセスはブロック112からブ
ロック114に進む。前と同じように、ブロック114
で直列化可能性が要求されたかどうかが判断され、Ye
sの場合、プロセスはコネクタ116を介して図9の論
理フローに進む。Noの場合、すなわち、直列化可能性
が不要であった場合、プロセスはブロック114からコ
ネクタ118を介して図10の論理フローに進む。最後
に、再びブロック112で、所望の整合性レベルが「レ
ベル2」でない場合、プロセスはブロック120に進み
リターンする。
【0046】図5に、レプリカ・データベース内で整合
性「レベル0」が選択され直列化可能性が要求されたレ
コードに対応するレコードにレコード・アップデートが
行われた場合に起こる論理フローの順序を示す。図5か
ら図10のそれぞれには、番号130、132、13
4、および、136を付けた4つのカラムがある。それ
ぞれの場合において、カラム130はプライマリ・デー
タベ ースに起こるアクティビティを示す。カラム13
2はジャーナル・エントリのフローを示し、カラム13
4は考慮対象の特定のレプリカ・データベース内のバッ
クアップ・レシーバに起こるアクティビティを示す。最
後に、カラム136は、レプリカ・データベース内のバ
ックアップ・アプライア(図2を参照)のアクティビテ
ィを示す。
【0047】したがって、図5のカラム130を見る
と、ブロック150に、レコードR1に対するアップデ
ートU1を含むトランザクションT1が示されている。
この結果ジャーナル・エントリ(JE1)が作られ、こ
れがバックアップ・レシーバに送られる。次に、バック
アップ・レシーバはアクノレッジメントをプライマリ・
データベースに送り、ジャーナル・エントリ(JE1)
を、レプリカ・データベースにあるローカルジャーナル
に入れる。次に、バックアップ・アプライアはレコード
R1をロックし、ジャーナル・エントリ(JE1)を付
ける。
【0048】次に、ブロック152に、レコードR2に
対するアップデートU2を含むトランザクションT2が
示されている。この結果ジャーナル・エントリ(JE
2)が作られ、これがバックアップ・レシーバに送られ
る。次に、バックアップ・レシーバはアクノレッジメン
トをプライマリ・データベースに送り、ジャーナル・エ
ントリ(JE2)をローカル・ジャーナルに入れる。そ
の後、バックアップ・アプライアはレコードR2をロッ
クし、ジャーナル・エントリ(JE2)を付ける。
【0049】次に、ブロック154に、レコードR3に
対するアップデートU3を含むトランザクションT1を
示す。このトランザクションの結果第3のジャーナル・
エントリ(JE3)が作られ、これがバックアップ・レ
シーバに送られる。バックアップ・レシーバは再度アク
ノレッジメントを送り、このジャーナル・エントリをロ
ーカルジャーナルに入れる。次に、バックアップ・アプ
ライアはレコードR3をロックし、ジャーナル・エント
リ(JE3)を付ける。
【0050】最後に、ブロック156に、トランザクシ
ョンT1のためのコミット・オペレーションを示す。こ
のトランザクションの結果、ジャーナル・エントリ(J
E4)が作られ、バックアップ・レシーバに送られる。
バックアップ・レシーバはアクノレッジメントをプライ
マリ・データベースに送り、ジャーナル・エントリ(J
E4)をローカルジャーナルに入れる。次に、バックア
ップ・アプライアはレコードR1とR3に対するロック
をリリースする。
【0051】図6は、整合性レベルを「レベル0」にセ
ットし直列化可能性を不要にしたレプリカ・データベー
ス内のレコードにアップデートをした結果起こる論理フ
ローを示す。説明を簡単にするために、図6から図10
のカラムおよびトランザクションは、図5に使ったもの
と同じ番号を使用している。上述したのと同じように、
プロセスは、レコードR1に対するアップデートU1を
含むトランザクションT1を示すブロック150から始
まる。このトランザクションの結果、ジャーナル・エン
トリ(JE1)が作られ、これがバックアップ・レシー
バに結合される。アクノレッジメントがバックアップ・
レシーバからプライマリ・データベースに送られ、ジャ
ーナル・エントリ(JE1)がローカル・ジャーナルに
入れられる。次に、バックアップ・アプライアはレコー
ドR1をロックし、ジャーナル・エントリ(JE1)を
付ける。その後、直列化可能性が不要なので、バックア
ップ・アプライアはレコードR1をリリースする。
【0052】ブロック152に、レコードR2に対する
アップデートU2を含むトランザクションT2を示す。
このトランザクションの結果ジャーナル・エントリ(J
E2)が作られ、これがバックアップ・レシーバに送ら
れる。バックアップ・レシーバはアクノレッジメントを
プライマリ・データベースに送り、ジャーナル・エント
リ(JE2)をローカルジャーナルに入れる。次に、バ
ックアップ・アプライアはレコードR2をロックし、ジ
ャーナル・エントリ(JE2)を付け、その後、レコー
ドR2をリリースする。
【0053】ブロック154に、レコードR3に対する
アップデートU3を含むトランザクションT1の追加部
分を示す。このトランザクションの結果ジャーナル・エ
ントリ(JE3)が作られ、バックアップ・レシーバに
送られる。バックアップ・レシーバはアクノレッジメン
トをプライマリ・データベースに送り、ジャーナル・エ
ントリ(JE3)をローカルジャーナルに入れる。次
に、バックアップ・アプライアはレコードR3をロック
し、ジャーナル・エントリ(JE3)を付け、その後、
レコードR3をリリースする。
【0054】最後に、ブロック156に、トランザクシ
ョンT1に対するコミット・オペレーションを示す。こ
のコミット・オペレーションの結果、ジャーナル・エン
トリ(JE4)が作られ、バックアップ・レシーバに送
られる。アクノレッジメントがバックアップ・レシーバ
によりプライマリ・データベース送られ、ジャーナル・
エントリ(JE4)がローカルジャーナルに入れられ
る。直列化可能性が不要であるので、このコミット・オ
ペレーションの結果、バックアップ・アプライアによる
アクティビティは起こらない。
【0055】次に、図7に、レプリカ・データベースに
対して整合性「レベル1」が選択され直列化可能性が要
求されている場合のプライマリ・データベース内のレコ
ードに対するアップデートへの応答の方法を示す論理フ
ローを示す。前と同じように、ブロック150は、レコ
ードR1に対するアップデートU1を含むトランザクシ
ョンT1を示す。このトランザクションの結果ジャーナ
ル・エントリ(JE1)が作られ、バックアップ・レシ
ーバに送られる。アクノレッジメントがバックアップ・
レシーバによってプライマリ・データベースに送られ、
ジャーナル・エントリ(JE1)がローカルジャーナル
に入れられる。次に、バックアップ・アプライアはこの
ジャーナル・エントリ(JE1)をバッファにストアす
る。上述したように、整合性「レベル1」は、照会がコ
ミットされた最新の値のみを読むことを課しているの
で、当業者には明らかなように、レコードR1に対する
アップデートは、コミット・トランザクションが起こる
までの間、必ずバッファにストアされなければならな
い。
【0056】次に、ブロック152に示すように、レコ
ードR2に対するアップデートU2を含むトランザクシ
ョンT2が起こる。この結果ジャーナル・エントリ(J
E2)が作られ、バックアップ・レシーバに結合され
る。バックアップ・レシーバは、アクノレッジメントを
プライマリ・データベースに送り、ジャーナル・エント
リ(JE2)をローカルジャーナルに入れる。前と同じ
ように、次に、バックアップ・アプライアはこのジャー
ナル・エントリ(JE2)をバッファにストアする。
【0057】次に、ブロック154に示すように、レコ
ードR3に対するアップデートU3を含むトランザクシ
ョンT1が起こる。この結果ジャーナル・エントリ(J
E3)が作られ、バックアップ・レシーバに結合され
る。前と同じように、アクノレッジメントがバックアッ
プ・レシーバからプライマリ・データベースに送られ、
ジャーナル・エントリ(JE3)がローカルジャーナル
に入れられる。バックアップ・アプライアはこのジャー
ナル・エントリ(JE3)をバッファ内にストアする。
【0058】最後に、ブロック156に示すように、ト
ランザクションT1のためのコミット・オペレーション
が起こる。この結果、ジャーナル・エントリ(JE4)
が作られ、バックアップ・レシーバに送られる。バック
アップ・レシーバはレコードR1とR3をロックし、ア
クノレッジメントをプライマリ・データベースに送る。
その後、バックアップ・アプライアはトランザクション
T1からジャーナル・エントリを取り出し、該当するジ
ャーナル・エントリ、すなわち、トランザクションT1
に関連しているジャーナル・エントリ(JE1およびJ
E3)を付ける。その後、レコードR1およびR3はリ
リースされる。したがって、レコードR1およびR3に
対するアップデートは、そのトランザクションのための
コミット・オペレーションが起こるまで、バックアップ
・アプライアによって適用されない。
【0059】図8に、整合性レベルを「レベル1」に、
直列化可能性を不要にセットしたレプリカ・データベー
ス内でアップデートされたレコードに対する応答方法を
記述した論理フローを示す。前と同じように、ブロック
150は、レコードR1に対するアップデートU1を含
むトランザクションT1を示す。この結果、ジャーナル
・エントリ(JE1)が作られ、バックアップ・レシー
バに結合される。バックアップ・レシーバはアクノレッ
ジメントをプライマリ・データベースに送り、このジャ
ーナル・エントリ(JE1)をローカルジャーナルに入
れる。次に、ジャーナル・エントリ(JE1)は、バッ
クアップ・アプライアによってバッファにストアされ
る。
【0060】次に、ブロック152に示すように、レコ
ードR2に対するアップデートU2を含むトランザクシ
ョンT2が起こる。この結果、ジャーナル・エントリ
(JE2)が作られ、バックアップ・レシーバに結合さ
れる。次に、バックアップ・レシーバはアクノレッジメ
ントをプライマリ・データベースに送り、このジャーナ
ル・エントリ(JE2)をローカルジャーナルに入れ
る。次に、前と同じように、このジャーナル・エントリ
はバックアップ・アプライアによってバッファにストア
される。
【0061】ブロック154で、レコードR3に対する
アップデートU3を含むトランザクションT1が起こ
る。この結果ジャーナル・エントリ(JE3)が作ら
れ、バックアップ・レシーバに結合される。アクノレッ
ジメントがバックアップ・レシーバからプライマリ・デ
ータベースに送られ、ジャーナル・エントリ(JE3)
がローカルジャーナル内にストアされる。次に、前と同
じように、ジャーナル・エントリ(JE3)がバックア
ップ・アプライアによってバッファにストアされる。
【0062】最後に、ブロック156に示すように、ト
ランザクションT1のためのコミット・オペレーション
が起こる。この結果ジャーナル・エントリ(JE4)が
作られ、バックアップ・レシーバに結合される。次に、
バックアップ・レシーバはレコードR1とR3をロック
し、アクノレッジメントをプライマリ・データベースに
送る。その後、バックアップ・アプライアはトランザク
ションT1に対するジャーナル・エントリを取り出し、
第1のジャーナル・エントリ(JE1)を適用する。次
に、レコードR1がリリースされる。次に、トランザク
ションT1に対する第2のジャーナル・エントリ(JE
3)がレコードR3に適用され、そのレコードはリリー
スされる。図7の論理フローとは対照的に、図8の論理
フローでは直列化可能性の要求がないので、各レコード
はそのアップデートが適用された後でリリースされる点
に留意する必要がある。
【0063】次に、図9に、整合性レベルを「レベル
2」にセットし直列化可能性を必要とするプライマリ・
データベース内の対応するレコードのアップデートに対
する、レプリカ・データベースの応答方法を記述した論
理フローを示す。前と同じように、ブロック150で、
レコードR1に対するアップデートU1を含むトランザ
クションT1が起こる。このトランザクションの結果、
ジャーナル・エントリ(JE1)が作られ、バックアッ
プ・レシーバに送られる。次に、バックアップ・レシー
バはR1をロックし、アクノレッジメントをプライマリ
・データベースに送る。次に、ジャーナル・エントリ
(JE1)がローカルジャーナルに入れられ、バックア
ップ・アプライアは直ちにジャーナル・エントリ(JE
1)を適用する。当業者には明らかなように、整合性
「レベル2」は、 照会は最新の値(コミットが起こっ
たかどうかに拘わらず)のみを読むことによって行うこ
とを課している。したがって、レコードR1に対するア
ップデートは、バックアップ・アプライアによって直ち
に適用される。
【0064】ブロック152で、レコードR2に対する
アップデートU2を含むトランザクションT2が起こ
る。この結果、ジャーナル・エントリ(JE2)が作ら
れ、バックアップ・レシーバに結合される。次に、バッ
クアップ・レシーバはレコードR2をロックし、アクノ
レッジメントをプライマリ・データベースに送り、ジャ
ーナル・エントリ(JE2)をローカルジャーナルに入
れる。次に、バックアップ・アプライアは直ちにジャー
ナル・エントリ(JE2)を適用し、レコードR2を最
新の値にアップデートする。
【0065】ブロック154で、レコードR3に対する
アップデートU3を含むトランザクションT1の第2部
分が起こる。この結果、ジャーナル・エントリ(JE
3)が作られてバックアップ・レシーバに結合される。
次に、バックアップ・レシーバはレコードR3をロック
し、アクノレッジメントをプライマリ・データベースに
送る。次に、ジャーナル・エントリ(JE3)がローカ
ルジャーナルに入れられ、バックアップ・アプライアは
このジャーナル・エントリ(JE3)をレコードR3に
適用する。
【0066】最後に、ブロック156で、トランザクシ
ョンT1に対するコミット・オペレーションが起こる。
この結果、ジャーナル・エントリ(JE4)が作られ、
バックアップ・レシーバに結合される。次に、バックア
ップ・レシーバはアクノレッジメントをプライマリ・デ
ータベースに送り、このジャーナル・エントリ(JE
4)をローカルジャーナルに入れる。次に、バックアッ
プ・アプライアはレコードR1とR3をリリースし、必
要に応じて、このトランザクション部分の直列化可能性
を維持する。
【0067】最後に、図10に、整合性「レベル2」を
セットし直列化可能性を要求しないレプリカ・データベ
ースの中のプライマリ・データベース内のレコードに対
するアップデートに応答して起こる論理フローを示す。
前と同様に、ブロック150で、レコードR1に対する
アップデートU1を含むトランザクションT1が起こ
る。この結果、ジャーナル・エントリ(JE1)が作ら
れバックアップ・レシーバに結合される。次に、バック
アップ・レシーバはレコードR1をロックし、アクノレ
ッジメントをプライマリ・データベースに送る。次に、
ジャーナル・エントリ(JE1)がローカルジャーナル
に入れられる。次に、バックアップ・アプライアはジャ
ーナル・エントリ(JE1)を適用し、直列化可能性が
要求されていないので、直ちにレコードR1をリリース
する。
【0068】次に、ブロック152に示すように、レコ
ードR2に対するアップデートU2を含むトランザクシ
ョンT2が起こる。この結果、ジャーナル・エントリ
(JE2)が作られバックアップ・レシーバに結合され
る。次に、バックアップ・レシーバはレコードR2をロ
ックし、アクノレッジメントをプライマリ・データベー
スに送る。次に、ジャーナル・エントリ(JE2)がロ
ーカルジャーナルに入れられる。次に、バックアップ・
アプライアはジャーナル・エントリ(JE2)を適用
し、レコードR2をリリースする。
【0069】次に、ブロック154に示すように、レコ
ードR3に対するアップデートU3を含むトランザクシ
ョンT1の次の部分が起こる。この結果、ジャーナル・
エントリ(JE3)が作られ、バックアップ・レシーバ
に結合される。次に、バックアップ・レシーバはレコー
ドR3をロックし、アクノレッジメントをプライマリ・
データベースに送る。次に、ジャーナル・エントリ(J
E3)がローカルジャーナルに入れられ、バックアップ
・アプライアはジャーナル・エントリ(JE3)を適用
し、レコードR3をリリースする。以上の記述から当業
者には明らかなように、この整合性レベルでは直列化可
能性が要求されていないので、レコードR1およびR3
に対するアップデートが行われ、各レコードは、そのア
ップデートが行われた後直ちにリリースされる。
【0070】最後に、ブロック156で、トランザクシ
ョンT1に対するコミット・オペレーションが起こる。
この結果、ジャーナル・エントリ(JE4)が作られ、
バックアップ・レシーバに結合される。次に、バックア
ップ・レシーバはこのジャーナル・エントリのアクノレ
ッジメントを送り、ジャーナル・エントリ(JE4)を
ローカルジャーナルに入れる。
【0071】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)分散データ処理システム内でのデータベース・ア
クセス効率を向上させる方法であって、前記分散データ
処理システム内において、ストアされた複数のレコード
を持つ1つのデータベースを選択しプライマリ・データ
ベースとして指定するステップと、前記分散データ処理
システム内の第2の物理的ロケーションにおいて前記プ
ライマリ・データベースを複製するステップと、前記プ
ライマリ・データベースと前記の複製されたレプリカ・
データベースとの間に維持される複数の多様な整合性レ
ベルを指定するステップと、ユーザに前記の複数の多様
な整合性レベルから1つを指定させるステップと、を有
し、前記プライマリ・データベース内のレコードに対す
るアップデートに応答して、前記プライマリ・データベ
ースと前記レプリカ・データベースとの間に前記の複数
の多様な整合性レベルの前記の指定された1つを自動的
に維持する前記方法。 (2)前記分散データ処理システム内の第3の物理的ロ
ケーションにおいて前記プライマリ・データベースを複
製するステップをさらに有する、前記(1)に記載の方
法。 (3)ユーザに前記の複数の多様な整合性レベルから1
つを指定させる前記ステップが、前記プライマリ・デー
タベースとそのそれぞれのレプリカとの間に維持される
前記の複数の多様な整合性レベルから別の1つを指定さ
せるステップを有する、前記(2)に記載の方法。 (4)分散データ処理システム内でのデータベース・ア
クセス効率を向上させるシステムであって、前記分散デ
ータ処理システム内において、ストアされた複数のレコ
ードを持つプライマリ・データベースと、前記分散デー
タ処理システム内の第2の物理的ロケーションにおいて
ストアされている前記プライマリ・データベースのレプ
リカと、前記プライマリ・データベースと前記レプリカ
・データベースとの間に維持される複数の多様な整合性
レベルを指定する手段と、ユーザに前記の複数の多様な
整合性レベルから1つを指定させる手段と、前記プライ
マリ・データベース内のレコードに対するアップデート
に応答して、前記プライマリ・データベースと前記レプ
リカ・データベースとの間に前記の複数の多様な整合性
レベルの前記の指定された1つを自動的に維持する手段
と、を有するシステム。 (5)前記分散データ処理システム内の第3の物理的ロ
ケーションにおいてストアされている前記プライマリ・
データベースの第2のレプリカをさらに有する、前記
(4)に記載のシステム。 (6)ユーザに前記の複数の多様な整合性レベルから1
つを指定させる前記手段が、前記プライマリ・データベ
ースとそのそれぞれのレプリカとの間に維持される前記
の複数の多様な整合性レベルから別の1つを指定させる
手段を有する、前記(5)に記載のシステム。 (7)分散データ処理システム内でのデータベース・ア
クセス効率を向上させる方法であって、前記分散データ
処理システム内において、ストアされた複数のレコード
を持つ1つのデータベースを選択しプライマリ・データ
ベースとして指定するステップと、前記分散データ処理
システム内の第2の物理的ロケーションにおいて前記プ
ライマリ・データベースを複製するステップと、前記プ
ライマリ・データベース内の1つの選択されたレコード
に対するアップデートに応答して、前記の複製されたデ
ータベース内の対応する選択されたレコードへのアクセ
スを自動的にロックするステップと、前記の複製された
データベース内の前記の選択されたレコードをアップデ
ートするステップと、前記アップデートの後で、前記の
選択されたレコードへのアクセスをリリースするステッ
プと、前記分散データ処理システム内のユーザに、前記
プライマリ・データベースおよび前記の複製されたデー
タベースの中のレコードを照会させるステップと、を有
し、データの絶対的な整合性を維持するとともにデータ
アクセスの使用可能性を向上させる方法。 (8)前記プライマリ・データベース内のレコードに対
する各アップデートが、コミット・オペレーションを行
う前の1つの整合性時点に戻り、前記の選択されたレコ
ードへのアクセスを前記アップデートの後でリリースす
る前記ステップが、前記アップデートに続くコミット・
オペレーションの後でのみ前記の選択されたレコードへ
のアクセスをリリースするステップを有する、前記
(7)に記載の方法。 (9)分散データ処理システム内でのデータベース・ア
クセス効率を向上させるシステムであって、前記分散デ
ータ処理システム内において、ストアされた複数のレコ
ードを持つプライマリ・データベースと、前記分散デー
タ処理システム内の第2の物理的ロケーションにおいて
ストアされている前記プライマリ・データベースのレプ
リカと、前記プライマリ・データベース内の1つの選択
されたレコードに対するアップデートに応答して、前記
の複製されたデータベース内の対応する選択されたレコ
ードへのアクセスを自動的にロックする手段と、前記の
複製されたデータベース内の前記の選択されたレコード
をアップデートする手段と、前記アップデートの後で、
前記の選択されたレコードへのアクセスをリリースする
手段と、前記分散データ処理システム内のユーザに、前
記プライマリ・データベースおよび前記の複製されたデ
ータベースの中のレコードを照会させる手段と、を有
し、データの絶対的な整合性を維持するとともにデータ
アクセスの使用可能性を向上させるシステム。 (10)前記プライマリ・データベースを、いかなる時
点でも、コミット・オペレーションを行う前の整合性時
点に戻す手段をさらに有する、前記(9)に記載のシス
テム。 (11)前記アップデートの後で前記の選択されたレコ
ードへのアクセスをリリースする前記手段が、前記アッ
プデートに続くコミット・オペレーションの後でのみ前
記の選択されたレコードへのアクセスをリリースする手
段を有する、前記(10)に記載のシステム。
【0072】
【発明の効果】本発明の方法とシステムによって、ユー
ザあるいはシステム・オペレータは、バックアップ・サ
ーバ内のレプリカ・データベースに適する任意の整合性
レベルを広範な整合性レベルから選択できるようになる
(この選択には、整合性と性能との間のトレードオフが
含まれる)。この方法とシステムにより、最低限の整合
性レベルでは、1つのレプリカ・データベースにおい
て、古い、コミットされていない値を読むことができる
一方、他方では、プライマリ・データベースの第2のレ
プリカ内で、あたかも、照会がプライマリ・データベー
スから読み込みを行ったのと同じ結果を返すことができ
る最大レベルの整合性を提供することもできる。このよ
うにして、上述した回復可能なデータベース・システム
内において、データベースへのアクセスの効率を大いに
改善することができる。
【図面の簡単な説明】
【図1】本発明の方法およびシステムを実施するのに使
用できる分散データ処理システムの概略図である。
【図2】本発明の方法およびシステムにしたがって実施
される回復可能なデータベース・システム内での、典型
的な書き込みオペレーションの概略制御フローを示す。
【図3】本発明の方法およびシステムによる回復可能な
データベース内での複数の多様な整合性レベルの設定を
図示する概略論理フローチャートである。
【図4】本発明による複数の多様な整合性レベルの実施
を図示する概略論理フローチャートであり、図5に続
く。
【図5】図4に続く論理フローチャート。
【図6】図5に続く論理フローチャート。
【図7】図6に続く論理フローチャート。
【図8】図7に続く論理フローチャート。
【図9】図8に続く論理フローチャート。
【図10】図9に続く論理フローチャート。
【符号の説明】
8 分散データ処理システム 10、32 ローカルエリア・ネットワーク(L
AN) 12、30 コンピュータ 14、20 記憶装置 16 印刷出力装置 18 メインフレーム・コンピュータ 22、24、34 通信リンク 26 通信制御装置 28 ゲートウェイ・サーバ 40 ユーザ 42 アプリケーション 44 スタブ・ルーチン 46 プライマリ・データベース 48 プライマリ・エージェント 50、58 ジャーナル 52 レプリカ・データベース 54、60 バックアップ・レシーバ 56 バックアップ・アプライア
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダニー・ドレブ イスラエル、メバセレット・イェルチャラ イム、メボ・ナアマ 28 (72)発明者 ジャーマン・ゴフト アメリカ合衆国13760ニューヨーク州エン ディコット、ボーント・ヒル・ロード 207 アパートメント 23 (72)発明者 ジョン・エム・マーバーグ イスラエル34754ハイファ、ビトキン・ス トリート 31 (72)発明者 ジェイムス・ジー・ランワイラー アメリカ合衆国55902ミネソタ州ロチェス ター、グレンクロフト・レイン・サウスウ ェスト 5720 (72)発明者 ジュリアン・サトラン アメリカ合衆国10589ニューヨーク州ソマ ーズ、ヘリテッジ・ヒルズ 82エイ

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 分散データ処理システム内でのデータベ
    ース・アクセス効率を向上させる方法であって、 前記分散データ処理システム内において、ストアされた
    複数のレコードを持つ1つのデータベースを選択しプラ
    イマリ・データベースとして指定するステップと、 前記分散データ処理システム内の第2の物理的ロケーシ
    ョンにおいて前記プライマリ・データベースを複製する
    ステップと、 前記プライマリ・データベースと前記の複製されたレプ
    リカ・データベースとの間に維持される複数の多様な整
    合性レベルを指定するステップと、 ユーザに前記の複数の多様な整合性レベルから1つを指
    定させるステップと、 を有し、 前記プライマリ・データベース内のレコードに対するア
    ップデートに応答して、前記プライマリ・データベース
    と前記レプリカ・データベースとの間に前記の複数の多
    様な整合性レベルの前記の指定された1つを自動的に維
    持する前記方法。
  2. 【請求項2】 前記分散データ処理システム内の第3の
    物理的ロケーションにおいて前記プライマリ・データベ
    ースを複製するステップをさらに有する、請求項1に記
    載の方法。
  3. 【請求項3】 ユーザに前記の複数の多様な整合性レベ
    ルから1つを指定させる前記ステップが、前記プライマ
    リ・データベースとそのそれぞれのレプリカとの間に維
    持される前記の複数の多様な整合性レベルから別の1つ
    を指定させるステップを有する、請求項2に記載の方
    法。
  4. 【請求項4】 分散データ処理システム内でのデータベ
    ース・アクセス効率を向上させるシステムであって、 前記分散データ処理システム内において、ストアされた
    複数のレコードを持つプライマリ・データベースと、 前記分散データ処理システム内の第2の物理的ロケーシ
    ョンにおいてストアされている前記プライマリ・データ
    ベースのレプリカと、 前記プライマリ・データベースと前記レプリカ・データ
    ベースとの間に維持される複数の多様な整合性レベルを
    指定する手段と、 ユーザに前記の複数の多様な整合性レベルから1つを指
    定させる手段と、 前記プライマリ・データベース内のレコードに対するア
    ップデートに応答して、前記プライマリ・データベース
    と前記レプリカ・データベースとの間に前記の複数の多
    様な整合性レベルの前記の指定された1つを自動的に維
    持する手段と、 を有するシステム。
  5. 【請求項5】 前記分散データ処理システム内の第3の
    物理的ロケーションにおいてストアされている前記プラ
    イマリ・データベースの第2のレプリカをさらに有す
    る、請求項4に記載のシステム。
  6. 【請求項6】 ユーザに前記の複数の多様な整合性レベ
    ルから1つを指定させる前記手段が、前記プライマリ・
    データベースとそのそれぞれのレプリカとの間に維持さ
    れる前記の複数の多様な整合性レベルから別の1つを指
    定させる手段を有する、請求項5に記載のシステム。
  7. 【請求項7】 分散データ処理システム内でのデータベ
    ース・アクセス効率を向上させる方法であって、 前記分散データ処理システム内において、ストアされた
    複数のレコードを持つ1つのデータベースを選択しプラ
    イマリ・データベースとして指定するステップと、 前記分散データ処理システム内の第2の物理的ロケーシ
    ョンにおいて前記プライマリ・データベースを複製する
    ステップと、 前記プライマリ・データベース内の1つの選択されたレ
    コードに対するアップデートに応答して、前記の複製さ
    れたデータベース内の対応する選択されたレコードへの
    アクセスを自動的にロックするステップと、 前記の複製されたデータベース内の前記の選択されたレ
    コードをアップデートするステップと、 前記アップデートの後で、前記の選択されたレコードへ
    のアクセスをリリースするステップと、 前記分散データ処理システム内のユーザに、前記プライ
    マリ・データベースおよび前記の複製されたデータベー
    スの中のレコードを照会させるステップと、 を有し、データの絶対的な整合性を維持するとともにデ
    ータアクセスの使用可能性を向上させる方法。
  8. 【請求項8】 前記プライマリ・データベース内のレコ
    ードに対する各アップデートが、コミット・オペレーシ
    ョンを行う前の1つの整合性時点に戻り、前記の選択さ
    れたレコードへのアクセスを前記アップデートの後でリ
    リースする前記ステップが、前記アップデートに続くコ
    ミット・オペレーションの後でのみ前記の選択されたレ
    コードへのアクセスをリリースするステップを有する、
    請求項7に記載の方法。
  9. 【請求項9】 分散データ処理システム内でのデータベ
    ース・アクセス効率を向上させるシステムであって、 前記分散データ処理システム内において、ストアされた
    複数のレコードを持つプライマリ・データベースと、 前記分散データ処理システム内の第2の物理的ロケーシ
    ョンにおいてストアされている前記プライマリ・データ
    ベースのレプリカと、 前記プライマリ・データベース内の1つの選択されたレ
    コードに対するアップデートに応答して、前記の複製さ
    れたデータベース内の対応する選択されたレコードへの
    アクセスを自動的にロックする手段と、 前記の複製されたデータベース内の前記の選択されたレ
    コードをアップデートする手段と、 前記アップデートの後で、前記の選択されたレコードへ
    のアクセスをリリースする手段と、 前記分散データ処理システム内のユーザに、前記プライ
    マリ・データベースおよび前記の複製されたデータベー
    スの中のレコードを照会させる手段と、 を有し、データの絶対的な整合性を維持するとともにデ
    ータアクセスの使用可能性を向上させるシステム。
  10. 【請求項10】前記プライマリ・データベースを、いか
    なる時点でも、コミット・オペレーションを行う前の整
    合性時点に戻す手段をさらに有する、請求項9に記載の
    システム。
  11. 【請求項11】前記アップデートの後で前記の選択され
    たレコードへのアクセスをリリースする前記手段が、前
    記アップデートに続くコミット・オペレーションの後で
    のみ前記の選択されたレコードへのアクセスをリリース
    する手段を有する、請求項10に記載のシステム。
JP02314395A 1994-04-15 1995-02-10 データベース・アクセス効率の向上方法及びシステム Expired - Fee Related JP3600293B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US228319 1994-04-15
US08/228,319 US5796999A (en) 1994-04-15 1994-04-15 Method and system for selectable consistency level maintenance in a resilent database system

Publications (2)

Publication Number Publication Date
JPH07295871A true JPH07295871A (ja) 1995-11-10
JP3600293B2 JP3600293B2 (ja) 2004-12-15

Family

ID=22856690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02314395A Expired - Fee Related JP3600293B2 (ja) 1994-04-15 1995-02-10 データベース・アクセス効率の向上方法及びシステム

Country Status (2)

Country Link
US (1) US5796999A (ja)
JP (1) JP3600293B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327991A (ja) * 1998-03-20 1999-11-30 Lucent Technol Inc ホットスペアシステムおよびデ―タベ―ス管理システム
JP2000132443A (ja) * 1998-10-22 2000-05-12 Internatl Business Mach Corp <Ibm> コンピュータ、情報共有システム、及びレプリカ同一性保持方法
JP2002507021A (ja) * 1998-03-12 2002-03-05 クロスワールズ ソフトウエア インコーポレイテッド 情報システムの独立性レベル及びトランザクション補償
JP2003167815A (ja) * 2001-11-30 2003-06-13 Hitachi Ltd データアクセス制御方法
JP2012507813A (ja) * 2008-11-06 2012-03-29 アマデウス エス.エイ.エス データベースにおいて大量の更新をリアルタイムで統合する方法
JP5257455B2 (ja) * 2008-09-17 2013-08-07 富士通株式会社 2相コミットによるデータ更新同期方法及びシステム

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US5951697A (en) * 1997-05-29 1999-09-14 Advanced Micro Devices, Inc. Testing the sharing of stored computer information
US6199110B1 (en) * 1997-05-30 2001-03-06 Oracle Corporation Planned session termination for clients accessing a resource through a server
US6490610B1 (en) 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US6012059A (en) * 1997-08-21 2000-01-04 Dataxel Corporation Method and apparatus for replicated transaction consistency
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6173420B1 (en) 1997-10-31 2001-01-09 Oracle Corporation Method and apparatus for fail safe configuration
EP0952510A4 (en) * 1997-11-14 2006-05-31 Mitsubishi Electric Corp SCHEME AND METHOD FOR DATA UPDATE
US6023709A (en) * 1997-12-15 2000-02-08 International Business Machines Corporation Automated file error classification and correction in a hierarchical storage management system
CN100397372C (zh) * 1998-01-22 2008-06-25 英纳瑞公司 用于通用数据交换网关的方法和装置
US7401114B1 (en) * 1998-04-20 2008-07-15 Sun Microsystems, Inc. Method and apparatus for making a computational service highly available
US6347322B1 (en) * 1998-11-09 2002-02-12 Lucent Technologies Inc. Transaction state data replication by transaction forwarding in replicated database systems
US6516327B1 (en) * 1998-12-24 2003-02-04 International Business Machines Corporation System and method for synchronizing data in multiple databases
US6314453B1 (en) * 1999-02-17 2001-11-06 Hewlett-Packard Company Method for sharing and executing inaccessible dynamic processes for replica consistency among a plurality of existing applications
US7756830B1 (en) 1999-03-31 2010-07-13 International Business Machines Corporation Error detection protocol
US6587860B1 (en) * 1999-03-31 2003-07-01 International Business Machines Corporation Apparatus and method for tracking access to data resources in a cluster environment
JP4158297B2 (ja) * 1999-11-12 2008-10-01 株式会社日立製作所 分散システムにおける属性データの一致化方法および分散システム
US7310670B1 (en) 2000-04-25 2007-12-18 Thomson Licensing S.A. Multi-channel power line exchange protocol
AU2001291169A1 (en) * 2000-09-19 2002-04-02 Bocada, Inc. Method for obtaining a record of data backup and converting same into a canonical format
US6745210B1 (en) * 2000-09-19 2004-06-01 Bocada, Inc. Method for visualizing data backup activity from a plurality of backup devices
US6640217B1 (en) * 2000-09-19 2003-10-28 Bocada, Inc, Method for extracting and storing records of data backup activity from a plurality of backup devices
US6708188B1 (en) 2000-09-19 2004-03-16 Bocada, Inc. Extensible method for obtaining an historical record of data backup activity (and errors) and converting same into a canonical format
CN100345143C (zh) * 2000-10-09 2007-10-24 最佳收益有限公司 数据处理方法和装置
US7013312B2 (en) * 2001-06-21 2006-03-14 International Business Machines Corporation Web-based strategic client planning system for end-user creation of queries, reports and database updates
US9659292B1 (en) * 2001-08-30 2017-05-23 EMC IP Holding Company LLC Storage-based replication of e-commerce transactions in real time
US7065541B2 (en) * 2001-10-10 2006-06-20 International Business Machines Corporation Database migration
US6889333B2 (en) * 2001-11-01 2005-05-03 Microsoft Corporation System and method for replicating data in a distributed system
US7127475B2 (en) * 2002-08-15 2006-10-24 Sap Aktiengesellschaft Managing data integrity
EP1530765A2 (en) 2002-08-15 2005-05-18 Sap Ag Managing data integrity
US20050108274A1 (en) * 2003-02-26 2005-05-19 Daniel Selman System and method for web server synchronization
US7243088B2 (en) * 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
US7269588B1 (en) 2003-09-24 2007-09-11 Oracle International Corporation Neighborhood locking technique for increasing concurrency among transactions
US7555481B1 (en) 2003-10-28 2009-06-30 Oracle Corporation Method and apparatus for increasing transaction concurrency by early release of locks in groups
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
US7613710B2 (en) * 2004-08-12 2009-11-03 Oracle International Corporation Suspending a result set and continuing from a suspended result set
US7743333B2 (en) * 2004-08-12 2010-06-22 Oracle International Corporation Suspending a result set and continuing from a suspended result set for scrollable cursors
US7587400B2 (en) * 2004-08-12 2009-09-08 Oracle International Corporation Suspending a result set and continuing from a suspended result set for transparent session migration
DE102004047146A1 (de) * 2004-09-29 2006-03-30 Bayer Business Services Gmbh Rechteverwaltung
US7739244B2 (en) * 2004-10-14 2010-06-15 Oracle International Corporation Operating logging for online recovery in shared memory information systems
US9176772B2 (en) * 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
US8176022B1 (en) * 2006-08-26 2012-05-08 Radames Garcia Locking protocol using dynamic locks and dynamic shared memory
US8275907B2 (en) * 2008-06-26 2012-09-25 Microsoft Corporation Adding individual database failover/switchover to an existing storage component with limited impact
US8364710B2 (en) * 2008-07-10 2013-01-29 Juniper Networks, Inc. Model-based resource allocation
US8589359B2 (en) * 2009-10-12 2013-11-19 Motorola Solutions, Inc. Method and apparatus for automatically ensuring consistency among multiple spectrum databases
US20110178984A1 (en) * 2010-01-18 2011-07-21 Microsoft Corporation Replication protocol for database systems
US8825601B2 (en) * 2010-02-01 2014-09-02 Microsoft Corporation Logical data backup and rollback using incremental capture in a distributed database
US8589360B2 (en) * 2011-12-12 2013-11-19 Hewlett-Packard Development Company, L.P. Verifying consistency levels
US9990372B2 (en) * 2014-09-10 2018-06-05 Panzura, Inc. Managing the level of consistency for a file in a distributed filesystem
US10235407B1 (en) * 2015-08-21 2019-03-19 Amazon Technologies, Inc. Distributed storage system journal forking
US10379961B2 (en) 2017-04-11 2019-08-13 International Business Machines Corporation Ensuring metadata and index consistency using write intents
US10776344B2 (en) 2018-03-16 2020-09-15 Microsoft Technology Licensing, Llc Index management in a multi-process environment
US11301462B1 (en) * 2020-03-31 2022-04-12 Amazon Technologies, Inc. Real-time data validation using lagging replica databases
CN112612422B (zh) * 2020-12-29 2022-08-23 重庆邮电大学 移动边缘计算中副本的动态一致性维护方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0498434A (ja) * 1990-08-13 1992-03-31 Nec Corp 分散型ファイル管理方式
JPH04107654A (ja) * 1990-08-28 1992-04-09 Nec Corp 分散データ制御方式

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4432057A (en) * 1981-11-27 1984-02-14 International Business Machines Corporation Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US4714996A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Impact calculation for version management in a distributed information service
GB2203573A (en) * 1987-04-02 1988-10-19 Ibm Data processing network with upgrading of files
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
US5005122A (en) * 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US5261069A (en) * 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
JP3516344B2 (ja) * 1990-10-22 2004-04-05 株式会社日立製作所 分散処理システムの多重データ処理方法
US5440727A (en) * 1991-12-18 1995-08-08 International Business Machines Corporation Asynchronous replica management in shared nothing architectures
US5423037A (en) * 1992-03-17 1995-06-06 Teleserve Transaction Technology As Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0498434A (ja) * 1990-08-13 1992-03-31 Nec Corp 分散型ファイル管理方式
JPH04107654A (ja) * 1990-08-28 1992-04-09 Nec Corp 分散データ制御方式

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002507021A (ja) * 1998-03-12 2002-03-05 クロスワールズ ソフトウエア インコーポレイテッド 情報システムの独立性レベル及びトランザクション補償
JPH11327991A (ja) * 1998-03-20 1999-11-30 Lucent Technol Inc ホットスペアシステムおよびデ―タベ―ス管理システム
EP0943997A3 (en) * 1998-03-20 2001-06-13 Lucent Technologies Inc. System and method for providing hot spare redundancy and recovery for a very large database management system
JP2000132443A (ja) * 1998-10-22 2000-05-12 Internatl Business Mach Corp <Ibm> コンピュータ、情報共有システム、及びレプリカ同一性保持方法
JP2003167815A (ja) * 2001-11-30 2003-06-13 Hitachi Ltd データアクセス制御方法
JP5257455B2 (ja) * 2008-09-17 2013-08-07 富士通株式会社 2相コミットによるデータ更新同期方法及びシステム
US8572047B2 (en) 2008-09-17 2013-10-29 Fujitsu Limited Method and system for data update synchronization by two-phase commit
JP2012507813A (ja) * 2008-11-06 2012-03-29 アマデウス エス.エイ.エス データベースにおいて大量の更新をリアルタイムで統合する方法

Also Published As

Publication number Publication date
JP3600293B2 (ja) 2004-12-15
US5796999A (en) 1998-08-18

Similar Documents

Publication Publication Date Title
JP3600293B2 (ja) データベース・アクセス効率の向上方法及びシステム
US7487228B1 (en) Metadata structures and related locking techniques to improve performance and scalability in a cluster file system
US6081826A (en) System using environment manager with resource table in each computer for managing distributed computing resources managed for each application
US6925515B2 (en) Producer/consumer locking system for efficient replication of file data
JP4557975B2 (ja) 非共有データベースシステムにおける所有権の再割当
US9087013B2 (en) Methods and apparatus for point-in-time volumes
US5953719A (en) Heterogeneous database system with dynamic commit procedure control
US7418439B2 (en) Mirror file system
JP3696639B2 (ja) ディレクトリサービスのファイルシステムサービスとの統一
US7457835B2 (en) Movement of data in a distributed database system to a storage location closest to a center of activity for the data
Goel et al. Data replication strategies in wide-area distributed systems
EP0988596B1 (en) Method and system for recovery in a partitioned shared nothing database system using virtual shared disks
Lahiri et al. Cache fusion: Extending shared-disk clusters with shared caches
CN107787490A (zh) 分布式数据库网格中的直接连接功能
US10885023B1 (en) Asynchronous processing for synchronous requests in a database
US20020023070A1 (en) Method and system for sharing catalogs in a multiprocessing system utilizing a shared processor
WO2008143855A2 (en) Network-attached storage devices
US7281014B2 (en) Method and apparatus for moving data between storage devices
EP1536336A2 (en) Method, system and server for performing backup in a computer system with multiple file servers
US20040220934A1 (en) Performance optimization for data sharing across batch sequential processes and on-line transaction processes
Cabri et al. Experience of adaptive replication in distributed file systems
Rahm Use of global extended memory for distributed transaction processing
KR100492167B1 (ko) 비공유 구조의 데이터베이스 클러스터 서버 시스템과온라인 확장 방법
Strom et al. A recoverable object store
JPH01113849A (ja) マルチユーザシステム

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20031222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040816

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040916

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees