JPH04337850A - データベース・トランザクション及び照会処理システム - Google Patents

データベース・トランザクション及び照会処理システム

Info

Publication number
JPH04337850A
JPH04337850A JP3330889A JP33088991A JPH04337850A JP H04337850 A JPH04337850 A JP H04337850A JP 3330889 A JP3330889 A JP 3330889A JP 33088991 A JP33088991 A JP 33088991A JP H04337850 A JPH04337850 A JP H04337850A
Authority
JP
Japan
Prior art keywords
page
database
transaction
query
memory
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
JP3330889A
Other languages
English (en)
Other versions
JPH0812631B2 (ja
Inventor
Daniel M Dias
ダニエル、マヌエル、ディアス
Ambuj Goyal
アムブジ、ゴヤール
Francis N Parr
フランシス、ニコラス、パー
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 JPH04337850A publication Critical patent/JPH04337850A/ja
Publication of JPH0812631B2 publication Critical patent/JPH0812631B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • 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/2308Concurrency control
    • 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/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • 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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、同時デー
タベース・トランザクション処理及び照会処理、より具
体的には、知能ページ・メモリと呼ばれる方法及び装置
を提供することによってデータベース・トランザクショ
ン主体と同一のデータにアクセスする照会主体とを機能
的に分離することに関する。この知能ページ・メモリは
、トランザクション主体に対して一つ、そして照会主体
に対して一つの計二つのアクセス経路を提供する。本発
明においては、さらに、暗黙バージョニング機構が提供
されるが、これは、トランザクション主体に最も最近の
データを提供し、照会主体にデータの最近の一貫したバ
ージョンを提供する一方において、殆どのデータの単一
コピーを物理的に保持する。
【0002】
【従来の技術】近年、大きな設備におけるデータベース
・トランザクション処理能力に対する需要が著しく増加
している。同時に、新たなデータベース・アプリケーシ
ョンの大部分は、関係データベース環境(relati
onal database environment
 )内におけるものであり、この関係データベース環境
はまたデータベース上のその場限りの照会をサポートす
るための理想的な環境でもある。この結果として、その
場限りの構造化されない照会の使用が付随的に増加して
きており、この傾向は加速されるものと予測される。こ
のために、同一データベースに対して、高容量のトラン
ザクション処理及び構造化されない照会の両方を同時に
サポートすることに対する要求が増大している。従って
、本発明の主要な目的は、高容量トランザクションと複
合照会の両方を、これらの間の干渉が最少に留まるよう
な方法で、しかもデータの殆どの単一コピーを共有して
、効率的にサポートするアーキテクチャを設計すること
にある。
【0003】典型的には、企業は、それらのデータベー
スを高容量の比較的単純なトランザクションを通じて保
持する。個々のトランザクションは、良く知られた商業
活動を表わす(新たな顧客レコードが記録され、勘定の
支払いあるいは振替えが記される)。ますます多くの企
業がそれらのオン・ライン・データに対してより多くの
その場限りの構造化されない照会をランすることに関心
を持つようになってきている。これは、これらより複雑
な照会をSQLで書くことができることから刺激された
ものである。典型的なアプリケーションとしては、新た
な市場機会のテスト、判定のサポート、歴史的傾向の検
出、利潤分析等が含まれる。これら構造化されない照会
は、以下の特徴を持つ。・これらは、計画されたもので
なく、頻繁には使用されない;各々の照会に対する性能
調整は現実的でない。・これらは運営事業データを変更
しない。・これらは価値を失うことなく幾分古いデータ
ベース・データに対して実行できる。・これらは大きな
量のデータ走査及び処理を要求する;従って、通常のト
ランザクションと比較して長い実行時間を持つ。
【0004】チャン(Chan),A.、フォックス(
Fox ),S.、リン(Lin )W.T.、ノリ(
Nori),A.及びリーズ(Ries),D.らによ
って、Proc.ACM SIGMODConf. ,
1982、ページ184−191に掲載の論文『総合同
時制御及び回復体系の実現(The Implemen
tation of an Integrated C
oncurrency Controland Rec
overy Scheme )』において、バーショニ
ング体系について説明されている。この体系においては
、ページの異なるバージョンが連鎖され、再び個々のバ
ージョンがそれを生成したIDトランザクションによっ
て識別される。各々の照会は、それと関連して完結され
たトランザクションのリスト(Completed T
ransaction List、CTL)のコピーを
持つが、これは、事実上、その初期の時のものである。 照会アクセスは、この物理ページの連鎖を照会CTL内
の一つのバージョンが検出するまで追跡することによっ
てアクセスされる。第一に、これは、完結されたトラン
ザクションの情報が照会プロセッサに供給できることを
必要とし、ここでも、トランザクション処理と照会処理
を機能的に分離することを機能的に阻止する。第二に、
ページの追跡には複数のI/Oが要求される。第三に、
この体系においては、ページはディスクにトランザクシ
ョンをコミットすることによって入れられなければなら
ない。最後に、この体系は、トランザクションに対する
ページ・レベル・ロッキングのみをサポートする。この
体系は、チャン(Chan),A.及びグレイ(Gra
y),Rによって、IEEE Trans. Soft
ware Engrg.,、Vol.SE−11、No
.2、1985年2月号に掲載の論文『分散読出し専用
トランザクションの実現(Implementing 
Distributed Read−Only Tra
nsactions )』において、CTLがサイト間
で送られ、これらがCTLの新たなバージョンを生成す
るために併合される複雑な体系を使用することによって
分散環境に一般化される。
【0005】ロビンソン(Robinson),J.、
トーマシアン(Thomasian ),A.及びユー
(Yu),P.は、IBM技術開示誌報、Vol.31
、No.1、1988年6月号、ページ180−185
に掲載の論文『読出し専用照会及びオンライン更新トラ
ンザクションによってアクセスされる関係データベース
内のロック競合の排除(Elimination of
 Lock Contention in Relat
ional Databases Accessed 
byRead−Only Queries and O
n−Line Update Transaction
s )』において、両者がデータに共通の同時コントロ
ーラの場所で要求することによってアクセスする照会及
びトランザクションに対する明示的ページ・バージョニ
ング法について説明する。この体系は、どのページがト
ランザクション及び照会によってロックされたかの知識
を必要とし、そして、ロック競合が検出されると、アク
セスのために照会に対する一つのバージョンが生成され
る。照会に対しては、これは、進行中の照会の状態アレ
イを保持し、トランザクションが結果として衝突を起こ
すロック要求を行なったときこれらアレイをチェックす
ることによって行なわれる。この体系はまたトランザク
ションによってコミットされた更新されたページが照会
によって直ちにアクセスできることを要求する。本質的
に、この体系は、照会及びトランザクションによって行
なわれてロックについて互いに知ることができるように
、照会及びトランザクションが単一のDBMS(共通の
同時実行制御マネージャ及びバッファ・マネージャ)の
下で実行されることを要求する。この開示は、もはや必
要でなくなったバージョン化されたページを除去するた
めにどのように廃物の収集が行なわれるかについては記
述しない。
【0006】
【発明が解決しようとする課題】関係データベース照会
がより複雑になるにつれて、同一照会に関して協力する
多数のプロセッサを活用するパラレル照会内処理(pa
rallel intra−queryprocess
ing )が照会応答時間を向上させるため、及び増分
的な拡張を行なうための重要な手段となってきている。 他方、トランザクション処理は、殆どの部分がトランザ
クション内パラレル処理(intra−transac
tion parallelism )に修正すること
ができず、サブ秒の応答時間を持つ多数の同時トランザ
クションをサポートすることを要求する。トランザクシ
ョン速度の増加にともなってロック保持時間を短縮して
データ競合を低減することが非常に重要になる。これは
、共有バッファを持つ大きなプロセッサを支持する。従
って、本発明の主要な目的は、データにアクセスするた
めの二つの経路を持つ論理データベースを提供すること
にある。一つは、データベース・トランザクションのた
めに使用され、もう一つは、その場限りの照会のために
使用される。これは、トランザクション及び照会処理シ
ステムを独立して最適化し、他方において、同一データ
へのアクセスを可能にする。例えば、更新及びトランザ
クション・トラヒックは、密に結合されたメモリ構成内
での多数のプロセッサの性能を活用でき、他方、同一デ
ータに対する複合照会は、粗く結合されたマイクロプロ
セッサ上のパラレル・データベース・ソフトウエアによ
って扱うことができる。
【0007】上の特性を持つトラヒック及び照会をサポ
ートする環境内において、本発明のさらに別の目的は以
下の通りである。・ディスク及びディクス・コンピュー
タは大きなデータベースが存在する場合総コストの大き
な部分を占める。従って、組合わされたトランザクショ
ン及び照会処理のためのディクス空間は最小限にされる
べきである。従って、本発明の一つの目的は、オンライ
ン・データがトランザクション及び照会によって共有さ
れるようにすることにある。・複合照会は、しばしば、
スループットが重要である”構造化されたトランザクシ
ョン”の応答時間よりもかなり長い実行時間、及びロッ
ク保持時間を持つ。従って、本発明のさらにもう一つの
目的は、複合照会がトランザクション・トラヒックから
のロックを差し控えることなくデータベース・データの
一貫してビューを見るようにすることである。・本発明
のさらにもう一つの目的は、トランザクション処理デー
タベース・ソフトウエア及び照会処理DBソフトウエア
が効果的に分離されるようにすることである(メモリ内
の互いのバッファへのアクセス、あるいはロック情報の
交換は行なわれない)。一般的に、これは、トランザク
ション及び照会処理に対するソフトウエアを独立して最
適化することを可能にする。
【0008】
【課題を解決するための手段】本発明の目的及び特徴を
示す一つの好ましく、ただし、一例としての実施例によ
ると、共有ディスク・メモリを含む知能ページ・メモリ
が提供されるデータベース・トランザクション処理及び
照会処理を同時に行う新規の方法及び装置が提供される
。この知能ページ・メモリは、この共有データへの二つ
のアクセス経路を提供するが、一つはトランザクション
主体によって、もう一つは照会主体によって使用される
。この知能ページ・メモリ内においては、暗黙バージョ
ニング機構が共有ディスク・メモリへのトランザクショ
ン主体及び照会主体の同時アクセスを可能にする。ここ
で、トランザクション主体には、現データが提供され、
照会主体には、データの最近の一貫したバージョンが提
供される。さらに、最近更新されたページを除く全ての
ページの単一のコピーが知能ページ・メモリによって維
持され、照会及びトランザクション主体は、互いに独立
して動作する。
【0009】上に要約された先行技術と本発明との大き
な差異は、先行技術においては、照会とトランザクショ
ンが互いに機能的に分離されないことである。つまり、
先行技術においては、様々なトランザクションの間、及
びトランザクションと照会との間の一貫したアクセスを
保証するための単一の同時実行制御主体が存在する。こ
れは、照会及びトランザクション処理の独立した実現及
び最適化の可能性を排除する。先行技術による方法のも
う一方の極端においては、データベースの一つの完全な
コピーを作成することによって照会及びトランザクショ
ンによってアクセスされるデータが分離される。
【0010】本発明のこれら及びその他の目的、長所、
及び特徴は、以下の説明及び付属の図面から一層明らか
になるものである。
【0011】
【実施例】「先行技術によるトランザクション及び照会
システム」本発明の説明を簡素化するために、トランザ
クション及び照会処理のための先行技術によるシステム
の基本要素を図1に簡略的に示す。
【0012】この図面において、ボックス1は、データ
ベースに対して実行されるセットのトランザクションX
1、X2、....Xm及び照会Q1、Q2、...Q
nを示す。我々の環境内においては、十分なスループッ
トを達成するために、多くのトランザクションがデータ
に対して同時に実行される必要性を持つ。ただし、これ
らプログラムによって見られるデータのビューは、これ
らが、シリアルに、アトミック的に、干渉されることな
く実行されるようなものである。
【0013】トランザクションプロセッサ3は、トラン
ザクション1によって期待されるデータのビューを満た
すために必要とされる同時実行コントロール、ロッキン
グ、データ・アクセス・チェッキング、インデックス管
理、緩衝及びデータ保護を提供する。最も以前のシステ
ムにおいては、更新トランザクション及び読出しのみの
照会は、分離されることなく、独立して扱われた。トラ
ンザクションプロセッサは、典型的には、トランザクシ
ョンの要求されるスループットをサポートするために調
整される。幾つかの同時実行照会もこのトランザクショ
ンプロセッサによってサポートされるが、ただし、並行
して実行されるより長い読出しのみの照会が存在する状
況において、更新トランザクションの高いスループット
が要求される場合は、困難が発生する。
【0014】トランザクション1とトランザクションプ
ロセッサ3との間の対話は、トランザクションを実行あ
るいは中断するとき、データ・ベース・レコード及び情
報を読出したり書込んだりするためのデータ・アクセス
要求から成る。これは、インターフェース2として示さ
れる。
【0015】トランザクションプロセッサ内のワード・
プロセッサは、特定のシステム編成、マシーン・パッケ
ージあるいは物理ユニット境界を意味するものではない
。トランザクションプロセッサ機能は、単一の物理プロ
セッサ上で実行することも、一群のプロセッサの多重プ
ロセッサ網上で実行することも、あるいは処理システム
を他の機能と共有する要素上で実行することもある。 以降、我々は、プロセッサをこのように自由に使用する
【0016】トランザクションプロセッサの重要な要素
は、バッファ4である。これは、トランザクションプロ
セッサによって管理されるプールの高速アクセス・メモ
リ(例えば、電子メモリ)である。データベース・デー
タを読出したり、あるいは修正するためには、ページを
不揮発性媒体(例えば、磁気ディスク)上に格納された
トランザクション・データベース・データ8のページか
らこのバッファ内に読み込むことが必要である。更新は
、このバッファ内のページに対して行なわれ、これが最
終的には、この不揮発性データベース・データ・メモリ
内に書き戻される。
【0017】トランザクション処理は、また、データベ
ース・データをトランザクション破棄及びシステム故障
から保護するために、トランザクション・データベース
論理6を使用する。このトランザクション・データベー
ス論理は、不揮発性メモリ(例えば、磁気ディスク)上
に格納されなければならない。トランザクションプロセ
ッサが何をそのログ内に書込むべきか、及びこれがバッ
ファ・マネジメントといかにコーディネイトされるべき
かを記述する標準用語およびアルゴリズムについては以
下の文献において説明されている。つまり、C.モーハ
ン(Mohan)、D.ヘダーレ(D.Haderle
 )、B.リンドセイ(Lindsay )、H.ピラ
ヘシ(Pirahesh)、P.シュワルツ(Schw
arz )らによって、IBMリサーチ・リポートRJ
6649、1/23/89に掲載の論文『ARIES:
ライト・アヘッド・ロッキングを使用して細かい粒度の
ロッキング及び部分ロールバックをサポートするトラン
ザクション方法(A Transaction met
hod supporting finegranul
arity,locking and partial
 rollbacks using write ah
ead locking)』、及びR.A.クルーズ(
Cruz)によって、IBMシステム・ジャーナル、V
ol.23、no2、1984に掲載の論文『IBMデ
ータベース2におけるデータの回復(Data Rec
overy in IBM Database 2 』
において説明されている。
【0018】トランザクション・データベース論理6及
びトランザクション・データベース・データ8は、両方
とも、不揮発性メモリ内に格納されなければならない。 これは、通常、磁気ディスクを使用して供給されるが、
ただし、任意の匹敵するメモリ媒体を使用することがで
きる。トランザクションプロセッサは、論理に対してイ
ンターフェース5を介して、またデータベース・データ
に対してインターフェース7を介して、一連のページ読
出し及び書込み要求を発行する。これらページ読出し及
び書込みコマンドの内容は、トランザクションプロセッ
サによって定義される。インターフェース5及び7によ
って要求される不揮発性メモリ・サービスを提供するた
めの基本要件は、一旦書込まれた任意のページの内容が
後の任意の時間において正確に検索できることである。
【0019】「知能ページ・メモリに対するシステム構
造;方法及び装置」図2には、本発明のためのシステム
構造、つまり、照会及びトランザクションの同時実行を
可能とするための知能ページ・メモリ・体系のブロック
図が示される。これは、トランザクションプロセッサ3
、照会プロセッサ17、及び知能ページ・メモリ10か
ら構成される。このシステムと先行技術によるトランザ
クション及び照会システムとの間の基本的な差異は、更
新トランザクションが照会と分離され、トランザクショ
ンプロセッサ及び照会プロセッサによって独立して処理
されることである。この知能ページ・メモリは、トラン
ザクション及び照会プロセッサに、重要な性能要件(同
時トランザクション及び照会処理)が不揮発性メモリ要
件の観点から最少コストでサポートされるような方法に
より、データベースの共有物理ページへのアクセスを与
える。
【0020】トランザクションプロセッサによってサポ
ートされるセットのトランザクション9は、データベー
スからの現在のデータへのアクセスを要求する更新トラ
ンザクション及び読出しのみのトランザクションのみを
含む。これは、図1のトランザクションプロセッサ3に
よって扱われるトランザクション及び照会1のサブセッ
トX1、X2、...Xmによって表わされる。これら
トランザクションは、データベースを先行技術と同じビ
ューで見る。つまり、アトミックで、非干渉的な、シリ
アル化された動作として見る。こうして、これらがトラ
ンザクションプロセッサ3と、レコード・アクセス要求
及び実行/中止情報の同一のインターフェース2を介し
て対話する事実が図解される。
【0021】この図面内のトランザクションプロセッサ
3及びそのバッファ4の機能は、図1と同一である。こ
れらは、一体となって、トランザクションX1、X2、
...Xmによって期待されるデータのビューをサポー
トするための緩衝ロッキング、同時制御、インデックス
管理サービスを提供する。トランザクションプロセッサ
は、その回復ログに、ページ読出し及び書込み要求のス
トリームをインターフェース5を介して、あたかも回復
ログがそれに接続された不揮発性メモリ上に直接に格納
されているかのように書込み続ける。
【0022】照会プロセッサ17は、それが一貫するも
のであると言う前提の下で、完全に現在のものではない
データを受け入れることができる書込みのみの照会をサ
ポートする。セットの照会15が先行技術においてはト
ランザクションプロセッサによって処理される一例とし
ての照会Q1、Q2、...Qnにて示される。照会Q
1、Q2、...Qnは、これらが独立して処理できる
ように明確に識別され、トランザクションX1、X2、
...Xmから分離される。この別個のインターフェー
スを介して受信される照会は、これらは読出しのみであ
り、完全に現在のデータである必要がないと言う前提の
下で処理される。照会からの要求のみを含むことが知ら
れているレコード読出しアクセスのストリームであるこ
の別個のインターフェースがインターフェース16とし
て示される。
【0023】照会プロセッサ17は、照会に対するアク
セス・チェッキング、インデックス管理、緩衝等を提供
することを要求される。照会プロセッサ17のために先
行技術においてトランザクションプロセッサ3のために
使用されたのと同一のソフトウエア及びハードウエア処
理を使用することも可能である。ここで、先行技術にお
いては、照会も処理する。ただし、殆どの現存のデータ
ベース・システムは、十分なトランザクション・スルー
プットがサポートできると言う要件にてドライブされて
いるために、照会処理を別個の主体によって処理し、ソ
フトウエア及びハードウエア処理を再調整あるいは再設
計し、読出しのみの照会のみをサポートするようにする
ことができる。照会のみのシステム内における同時制御
、ロッキング及びデータ保護に対する要件は、汎用トラ
ンザクション処理のものと比較して軽減されるため、か
なりの性能及びコスト上の利益が得られる。
【0024】照会プロセッサ17は、幾らかの内部ペー
ジ・バッファを含むが、ただし、バッファ管理体系は、
バッファ4において使用されるのと異なるために、バッ
ファはサブ要素として明確には定義されない。
【0025】インターフェース18は、照会プロセッサ
17がページ読出し要求のストリームを介してデータベ
ース・データのページを要求することを可能にする。こ
うして供給されるデータは、最近のデータベース・デー
タの一貫したビューを表わす。
【0026】知能ページ・メモリ10は、新しい概念で
あり、不揮発性メモリの大きなコストないしトランザク
ションと照会の分離した処理を(それぞれトランザクシ
ョン及び照会処理によって使用すための全てのデータベ
ース・データの独立したコピー)を可能にする。
【0027】知能ページ・メモリは、処理部11及び不
揮発性メモリ部12を含む。知能ページ・メモリ内の処
理は、インターフェース5、7、18を介してトランザ
クション及び照会プロセッサからのページ読出し及び書
込み要求を扱う版マネージャ13から成る。知能ページ
・メモリ内の不揮発性メモリは、トランザクション・デ
ータベース・ログ6及びトランザクション・データベー
ス・データ8に対する貯蔵所として機能する。このトラ
ンザクション・データベース・データは、図1において
8として示されているものと全く同一である。つまり、
これは、トランザクションプロセッサ6が不揮発性メモ
リに書込んだ個々のページの現在のコピーに対するバッ
キング・メモリである。知能ページ・メモリは照会バー
ジョン・データ14のページのための追加の不揮発性メ
モリを提供する。これらは、データベースの一貫した照
会ビューをインターフェース18内の要求を介して照会
プロセッサに与えることを可能にする。
【0028】版マネージャ13の機能は、トランザクシ
ョンプロセッサ及び照会プロセッサによるデータの共有
論理ページへのアクセスを制御する一方、これらが互い
の性能に大きな影響を与えることを阻止し、また、物理
不揮発性メモリに対する総要件を低減することにある。 この結果として、トランザクション・データベース・デ
ータ8及び照会バージョン・データを保存するために必
要とされる総不揮発性メモリは、先行技術においてトラ
ンザクション・データベース・データに対して必要とさ
れた量の二分の一以下となる。
【0029】版マネージャ13は、照会プロセッサから
のページ読出し要求に応答して、インターフェース18
を介してデータベース・データの最近の一貫したバージ
ョンを提供し、また、同時に、インターフェース5及び
7を介してのトランザクションプロセッサからの要求に
応答して単純な不揮発性メモリのように振る舞う。
【0030】長時間実行複合照会が照会によって読出さ
れたデータのトランザクション更新をロックアウトする
ことを阻止する一方において一貫したアクセスを保持す
るために、照会は、データの一貫した照会スナップ・シ
ョットを見る。つまり、トランザクション更新は、論理
的に分離されたトランザクションバージョンにされる。 ただし、同一ページの殆どをデータのトランザクション
と照会版の間で共有するために、全ての対応するトラン
ザクション及び照会バージョンの論理ページは、その照
会バージョンがデータベース・スナップ・ショットと呼
ばれるプロセスによって生成されて以来トランザクショ
ンによって更新されたページに対する物理メモリの単一
ページからサポートされる。我々は、独立したトランザ
クション及び照会ビューをサポートするために共有物理
ページを使用するこの方法を暗黙バージョニング(im
plicit versioning )と呼ぶ。この
方法は図3及び4を使用してより詳細に説明される。
【0031】知能ページ・メモリはまた新たなタイム・
ステップがいつ取られるかを決定するための機構を含む
。これは、内部アルゴリズムあるいはユーザからの外部
プロンプト、トランザクションプロセッサあるいは照会
プロセッサに基づく。含蓄バージョニングを実現するた
めに、バージョン・マネージャ13はトランザクション
及び照会処理の両方からのページ・アクセスを正しい物
理ページにルーティングし、ページのバージョンを保持
及び管理し、新たな照会スナップ・ショットの生成を開
始及び処理し、また古いページのバージョンから物理メ
モリを回復及び再使用する責務を持つ。
【0032】知能ページ・メモリ10内の不揮発性メモ
リ12上に保存されたトランザクション・データベース
・ログ6は、トランザクションプロセッサ3がデータベ
ース・データをトランザクション破棄及びシステム故障
から保護するために不揮発性メモリに保存するために必
要とする正にその情報である。知能ページ・メモリ内の
バージョン・マネージャ13は、ログ・インターフェー
ス5内の読出し及び書込み要求に応答して、知能ページ
・メモリ不揮発性メモリ上のトランザクション・データ
ベース・ログ6内にこの情報を保存し、また、これをそ
の後の読出し要求に対してリターンする。知能ページ・
メモリ内にデータベース・ログを持つことの長所は、こ
のログ情報をトランザクションプロセッサの邪魔をする
ことなく、あるいはこのスループットを低減することな
く、データベース・データの一貫したバージョンを生成
するために使用できることである。ログは更新トランザ
クションに対してのみ保持され、照会プロセッサはトラ
ンザクション・ログ情報へのアクセスを必要としないた
めに、ページ・メモリ内にデータベース・ログを格納す
るために要求される不揮発性メモリの量は、先行技術に
よるようにログがトランザクションプロセッサに直接に
接続された場合と同一である。
【0033】同様に、バージョン・マネジャーは、イン
ターフェース7内のトランザクション・データベース・
データ・ページ読出し及び書込み要求に応答して、ペー
シ・イメージをトランザクション・データベース・デー
タ8に対する知能ページ・メモリ内の不揮発性メモリ内
に保存し、これらをその後の読出し要求に対してリター
ンする。これは、バージョン・マネージャがデータベー
ス・スナップ・ショット処理によってその照会バージョ
ンが生成されて以来あるトランザクションがそのページ
を修正したときにのみ照会に対するデータベースの一貫
したビューをサポートするために照会バージョン・デー
タ14内にページの追加の物理コピーを生成することを
可能にする。不揮発性メモリは、データベース設備のコ
ストの大きな要素となるために、トランザクション及び
照会プロセッサに対するページの不要な別個の物理コピ
ーを回避することは重要である。図3及び図4において
説明される暗黙バージョニングには、照会に対する一貫
したビューを提供することの要件、及び不揮発性媒体の
トランザクション処理に対するアピアランスを満たすた
めにデータベース・データ・ページのコピーをいつ生成
すべきかを決定するための効率的な体系を含む。これは
、照会及びトランザクションがデータベース・ページの
不要な重複なしに、従って最低限のコストで同時に実行
できるようにする。
【0034】知能ページ・メモリ10内の不揮発性メモ
リ12は、トランザクション・データベース・ログ6、
トランザクション・データベース・データ8及び照会バ
ージョン・データを格納するための任意の標準の不揮発
性媒体(例えば、磁気ディスク)を使用して実現するこ
とができる。
【0035】「暗黙バージョニング:照会バージョンの
管理」図3は、暗黙バージョニングを定義する状態図で
あり、データベース状態、照会スナップ・ショット、ト
ランザクション及び照会間の時間の進行に従っての関係
を示す。この状態図は、照会及び照会バージョンが典型
的なトランザクションの寿命の100倍あるいは100
0倍以上の寿命を持つと言う意味において完全なスケー
ルを持つものではない。我々は、現データ及び一つの照
会スナップ・ショットへのトランザクション・アクセス
がサポートされるケースに対する暗黙バージョニングに
ついて説明する。この体系の率直な拡張は、新たなスナ
ップ・ショットが生成されるときの崩壊を低減し、追加
の不揮発性メモリを犠牲にして追加の照会バージョンを
許す。
【0036】図3は、状態・時間図であるが、時間は、
左から右へと進行する。互いのすぐ上の事象は、同時に
発生するものである。
【0037】図3において、最も上のセクションは、そ
れぞれトランザクションプロセッサ上で実行されるサン
プル更新トランザクションX1、X2、...X7の寿
命を示す。これらボックスの各々の左端は、更新トラン
ザクションがいつ実行を開始し、またロック及びデータ
ベース資源の保持がいつ開始されるかを示す。右側は、
これがいつ終了し、データベース内で更新がコミットさ
れるかを示す。これらトランザクションは重複し(同時
実行され)、必ずしもそれらの開始の順番ではない順番
にてコミットされることに注意する。
【0038】図3の次のセクションは、更新トランザク
ションX1、X2、...X7が加えられた結果として
のデータベースの状態を時間とともに示す。初期データ
ベース状態26は、開始時間におけるデータベースの状
態を表わす。データベース27、28、29、30、3
1、32、33のその後の状態は、トランザクションX
1、X2、...X7が順番にコミットした後の変化し
た状態を示す。トランザクション・データ・ベース状態
は、各々が一つのトランザクションの更新を含む小さな
粒度のステップにて進行することに注意する。トランザ
クションがX1をX2の前に、X2をX3の前にコミッ
トするこの順番は、トランザクションプロセッサ3によ
って生成されるトランザクション・データベース・ログ
6内に正確に反映される。これら状態図内においては、
先行するトランザクションからの全ての更新が含まれ、
その後のトランザクションからの更新は含まれない。例
えば、状態30、つまり”トランザクションX4の後の
データベース状態”は、X1、X2、X3及びX4から
の更新を含むが、X5、X6あるいはX7からの更新は
含まない。我々は一貫したと言う用語をデータベース状
態のこの特性を定義するために使用する。
【0039】図3の34、35、36、37を含む次の
セクションはデータベース状態のスナップ・ショットを
取ることによって生成され、照会によって使用されるた
めに保持される照会バージョンを示す。
【0040】動作34において、バージョン・マネージ
ャは36によって示される寿命を持つ照会バージョンV
0を生成するために初期データベース状態26のスナッ
プ・ショットを取る。36の長さは、照会プロセッサ上
で実行される照会によって使用することが可能な照会バ
ージョンV0の寿命を示す。動作35は、トランザクシ
ョンX3がコミットした後のある時間におけるバージョ
ン・マネージャを示す。このコミットは、一貫したデー
タベース状態29のスナップ・ショットを取り、これを
使用して照会バージョンV1を生成することによって行
なわれる。照会に対して照会バージョンV1が使用でき
る寿命は、37の長さによって示される。
【0041】図3の次のセクションは、サンプルとして
の照会寿命を示す。つまり、Q1及びQ2が処理されて
いる期間が、それぞれ、アクティブ寿命38及び39と
して示される。この時間を通じて、Q1及びQ2は、”
照会バージョンV0”36のデータへのアクセスを持た
なければならない。照会Q3及びQ4は、それぞれ、寿
命40、41を持ち、これら照会は、”照会バージョン
V1”37のデータへのアクセスを持たなければならな
い。
【0042】バージョン・マネージャ11によって実現
されるこの暗黙バージョニング・体系は、トランザクシ
ョンプロセッサ3がデータのページをインターフェース
7を介して、そのバッファ4の使用を最適化するような
方法にて書き出すと言う事実に対処しなければならない
。より具体的には、ページは、コミットされないデータ
を含めて、書き出されたセットのデータがデータベース
状態26、27、28、29、30、31、32、33
の意味において、トランザクション・データベースの一
貫した状態を表わすと言う保証なしに書き出される。 知能ページ・メモリは、これらページを受信し、照会プ
ロセッサ内のより長い実行期間を持つ照会によって見ら
れるデータのビューを妨害することなく、これらをその
後の読出し要求に対してリターンしなければならない。 つまり、これらは照会バージョン36、37を見なけれ
ばならない。暗黙バージョニングにおいては、これは、
照会によって見られるデータのバージョンを離散ステッ
プにより進めることによって達成される。個々のタイム
・ステップにおいて、新たな照会スナップ・ショットが
生成され、照会に対して見えるようにされる。個々のス
ナップ・ショットは、ある最近の時間におけるコミット
されたデータ・ベース・データの一貫したビューである
。時間ステップの間において、知能ページ・メモリは、
照会に対してデータの一貫したビューを与える。トラン
ザクションプロセッサが更新されたページを知能ページ
・メモリに書き出すとき、これら更新されたページは、
保存されるが、ただし、次の時間ステップまで照会に対
して見えるようにされない。
【0043】「暗黙バージョニング:ページ・コピーの
管理」暗黙バージョニングはまた現在のトランザクショ
ン及び照会ビューをサポートするためにデータベース・
データ・ページの追加のコピーがいつ要求されるかを正
確に決定する。これは、不揮発性メモリ要件を最小限に
する。暗黙バージョニングによるページ・コピーの管理
が図4の時間状態図によって記述される。時間は、この
図においては、左から右へと進む。互いにすぐ上の事象
は、同時に発生する。
【0044】知能ページ・メモリ10内にデータベース
・データの初期状態、つまり、トランザクション・デー
タベース・データ8と照会バージョン・データ14が組
み合わされたものが47として示される。これは、実際
には、セットのページ値を格納するセットの論理ページ
P1、P2、...P7によって表わされる複合状態で
ある。我々は、これらページ内に格納される値を、それ
ぞれ、文字”a”、”b”、”c”、”d”、”e”、
”f”、”g”によって表わす。このデータベース状態
は、トランザクション処理が休止した後に再開したばか
りのときに起こるように、トランザクション・データベ
ースの一貫した状態及びトランザクション・データの実
際の状態であると想定される。図3の状態26は、この
ケースを示す。我々は、この一貫した状態のスナップ・
ショットが動作34に示されるように取られ、”照会バ
ージョンV0”36のように、これに対応する照会バー
ジョンが生成されるものと想定する。
【0045】鍵となる点は、この状態47において、ど
のページも二度は格納されないことである。つまり、ペ
ージP1、P2、...P7の個々の単一コピーのみで
データベース・データの正しいトランザクション及び照
会ビューをサポートするのに十分である。このセットの
物理ページは、トランザクション・データベース・デー
タ8として機能する。つまり、この時点において、照会
バージョン・データ14に対して追加の物理メモリは要
求されない。
【0046】トランザクションプロセッサからのインタ
ーフェース7を介しての一連のページ読出し及び書込み
要求動作42、43、44、45は、知能ページ・メモ
リ内に格納されたページ・データに影響を与える。動作
46は、データベースのサブショットを取ることによっ
て新しい照会バージョンをその後生成する効果を示す。 これら動作の結果としてのデータ・メモリの状態のシー
ケンスが状態48、49、50、51、52として示さ
れる。
【0047】動作42は、トランザクションプロセッサ
からのページP5の値を読出すと言う要求である。これ
は、ページ・メモリ内の”e”という現在の値を受信す
る。ページP1、P2、...P7に対して格納された
値は、修正されておらず、コピーは作成されない。
【0048】次の動作43は、トランザクションプロセ
ッサからの値”x”をページP3に書込むと言う要求で
ある。状態49は、古い値”c”及び新しい値”x”の
両方が保存できるようにページP3のコピーが作成され
ることを示す。この時点において、照会は、照会バージ
ョン・データ14内に在駐する古い値”c”を見、一方
、不揮発性メモリへのトランザクションプロセッサ要求
は、トランザクション・データベース・データ内のペー
ジのコピー内の新しい値”x”を見る。
【0049】次の動作44は、トランザクションプロセ
ッサからのページP3を読出す要求である。これは、前
にトランザクションプロセッサの要求によってそこに書
込まれたページの値”x”を受信する。動作44の後の
ページ・メモリの状態である状態50は、ページ・メモ
リの状態がこの読出し動作の結果として修正されなかっ
たことを示す。
【0050】動作45は、トランザクションプロセッサ
の値”y”を書込む要求の後のページP3へのその後の
書込みである。状態51は、新たな値”y”が古いトラ
ンザクション値”x”上に書込まれたが、ただし、この
時点において照会によって必要とされる値、つまり、”
c”が既にコピー内に保存されているためにページの新
たなコピーは作成されないことを示す。
【0051】動作46において、データベースのスナッ
プ・ショットを取ることによって新たな照会バージョン
が生成されると、ページP3に対する古い照会値”c”
は破棄することができ、状態52によって示されるよう
に、このコピーに対して使用された不揮発性メモリが再
使用のために回復される。値”y”をページP3内に書
込む責務を持つトランザクションが”スナップ・ショッ
ト”が作られる前にコミットされたと想定すると、これ
が次の時間ステップにおいて照会に対して提供される値
となる。
【0052】第一の照会期間内における照会プロセッサ
からの読出し要求は、この時間期間内のいつこれらの要
求が行なわれたかに係らず”照会プロセッサからのV0
読出し”53によって示されるようにページP1、P2
、...P7に対して、値”a”、”b”、”c”、”
d”、”e”、”f”、”g”を見る。次の期間からの
読出し要求は、”照会プロセッサからのV1読出し”に
よって示されるように、論理ページP1、P2、...
P7に対してこれら新たな値”a”、”b”、”y”、
”d”、”e”、”f”、”g”を見る。
【0053】状態52までには、照会バージョン・デー
タ14のために使用された物理メモリは、次の照会バー
ジョンによって再使用されるよう回復されることに注意
する。
【0054】図4は論理的なものである。つまり、現在
のデータベースは、一例としての記述において使用され
る7ではなく、通常、10,000以上のデータ・ペー
ジを含む。
【0055】「暗黙バージョニングを実現するバージョ
ン・マネージャ内の論理」図5は、暗黙バージョニング
を実現するために使用されるバージョン・マネージャ1
3内の論理を示す。これは、制御フローのグラフである
。バージョン・マネージャ内のデータ構造は、以下から
成る。 ・ファイル・マップに対するページ これは、その論理ページの主コピーが格納されているフ
ァイル・システム内の位置に対するページ番号をマップ
する。トランザクション・データベース状態が現照会バ
ージョンと同一のときは(例えば、図4内の状態47)
、トランザクション・データベース・データ8は、デー
タベース内の各々の論理ページの主コピーから成る。 ・コピー標識ベクトル これは、データベース内の個々の論理ページに対する1
ビットの情報を含み、照会バージョン・データ14の一
部として副ピーが作成されているか否かを示す。 ・コピー・インデックス これは、作業メモリ内の副ページの位置を示す。これは
、例えば、B−Treeの形式を持つ。
【0056】次に、図5の流れ図の説明に移る。バージ
ョン・マネジャーへの事象入力55は、トランザクショ
ンプロセッサからの”照会プロセッサからページを読出
す”(58)ための、あるいは”新たな照会バージョン
を生成する”(59)ための”ページを読出すための要
求”(56)、あるいは”ページの書込み”(57)で
ある。
【0057】事象56が受信されると、つまり、読出す
ページの番号及び期待されるリターン・ページの値とと
もに、”トランザクションプロセッサからのページを読
出す要求”が受信されると、動作60は、ファイル・マ
ップに対するページを使用してこのページの位置を調べ
る。動作61は、このページの値をファイル・システム
のこの位置から読出すことによって得て、動作62は、
要求に応答してこの値をリターンする。
【0058】事象57が受信されると、つまり、書込む
ページの数及び書込むべき値とともに”トランザクショ
ンプロセッサからのページ書込み”が受信されると、動
作63によって、そのページの副コピーが現照会バージ
ョンによって必要とされるデータにて既に作成されてい
るか否かを決定するためにそのコピー標識ベクトルがチ
ェックされる。まだ作成されてないときは、動作64が
ページ・フレームの作業スペースから照会バージョン・
コピーに対するスペースを割り当て、主コピー内に前に
格納されているそのページの照会値をこうして割り当て
られたスペースにコピーし、コピー・インデックスをこ
のコピーを指すように更新し、この論理ページに対応す
るコピー標識ベクトル内の標識をコピーが既に作成され
ていることを示すようにセットする。
【0059】このポイント以降は、処理は、照会コピー
の作成を必要としたか否かに関係なく同一である。動作
65において、主コピーの位置がファイル・マップに対
するページを使用して要求されたページ番号を検索する
ことによって決定され、この新たな値が動作66におい
て前の値の上に書込まれ、この要求が次に動作67によ
って完結される。
【0060】我々の上記の好ましい実施態様においては
、照会バージョンが”アウト・オブ・ポジション(ou
t of position )”にされ、最も最近の
トランザクション値に対して主コピーが使用されると言
う照会及びトランザクション・システムの特性を持つ。 ただし、この選択は、暗黙バージョニング概念に本質的
なものではない。
【0061】事象58が受信されると、つまり、読出す
べきページの番号及び期待されるリターン値とともに”
照会プロセッサからのページ読出し要求”が受信される
と、動作68において、このページの照会コピーが既に
作成されているか否かを決定するためにコピー・ベクト
ルがチェックされる。既に作成されているときは、動作
72においてコピー・インデックスを使用してこのコピ
ーの位置が決定され、動作73においてこの位置から値
が読出される。既に作成されてないときは、動作69に
おいてファイル・マップに対するページを使用して主コ
ピーの位置が決定され、動作70において、ファイル・
システム内のこの位置から読出すことによってページ値
が得られる。動作71は、要求者にこれらの経路のいず
れかによって得られた値をリターンする。
【0062】新たな照会バージョンを作成したい場合、
事象59において、セットの主ページがトランザクショ
ン・データベースの一貫した状態を表わす場合、副ペー
ジが開放され、これらの内容が動作74において破棄さ
れる。次に、動作75において、コピー・インデックス
及びコピー標識ベクトルが副照会バージョンのページが
現在存在しないことを示すようにリセットされる。最後
に、動作76において、この事象に対する処理が完結し
たことが示される。
【0063】ページ・メモリ内のセットの主ページがト
ランザクション・ベースの一貫した状態を表わすことを
保証するための方法が以下に説明される。
【0064】「ページ・メモリに一貫したトランザクシ
ョン・データベース状態をもたらすための方法」ディス
クにデータベースのトランザクションの一貫したスナッ
プ・ショットをもたらすための一つの方法は、トランザ
クションプロセッサ上の全てのトランザクションを、こ
れらを休止させ、つまり、これらがデータベースを出た
時点で直ちにこれらを停止し、バッファ4内に入れるこ
とによって、一貫した状態に保つ方法である。
【0065】トランザクション処理主体が修正されコミ
ットされたページがメモリ内にディスクにフラッシュさ
れることなく留まることができる時間の長さに制限を与
えるような場合は、(トランザクション処理に対して最
少の妨害を持つ)好ましい実施例は、以下に説明される
トランザクション・トラヒックに妨害を与えないタイム
・ステップのためのアルゴリズムである。
【0066】「保証されたページ・アウトを持つタイム
・ステップの詳細」このセクションにおいては、任意の
修正されたページが時間Tの前に(これがバッファ内に
おいて修正され、トランザクションがコミットされた後
に)、書き出されることを保証するデータベースに対す
るタイム・ステップ・アルゴリズムについて詳細に説明
する。・時間tに対して、A(t)をその時間tにおい
てアクティブである全てのトランザクションの開始時間
の最少であると定義する。A(t)は、常に、tの前で
あるかtに等しい。・LSN  tが時間tにおいて到
達されるログ・オフセットであるものとする。A(t)
よりも前の全てのトランザクション活動は、時間tまで
に、LSN  sの所のログ内のページ更新に対して解
決されているために(ここで、LSN  s&Al.L
SN  A(t)、ログ期間(LAM  s、LSN 
 t)を調べることによってこの更新がコミットされた
か破棄されたかを決定することが可能である。・時間T
内のページ・アウトを保証するためのトランザクション
処理主体とは、何を意味するかと言う厳密な定義を与え
る。つまり、時間sにおいてコミットされる任意のペー
ジ更新に対して、この更新(及び恐らくは後の動作)を
含むページのバージョンは、時間s+Tまでにディスク
にフラッシュされ;時間sにおいて破棄され、デッスク
にページの正しくないバージョンがフラッシュされるこ
とを許される任意のページ更新に対しては、実行されな
かった更新(及び恐らくはオーバーライトされた後の動
作)を持つページのバージョンが時間s+Tまでにディ
スクにフラッシュされる。・時間T、及び任意の与えら
れた時間TS内のページ・アウトを保証するトランザク
ション処理主体に対しては、A(TS−T)より前の全
てのページ更新は、(責務を持つトランザクションが時
間TS−Tまでにコミットあるいは破棄し、動作の結果
が少なくとも時間Tの後にディスクにフラッシュされる
ことが保証されるために)時間TSまでに”ディスク上
に”反映される。・時間TSにおいて、照会処理時間ス
テップを取るためには、以下の動作が必要である。
【0067】1.時間TSの直後に、書込むためのトラ
ンザクション処理の全て動作は、時間TSにおいて存在
したイメージについてページの予備照会コピーを作成す
ることを強要する。
【0068】2.時間A(TS)及びA(TS−T)が
決定される。これは(知能ページ・メモリ内において)
、ログ内のチェック・ポイント・レコード内に書き出さ
れたトランザクション・テーブルから開始し、新たなト
ランザクションの開始及び終端を示しながらログを通じ
て前方向に実行することによって遂行される。
【0069】3.時間TSにおける知能ページ・メモリ
内のデータ・ベースのイメージに対してログ期間(LS
N  A(TS−T)、LSN  TS)を処理するこ
とによって、時間A(TS)までにコミットされた全て
のトランザクションを反映するデータ・ベースの正しい
スナップ・ショットを構成することが可能である。
【0070】4.個々の全ての更新手順A(TS−T)
がコミットあるいは破棄され、この更新の対応する効果
あるいは破棄(undo)が知能ページ・メモリ内の予
備照会イメージ内に反映されることに注意する。
【0071】5.ログを通じてのLSN  A(TS−
T)からLSN  TSへの順方向のパスが行なわれる
。 LSN  A(TS)の前の個々のページ更新に対して
、LSNA(TS)前に予定となっているトランザクシ
ョンがコミットされたか否かを決定することができる。 つまり、期間(LSN  A(TS)、LSN  TS
)内のページがA(TS)までにコミットを終えること
はない。さらに、更新レコードのログ位置を予備照会ペ
ージ内のLSNと比較することによって、我々は、A(
TS)の前にコミットする任意の更新がそこに反映され
ているか否かを決定することができる。我々は、このよ
うな更新を順番に(ログを通じて前方向に)満たすため
に、これらがページの予備照会コピー内に存在しないと
きは、これらを加えることができる。ログからのページ
更新を処理するためのアルゴリズムは以下の通りである
【0072】(ログを通じて順方向に進む)個々のペー
ジ更新に対して、 if  トランザクションがA(TS)前にコミットす
る時はif  LSN(更新)&Ar.LSN(予備Q
DBページ)であるときは、then  更新を行なう
。 −−これは、我々がログ内のLSN  A(TS−T)
から開始したためである。 −−これは、”シーケンス内の次の更新”でなければな
らない。 else  LSN(更新)以下、あるいはLSN(予
備QDBページ)以上であるときは、スキップする。 −−この更新は予備QDBコピー内に既に反映されてい
る。 else  A(TS)の後にトランザクションが破棄
あるいはコミットされている。 (このカテゴリーにおいては、全ての更新は、A(TS
)の後である)。 if  LSN(更新)&Ar.LSN(予備QDBペ
ージ)の場合は、thenスキップする。 −−更新は、予備QDBにフラッシュ・アウトされてな
い。 else  LSN(更新)=LSN(予備QDBペー
ジ) この更新、及びそのページに対する、前にスタックされ
ている全てのアンドウをアンドウ(破棄)する。 −−この更新は、ページ・メモリに対して行なわれるが
、その後は行なわ−−れない。実行されたページのバー
ジョン;更新を無効し、その後その−−ページに対して
前にスタックされている全ての更新を逆の順番に無効−
−にする。 else  LSN(更新)&Al.LSN(予備QD
Bページ)の場合、全てのアンドウ(破棄)が逆の順番
に存在する予備QDBに対して適用できる場合、後に適
用するためにそのアンドウ(破棄)を積み重ねる。
【0073】6.このログ・パスが完了した時点で、予
備QDBページは、A(TS)によってコミットされた
全てのトランザクションに対するデータ・ベース・イメ
ージを反映する。 ・メモリ内にページの積み重ねられたアンドウ(無効)
動作を管理するための空きが存在しないときは、これは
、ログ・レコードにマークを付け、これらを連結し、ロ
グを通じてのLST  TSからLSN  A(TS−
T)に向かっての第二の逆方向へのパスを行なうことに
よって処理することができる。 ・ログ処理の際に予備QDBページが修正される度に、
これは、”停止及びフラッシュ(Suspend an
d Flush )”アルゴリズムにおいて記述される
ページのイメージを保存する技術を使用して遂行される
。形式的には、if  予備QDBコピーが既に存在す
る場合は、−−ページのADBバージョンから分離し、
then  現存の予備QDBバージョンを修正する。 else −−時間TSイメージにて予備QDBバージョンを生成
し、これに、アンドウあるいは再実行(redo)動作
を適用する。 ・全てにおいてページ・アウト保証時間が同一であるべ
きであると言う理由は存在しない。時間ステップに対し
て時間TSが選択された後、唯一必要とされることは、
その時間の前の全てのページ更新の影響がTSまでに解
決されディスクにページ・アウトされるように時間を決
定することである。メモリ内で修正されているが、ペー
ジ・アウトされてないページの汚れたページ・テーブル
(Dirty Page Table、DPT)を維持
するデータ・ベースに対しては、A(min (DPT
(TS)))がことの特性を持つ。 ・時間ステップの説明にあたって、トランザクション処
理主体の故障及び再開に関してはまだ説明してない。最
も単純で一般的なアプローチ(そして、我々の好ましい
実施例)は、トランザクション処理主体が故障した場合
、これを次の照会時間ステップが取られる前に回復する
方法である。時間ステップ・アドバンスとトランザクシ
ョン・システムの回復とを織り混ぜる方法は、可能では
あるが、トランザクション・システムによって使用され
るある特定の回復戦略においては問題がある。
【0074】ページ・アウトの保証は、トランザクショ
ン処理システムの故障が発生しないという前提の下で、
全ての解決された更新がその時間内にディスクにフラッ
シュされる時間である。
【0075】「データベース及びログ・メモリの所有権
」上の説明において、我々は、知能ページ・メモリがデ
ータベース・ページ及びトランザクション処理からのロ
グに対して使用されるメモリの所有権を持つものと想定
した。
【0076】A(t)のような量の計算は、知能ページ
・メモリがログ内のチェック・ポイントからアクティブ
のトランザクション・テーブルを読み、このログからそ
の後のトランザクションの開始及び終端動作を知るよう
にすることによって最も簡単に実現できる。
【0077】同様に、Tを計算する最も簡単な方法は、
ログ・チェック・ポイント・レコードから汚れたページ
・テーブルを読出し、一層の精度が要求される場合は、
これを時間毎に前進させ、その後ラッシュされたページ
が存在するかメモリをチェックする方法である。
【0078】「時間ステップ前進の際に照会処理への妨
害を防ぐ方法」前述のように、全ての照会は、データの
正当な照会バージョンに対して実行されなければならな
い。従って、新たなスナップ・ショットが生成されてい
る最中に照会が実行されてはならない。照会処理のこの
中断は、個々の修正されたページの最大一つの追加のペ
ージを犠牲にすることによって回避することができる。 こうすることによって、最後の照会バージョン(A)に
対して実行される照会が継続でき、この間に、新たな照
会が新たな照会バージョン(B)を見ることができる。 さらにもう一つの照会バージョン(C)は、全ての照会
アクセス・バージョン(A)が完結し、バージョン(A
)が削除されるまで生成されない。
【0079】「トランザクションと照会プロセッサ間の
インデックス及びメタデータの共有」知能ページ・メモ
リが関連テーブル・データのバージョニングとの関連で
説明された。同様の技法が修正を必要とすることなくト
ランザクションプロセッサ・カタログ及び他のメタデー
タによって構築されたインデックスへのアクセスを照会
プロセッサに与えるために使用できる。バージョニング
は、このように照会プロセッサに対して使用できるよう
にされたインデックス及びメタデータ・ページが照会テ
ーブル・データと完全に同期され、一貫性を持つことを
保証する。本発明が好ましい実施態様の形式で説明され
たが、本発明の真の範囲及び精神から逸脱することなく
、形式あるいは上の説明の細部について修正することが
可能であることは勿論である。
【0080】
【発明の効果】本発明によれば、共有不揮発性メモリを
含む知能ページメモリに対してデータベース・トランザ
クション処理及び照会処理を同時に行うようにすること
ができる。
【図面の簡単な説明】
【図1】先行技術によるトランザクション及び照会シス
テムの関連するシステム構造を示す略図である。
【図2】本発明の好ましい実施態様に対するシステム構
造の略図であり、トランザクション及び照会によるデー
タへの同時及び一貫したアクセスのための知能ページ・
メモリが示される。
【図3】データベース・スナップショットがいつ生成さ
れるか、これらに対して一貫とは何を意味するか、及び
照会バージョンを保持するとは何を意味するかを示す状
態/時間図である。
【図4】ページ・メモリ内の各々のページのコピーの数
が時間を通じてトランザクションプロセッサからの書込
み要求及び新たなバージョンの生成の結果としていかに
変動するかを示す状態/時間図である。
【図5】好ましい実施態様において暗黙バージョニング
を実現するために知能ページ・メモリによって使用され
るアルゴリズム及び論理を定義する図である。
【符号の説明】
3  トランザクションプロセッサ 4  バッファ 6  トランザクション・データベース・ログ8  ト
ランザクション・データベース・データ9  トランザ
クション 10  知能ページメモリ 11  処理 12  不揮発性メモリ 13  バージョンマネージャ 14  照会バージョンデータ 15  照会 17  照会プロセッサ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】データベースの個々のページの主バージョ
    ンに対する不揮発性メモリとして使用され、また最も最
    近に更新されたデータベース・ページに対するアクセス
    を必要としない照会によってアクセスされるための前記
    データベースの少なくとも一つの一貫したスナップ・シ
    ョット・バージョンを生成及び維持するための一つの知
    能ページ・メモリと、前記データベースの前記主バージ
    ョン・ページにアクセスし、これを更新するトランザク
    ションプロセッサと、照会を前記データ・ベースの前記
    少なくとも一つの一貫したスナップ・ショット・バージ
    ョンに対して実行するための前記トランザクションプロ
    セッサとは独立した一つの照会プロセッサとを備え、前
    記知能ページ・メモリが前記データベースの任意のペー
    ジの前記主バージョンと同一の一つの物理コピー及び前
    記データベースの前記少なくとも一つのスナップ・ショ
    ット・バージョンのみを維持し、前記主バージョン・ペ
    ージが前記トランザクションプロセッサに前記知能ペー
    ジ・メモリによって供給され、前記少なくとも一つの一
    貫した前記データベースのバージョンが前記照会プロセ
    ッサに供給されることを特徴とするデータベース・トラ
    ンザクション及び照会処理システム。
  2. 【請求項2】前記トランザクションプロセッサと前記照
    会プロセッサが異なる物理主体から成ることを特徴とす
    る請求項1に記載のデータベース・トランザクション及
    び照会処理システム。
  3. 【請求項3】前記トランザクションプロセッサと前記照
    会プロセッサが同一の物理主体上で実行される独立した
    プロセスであることを特徴とする請求項1に記載のデー
    タベース・トランザクション及び照会処理システム。
  4. 【請求項4】前記ページ・メモリが前記データベースの
    一つ以上の一貫したスナップ・ショット・バージョンを
    維持することを特徴とする請求項1に記載のデータベー
    ス・トランザクション及び照会処理システム。
  5. 【請求項5】前記トランザクションプロセッサが前記デ
    ータベースの幾らかのページの最も最近のバージョンに
    対する高速アクセス・メモリとして機能するページ・バ
    ッファを含み、前記知能ページ・メモリが前記ページ・
    バッファ内に前記最も最近のバージョンのページの全て
    のコピーを必ずしも含まないことを特徴とする請求項1
    記載のデータベース・トランザクション及び照会処理シ
    ステム。
  6. 【請求項6】前記知能ページ・メモリが前記データベー
    スの一貫したスナップ・ショット・バージョンを前記ペ
    ージ・バッファを前記知能ページ・メモリ内にフラッシ
    ングすることによって作成し、前記フラッシング後の前
    記データベースの前記主バージョンが一つの一貫したス
    ナップ・ショット・バージョンとなることを特徴とする
    請求項5に記載のデータベース・トランザクション及び
    照会処理システム。
  7. 【請求項7】データ・ベース・ログが含まれ、前記知能
    ページ・メモリが前記主バージョン・ページ及び前記デ
    ータベース・ログから一貫したスナップ・ショット・バ
    ージョンを派生することを特徴とする請求項1に記載の
    データベース・トランザクション及び照会処理システム
  8. 【請求項8】前記データベース・ログが前記知能ページ
    ・メモリ内に格納されることを特徴とする請求項7に記
    載のデータベース・トランザクション及び照会処理シス
    テム。
  9. 【請求項9】前記知能ページ・メモリが前記データベー
    スの各々のページの前記主バージョンを格納するための
    第一のメモリ空間、及び前記データベースの幾らかのペ
    ージの少なくとも一つのより古いバージョンを格納する
    ための第二のメモリ空間を含むことを特徴とする請求項
    1に記載のデータベース・トランザクション及び照会処
    理システム。
  10. 【請求項10】データベース・トランザクション及び照
    会処理システムにおいて、前記システムが:トランザク
    ション処理主体;照会処理主体;及び一つの順番のセッ
    トの時間間隔を持つ知能ページ・メモリを含み、現時間
    を含む時間間隔が現時間間隔であり、前記知能ページ・
    メモリが複数の論理ページから構成されるデータベース
    に対する不揮発性メモリとして機能し、各々の前記論理
    ページが一つあるいは複数の物理ページと関連し、各々
    の前記論理ページと関連する前記物理ページの一つが前
    記主物理ページであり、各々の前記物理ページと関連す
    る他の物理ページが補助ページと呼ばれ、各々の補助物
    理ページが一つのタイム・ステップと関連し、前記トラ
    ンザクション処理主体と前記照会処理主体が前記知能ペ
    ージ・メモリへのページ・アクセスを同時に行い、前記
    トランザクション処理主体のページ要求が読出しあるい
    は書込み要求であり、前記照会処理主体のページ要求が
    読出し要求であり;前記知能ページ・メモリがさらに:
    前記トランザクション処理主体に前記トランザクション
    処理主体によって要求された論理ページに対応する主物
    理ページをリターンするための手段;特定の照会に応答
    して前記照会処理主体に前記特定の照会と関連する時間
    間隔に対応する補助ページ、あるいは前記特定の照会と
    関連する時間間隔に対応する補助ページが存在しない場
    合に前記主物理ページをリターンするための手段;前記
    トランザクション処理主体が前記関連する論理ページを
    更新するとき、その論理ページと関連する現時間ステッ
    プと対応する補助物理ページが存在しない場合、新たな
    補助物理ページを作成するための手段;新たな時間間隔
    を前記新たな時間間隔と関連する主及び補助ページが前
    記データベースの論理的に一貫したセットのページと対
    応するように生成するための手段;及び;現時間間隔以
    外の任意の時間間隔と関連する補助ページの全てを前記
    時間間隔と関連する全ての照会が完了した後に削除する
    ための手段を含むことを特徴とするデータベース・トラ
    ンザクション及び照会処理システム。
JP3330889A 1991-02-25 1991-12-13 データベース・トランザクション及び照会処理システム Expired - Lifetime JPH0812631B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US660769 1991-02-25
US07/660,769 US5317731A (en) 1991-02-25 1991-02-25 Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor

Publications (2)

Publication Number Publication Date
JPH04337850A true JPH04337850A (ja) 1992-11-25
JPH0812631B2 JPH0812631B2 (ja) 1996-02-07

Family

ID=24650892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3330889A Expired - Lifetime JPH0812631B2 (ja) 1991-02-25 1991-12-13 データベース・トランザクション及び照会処理システム

Country Status (3)

Country Link
US (1) US5317731A (ja)
EP (1) EP0501160A3 (ja)
JP (1) JPH0812631B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262065A (ja) * 1992-12-11 1995-10-13 Internatl Business Mach Corp <Ibm> コミット済みデータの抽出をデータベース・システムから制御装置へオフロードするための方法
WO2000042510A1 (fr) * 1999-01-13 2000-07-20 Fujitsu Limited Procede et appareil de commande exclusive d'informations electroniques et supports d'enregistrement de programme de commande exclusive

Families Citing this family (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5592660A (en) * 1991-03-04 1997-01-07 Fujitsu Limited Database management system to alternately perform retrieval process and updating process
JP2993528B2 (ja) * 1991-05-18 1999-12-20 富士通株式会社 テキスト管理・復元方式
US5715447A (en) * 1991-08-06 1998-02-03 Fujitsu Limited Method of and an apparatus for shortening a lock period of a shared buffer
CA2285096C (en) * 1991-11-12 2000-05-09 Ibm Canada Limited-Ibm Canada Limitee Logical mapping of data objects using data spaces
JP2793399B2 (ja) * 1991-12-09 1998-09-03 日本電気株式会社 バッファ装置
JPH05233720A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd Dbにおけるデータベースアシスト方法
US5414840A (en) * 1992-06-25 1995-05-09 Digital Equipment Corporation Method and system for decreasing recovery time for failed atomic transactions by keeping copies of altered control structures in main memory
JP3612339B2 (ja) * 1992-10-23 2005-01-19 株式会社日立製作所 データ処理方法および装置
SE500599C2 (sv) * 1992-12-08 1994-07-25 Ellemtel Utvecklings Ab Sätt att optimera minnesutrymme i en databas
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
US5873097A (en) * 1993-05-12 1999-02-16 Apple Computer, Inc. Update mechanism for computer storage container manager
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US5933839A (en) * 1993-07-23 1999-08-03 Kabushiki Kaisha Toshiba Distributed file system for renewing data with high integrity
US5553279A (en) * 1993-10-08 1996-09-03 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
US5943495A (en) * 1993-10-20 1999-08-24 Mci Communication Corp. Copy utility method and apparatus for non-stop database applications
US5678040A (en) * 1993-10-29 1997-10-14 Motorola, Inc. Method for managing a hierarchical design transaction
US5495606A (en) * 1993-11-04 1996-02-27 International Business Machines Corporation System for parallel processing of complex read-only database queries using master and slave central processor complexes
JP2863805B2 (ja) * 1993-11-26 1999-03-03 富士通株式会社 版数管理方式
US5450577A (en) * 1993-12-14 1995-09-12 At&T Corp. Zero-defect data integrity in high-capacity transaction systems
US5692187A (en) * 1995-02-14 1997-11-25 General Magic Shadow mechanism having masterblocks for a modifiable object oriented system
US5819306A (en) * 1995-02-14 1998-10-06 General Magic Shadow mechanism for a modifiable object oriented system
US5758149A (en) * 1995-03-17 1998-05-26 Unisys Corporation System for optimally processing a transaction and a query to the same database concurrently
US5701473A (en) * 1995-03-17 1997-12-23 Unisys Corporation System for optimally storing a data file for enhanced query processing
US5745915A (en) * 1995-03-17 1998-04-28 Unisys Corporation System for parallel reading and processing of a file
US5918224A (en) * 1995-07-26 1999-06-29 Borland International, Inc. Client/server database system with methods for providing clients with server-based bi-directional scrolling at the server
US5745906A (en) * 1995-11-14 1998-04-28 Deltatech Research, Inc. Method and apparatus for merging delta streams to reconstruct a computer file
US5729743A (en) * 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
US5761500A (en) * 1996-04-18 1998-06-02 Mci Communications Corp. Multi-site data communications network database partitioned by network elements
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US6092066A (en) * 1996-05-31 2000-07-18 Emc Corporation Method and apparatus for independent operation of a remote data facility
KR100198805B1 (ko) * 1996-11-22 1999-06-15 정선종 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
US5974425A (en) * 1996-12-17 1999-10-26 Oracle Corporation Method and apparatus for reapplying changes to a database
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
US6108684A (en) * 1996-12-23 2000-08-22 Lsi Logic Corporation Methods and apparatus for balancing loads on a storage subsystem among a plurality of controllers
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US5909682A (en) * 1996-12-30 1999-06-01 Mci Worldcom, Inc. Real-time device data management for managing access to data in a telecommunication system
US6038569A (en) * 1997-02-10 2000-03-14 International Business Machines Corporation System for data structure loading with concurrent image copy
US5870763A (en) * 1997-03-10 1999-02-09 Microsoft Corporation Database computer system with application recovery and dependency handling read cache
US6067550A (en) 1997-03-10 2000-05-23 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US6092084A (en) * 1997-03-28 2000-07-18 International Business Machines Corporation One system of a multisystem environment taking over log entries owned by another system
US6076095A (en) * 1997-03-28 2000-06-13 International Business Machines Corporation Method of one system of a multisystem environment taking over log entries owned by another system
US5944838A (en) * 1997-03-31 1999-08-31 Lsi Logic Corporation Method for fast queue restart after redundant I/O path failover
US6490594B1 (en) 1997-04-04 2002-12-03 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US5956713A (en) * 1997-04-23 1999-09-21 Oracle Corporation Techniques for reducing the number of snapshots of a database
US5956731A (en) * 1997-04-23 1999-09-21 Oracle Corporation Sharing snapshots for consistent reads
US6006216A (en) * 1997-07-29 1999-12-21 Lucent Technologies Inc. Data architecture for fetch-intensive database applications
US6125371A (en) * 1997-08-19 2000-09-26 Lucent Technologies, Inc. System and method for aging versions of data in a main memory database
US6889358B1 (en) * 1998-01-08 2005-05-03 Lucent Technologies Inc. Concurrency control in materialized views of a database
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US20020107837A1 (en) 1998-03-31 2002-08-08 Brian Osborne Method and apparatus for logically reconstructing incomplete records in a database using a transaction log
US6272502B1 (en) * 1998-05-11 2001-08-07 Lucent Technologies Inc. Refreshing materialized views of a database to maintain consistency with underlying data
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US7389305B1 (en) 1999-06-01 2008-06-17 Fair Isaac Corporation System and method for managing a database
US6412054B1 (en) * 1999-08-09 2002-06-25 Lucent Technologies Inc. Storage disk declustering method
US6895415B1 (en) * 1999-08-18 2005-05-17 International Business Machines Corporation System and method for concurrent distributed snapshot management
US8135682B1 (en) 1999-11-30 2012-03-13 Crockett David A Process for administrating over changes to server-administrated client records in a stateless protocol
US6618822B1 (en) * 2000-01-03 2003-09-09 Oracle International Corporation Method and mechanism for relational access of recovery logs in a database system
CA2306946C (en) * 2000-04-28 2005-09-20 Ibm Canada Limited-Ibm Canada Limitee Improved query execution in query processing systems
US7072916B1 (en) * 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US20020120651A1 (en) * 2000-09-12 2002-08-29 Lingomotors, Inc. Natural language search method and system for electronic books
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US8650169B1 (en) 2000-09-29 2014-02-11 Oracle International Corporation Method and mechanism for identifying transaction on a row of data
US6631374B1 (en) * 2000-09-29 2003-10-07 Oracle Corp. System and method for providing fine-grained temporal database access
US6591264B1 (en) * 2000-10-23 2003-07-08 Lsi Logic Corporation Method that allows I/O requests to run concurrently with a rollback from a snapshot in a drive array
WO2002048919A1 (en) * 2000-12-12 2002-06-20 Fresher Information Corporation Non-log based information storage and retrieval system with intrinsic versioning
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6889228B1 (en) 2001-03-29 2005-05-03 Network Appliance, Inc. Cascading support for mirrored volumes
US6820099B1 (en) * 2001-04-13 2004-11-16 Lsi Logic Corporation Instantaneous data updating using snapshot volumes
US6771843B1 (en) 2001-05-11 2004-08-03 Lsi Logic Corporation Data timeline management using snapshot volumes
US20040249833A1 (en) * 2001-06-25 2004-12-09 Kenneth Oksanen Copying method and system for copying cells in a database
US8010887B2 (en) * 2001-09-21 2011-08-30 International Business Machines Corporation Implementing versioning support for data using a two-table approach that maximizes database efficiency
US7346623B2 (en) * 2001-09-28 2008-03-18 Commvault Systems, Inc. System and method for generating and managing quick recovery volumes
GB2385952B (en) * 2001-10-24 2006-05-31 Imagine Broadband Ltd Data processing system and method
US6983286B1 (en) 2002-05-10 2006-01-03 Oracle International Corporation Method and apparatus for accessing data as it existed at a previous point in time
US7051038B1 (en) 2002-06-28 2006-05-23 Microsoft Corporation Method and system for a reporting information services architecture
CA2508089A1 (en) * 2002-10-07 2004-04-22 Commvault Systems, Inc. System and method for managing stored data
CA2422176C (en) * 2003-03-14 2009-07-21 Ibm Canada Limited - Ibm Canada Limitee Method and apparatus for interrupting updates to a database to provide read-only access
JP2004318288A (ja) * 2003-04-11 2004-11-11 Hitachi Ltd データ処理方法および装置ならびにその処理プログラム
US7890466B2 (en) * 2003-04-16 2011-02-15 Oracle International Corporation Techniques for increasing the usefulness of transaction logs
US7233947B2 (en) * 2003-05-22 2007-06-19 Microsoft Corporation Timestamping in databases
US8095511B2 (en) * 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
US7395278B2 (en) * 2003-06-30 2008-07-01 Microsoft Corporation Transaction consistent copy-on-write database
US6959313B2 (en) * 2003-07-08 2005-10-25 Pillar Data Systems, Inc. Snapshots of file systems in data storage systems
US7756844B2 (en) * 2003-07-08 2010-07-13 Pillar Data Systems, Inc. Methods of determining and searching for modified blocks in a file system
US7379954B2 (en) * 2003-07-08 2008-05-27 Pillar Data Systems, Inc. Management of file system snapshots
US7836029B2 (en) * 2003-07-08 2010-11-16 Pillar Data Systems, Inc. Systems and methods of searching for and determining modified blocks in a file system
US7047379B2 (en) * 2003-07-11 2006-05-16 International Business Machines Corporation Autonomic link optimization through elimination of unnecessary transfers
US7552149B2 (en) * 2003-09-06 2009-06-23 Oracle International Corporation Querying past versions of data in a distributed database
GB2423850B (en) 2003-11-13 2009-05-20 Commvault Systems Inc System and method for performing integrated storage operations
US7529782B2 (en) * 2003-11-13 2009-05-05 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7324995B2 (en) 2003-11-17 2008-01-29 Rackable Systems Inc. Method for retrieving and modifying data elements on a shared medium
US7272609B1 (en) * 2004-01-12 2007-09-18 Hyperion Solutions Corporation In a distributed hierarchical cache, using a dependency to determine if a version of the first member stored in a database matches the version of the first member returned
US7822721B2 (en) * 2004-04-15 2010-10-26 Sap Ag Correction server for large database systems
US7631010B2 (en) * 2004-04-16 2009-12-08 Microsoft Corporation Systems and methods in support of data base page synchronization
US7213103B2 (en) 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US7499953B2 (en) * 2004-04-23 2009-03-03 Oracle International Corporation Online recovery of user tables using flashback table
US7240065B2 (en) * 2004-05-27 2007-07-03 Oracle International Corporation Providing mappings between logical time values and real time values
US7251660B2 (en) 2004-06-10 2007-07-31 Oracle International Corporation Providing mappings between logical time values and real time values in a multinode system
US7653665B1 (en) * 2004-09-13 2010-01-26 Microsoft Corporation Systems and methods for avoiding database anomalies when maintaining constraints and indexes in presence of snapshot isolation
US9208191B2 (en) 2012-07-20 2015-12-08 Sap Se Lock-free, scalable read access to shared data structures
JP2006085539A (ja) * 2004-09-17 2006-03-30 Fujitsu Ltd データベース管理プログラム、方法、装置及び記録媒体
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US7711709B2 (en) * 2004-12-27 2010-05-04 Siebel Systems, Inc. Efficient storing and querying of snapshot measures
US7928591B2 (en) * 2005-02-11 2011-04-19 Wintec Industries, Inc. Apparatus and method for predetermined component placement to a target platform
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7962709B2 (en) * 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7870355B2 (en) 2005-12-19 2011-01-11 Commvault Systems, Inc. Log based data replication system with disk swapping below a predetermined rate
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7430553B2 (en) * 2005-12-30 2008-09-30 Microsoft Corporation Managing states with delta pager
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US8726242B2 (en) * 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US7814117B2 (en) * 2007-04-05 2010-10-12 Oracle International Corporation Accessing data from asynchronously maintained index
US8799267B2 (en) * 2007-07-16 2014-08-05 Teradata Us, Inc. Optimizing storage allocation
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US8719767B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Utilizing snapshots to provide builds to developer computing devices
US9092500B2 (en) 2009-09-03 2015-07-28 Commvault Systems, Inc. Utilizing snapshots for access to databases and other applications
US8433682B2 (en) 2009-12-31 2013-04-30 Commvault Systems, Inc. Systems and methods for analyzing snapshots
EP2519872A4 (en) 2009-12-31 2015-08-26 Commvault Systems Inc SYSTEMS AND METHOD FOR IMPLEMENTING DATA MANAGEMENT OPERATIONS USING SNAPSHOTS
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8589347B2 (en) 2010-05-28 2013-11-19 Commvault Systems, Inc. Systems and methods for performing data replication
US8930321B2 (en) * 2010-06-30 2015-01-06 Microsoft Corporation Logical recovery with unbundled transaction services
US8818963B2 (en) 2010-10-29 2014-08-26 Microsoft Corporation Halloween protection in a multi-version database system
US20130110767A1 (en) * 2011-10-26 2013-05-02 Nec Laboratories America, Inc. Online Transaction Processing
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9141309B1 (en) * 2012-03-29 2015-09-22 Amazon Technologies, Inc. Versioning-capable data storage devices
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
US9262435B2 (en) 2013-01-11 2016-02-16 Commvault Systems, Inc. Location-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9009203B2 (en) 2013-02-19 2015-04-14 Sap Se Lock-free, scalable read access to shared data structures using garbage collection
US9195712B2 (en) 2013-03-12 2015-11-24 Microsoft Technology Licensing, Llc Method of converting query plans to native code
US9519591B2 (en) 2013-06-22 2016-12-13 Microsoft Technology Licensing, Llc Latch-free, log-structured storage for multiple access methods
US9519664B1 (en) * 2013-09-20 2016-12-13 Amazon Technologies, Inc. Index structure navigation using page versions for read-only nodes
US9684685B2 (en) 2013-10-24 2017-06-20 Sap Se Using message-passing with procedural code in a database kernel
US9600551B2 (en) 2013-10-24 2017-03-21 Sap Se Coexistence of message-passing-like algorithms and procedural coding
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US10474645B2 (en) 2014-02-24 2019-11-12 Microsoft Technology Licensing, Llc Automatically retrying transactions with split procedure execution
US9514211B2 (en) 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US11100083B2 (en) 2015-01-29 2021-08-24 Hewlett Packard Enterprise Development Lp Read only bufferpool
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827401A (en) * 1984-10-24 1989-05-02 International Business Machines Corporation Method and apparatus for synchronizing clocks prior to the execution of a flush operation
US4631673A (en) * 1985-01-22 1986-12-23 International Business Machines Corporation Method for refreshing multicolumn tables in a relational data base using minimal information
US4648036A (en) * 1985-03-06 1987-03-03 At&T Bell Laboratories Method for controlling query and update processing in a database system
US4714995A (en) * 1985-09-13 1987-12-22 Trw Inc. Computer integration system
US4774661A (en) * 1985-11-19 1988-09-27 American Telephone And Telegraph Company, At&T Information Systems Database management system with active data dictionary
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
US4876643A (en) * 1987-06-24 1989-10-24 Kabushiki Kaisha Toshiba Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262065A (ja) * 1992-12-11 1995-10-13 Internatl Business Mach Corp <Ibm> コミット済みデータの抽出をデータベース・システムから制御装置へオフロードするための方法
WO2000042510A1 (fr) * 1999-01-13 2000-07-20 Fujitsu Limited Procede et appareil de commande exclusive d'informations electroniques et supports d'enregistrement de programme de commande exclusive
US7117492B2 (en) 1999-01-13 2006-10-03 Fujitsu Limited Exclusive access controlling apparatus, exclusive access controlling method and recording medium recorded with exclusive access controlling program, for electronic information

Also Published As

Publication number Publication date
EP0501160A2 (en) 1992-09-02
US5317731A (en) 1994-05-31
EP0501160A3 (en) 1993-09-08
JPH0812631B2 (ja) 1996-02-07

Similar Documents

Publication Publication Date Title
JPH04337850A (ja) データベース・トランザクション及び照会処理システム
US5864849A (en) System and method for restoring a multiple checkpointed database in view of loss of volatile memory
CA2537411C (en) A database management system with efficient version control
US5287496A (en) Dynamic, finite versioning for concurrent transaction and query processing
EP1540533B1 (en) Controlling visibility in multi-version database systems
US5430869A (en) System and method for restructuring a B-Tree
US5561798A (en) Computer program product and program storage device for improving data recovery performance
CA2532054C (en) Ownership reassignment in a shared-nothing database system
EP1040433B1 (en) A fine-grained consistency mechanism for optimistic concurrency control using lock groups
US6976022B2 (en) Method and mechanism for batch processing transaction logging records
JP2583010B2 (ja) 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US6631366B1 (en) Database system providing methodology for optimizing latching/copying costs in index scans on data-only locked tables
Graefe A survey of B-tree logging and recovery techniques
JPH056297A (ja) トランザクシヨン処理方法およびシステム
JPH0212460A (ja) 索引木への並列アクセスのためのデータ・アクセス方法およびデータ処理システム
JPH0887511A (ja) B木インデクスの管理方法およびシステム
US11714794B2 (en) Method and apparatus for reading data maintained in a tree data structure
Cabrera et al. Implementing atomicity in two systems: Techniques, tradeoffs, and experience
Kumar Concurrency Control and Recovery in Main Memory Databases
CN117687807A (zh) 数据处理方法、装置、电子设备及存储介质
Hvasshovd et al. The Record Oriented Approach