JP2002132554A - データベースアクセス方法 - Google Patents

データベースアクセス方法

Info

Publication number
JP2002132554A
JP2002132554A JP2000332107A JP2000332107A JP2002132554A JP 2002132554 A JP2002132554 A JP 2002132554A JP 2000332107 A JP2000332107 A JP 2000332107A JP 2000332107 A JP2000332107 A JP 2000332107A JP 2002132554 A JP2002132554 A JP 2002132554A
Authority
JP
Japan
Prior art keywords
storage device
data
host computer
storage
write
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
JP2000332107A
Other languages
English (en)
Other versions
JP4104281B2 (ja
Inventor
Manabu Kitamura
学 北村
Hiroharu Arai
弘治 荒井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000332107A priority Critical patent/JP4104281B2/ja
Priority to US09/822,273 priority patent/US6658541B2/en
Publication of JP2002132554A publication Critical patent/JP2002132554A/ja
Application granted granted Critical
Publication of JP4104281B2 publication Critical patent/JP4104281B2/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/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/2056Error 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 by mirroring
    • G06F11/2087Error 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 by mirroring with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/2056Error 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 by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/465Structured object, e.g. database record
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】トランザクション処理システムにおいて、同時
に複数のトランザクションを処理する際のホスト計算機
の負荷を低減する。 【解決手段】記憶装置サブシステム3は、データが二重
化して格納されるディスクユニット31a、31bを有
する。サーバ1は、リードアクセス時はディスクユニッ
ト31b、ライトアクセス時はディスクユニット31a
にアクセスする。ライトアクセス時に未完了のリード処
理が存在するとき、サーバ1は、ディスクユニット31
a、31bの二重化の中止を指示してライト要求を発行
し、ライトデータをディスクユニット31aにのみ格納
する。サーバ1は、リード、ライト処理がそれぞれ完了
した時点で、記憶装置サブシステム3に対してディスク
ユニット31a、31bの二重化を再開させ、ディスク
ユニット31aに書き込まれたデータをディスクユニッ
ト31bに反映させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理システム
などにおけるデータベースシステムの問い合わせ方法に
係り、特に、複数のトランザクション処理を高速化する
方法に関する。
【0002】
【従来の技術】銀行の勘定系処理、航空会社における航
空券予約処理など、同時に複数の処理要求を受け付ける
必要のある処理では、オンライントランザクションシス
テムが広く使われている。
【0003】オンライントランザクションシステムで
は、ほぼ同時に複数の要求が発生したときでも、矛盾の
ないデータを返却することが要求される。例えば、ある
ユーザ(第1のユーザ)の要求により、データベースの
ある部分の読み出しが行われている途中で、別のユーザ
(第2のユーザ)が同じデータ部分への更新要求を行う
ことを考える。この場合、第1のユーザからの要求によ
り読み出すべきデータは、第2のユーザからの要求によ
り更新される以前のデータである。第2のユーザからの
要求によるデータ更新をそのまま実行させると、第1の
ユーザからの要求によりデータが読み出されるよりも前
にデータが書き換えられてしまう可能性がある。このた
め、システムは、第1のユーザの要求に応じてその要求
により読み出すべきデータをロックし、他のユーザによ
るデータ更新を第1のユーザからの要求によるデータの
読み出しが完了するまでは待たせる。
【0004】各ユーザからの要求により実行されるそれ
ぞれの処理のことをトランザクションと呼ぶ。オンライ
ントランザクションシステムは、各トランザクションが
競合して矛盾したデータを読み出す、あるいは書き込む
ことが無いように制御する。上述した技術では、第1の
ユーザからの要求によるデータ読み出しが非常に時間の
かかる処理である場合、例えば、読み出すべきデータ量
が非常に大きい場合、第2のユーザからの要求によるデ
ータ書き込みは、第1のユーザからの要求によるデータ
読み出しが完了するまで待たされる。このため、第2の
ユーザからの要求は、その処理に非常に時間がかかって
しまう。
【0005】このような問題を解決するために、一部の
データベース管理システム(以下、DBMSと略す)で
は、マルチバージョニングと呼ばれる技術が用いられ
る。マルチバージョニングに関しては、例えばORAC
LE8アーキテクチャ(翔泳社)P.206-に解説されてい
る。この技術では、第1のユーザからの要求によるデー
タの読み出しが完了していなくても、第2のユーザから
の要求によるデータの書き込みが許可される。第2のユ
ーザからの要求によりデータが書き込まれた領域第1の
ユーザからの要求によるデータの読み出しが必要になっ
たときは、データベースのロールバックセグメントを用
いて第2のユーザからの要求によるデータの書き込みが
行われる前の時点のデータが復元され、第1のユーザに
渡される。このような処理により、お互いの処理が阻害
されることはなくなる。
【0006】
【発明が解決しようとする課題】上記従来技術によれ
ば、マルチバージョニングによって、複数のトランザク
ションを同時に実行できるようになる。しかし、データ
の復元などは、すべてDBMSによって実施されるた
め、ホストコンピュータの負荷が大きく、結果として各
処理時間が長くなってしまう。ロールバックセグメント
は、それほど大きくとることはできず、大規模な更新処
理などには向かないといった問題がある。
【0007】本発明の目的は、同一データ領域に対して
同時に複数の要求があった場合に、システムの負荷を増
大させずに効率的な処理を行うことのできる方法を提供
することにある。
【0008】
【課題を解決するための手段】本発明における計算機シ
ステムは、その好ましい態様において、トランザクショ
ン処理が実行されるホスト計算機と、このホスト計算機
に接続され、トランザクション処理でアクセスされるデ
ータベースを格納した第1の記憶装置及びホスト計算機
からの要求に基づいて第1の記憶装置のアクセスを行う
記憶制御装置とを備える記憶装置サブシステムとを有し
て構成される。
【0009】ホスト計算機は、データベースの更新ため
にディスクサブシステムへのライト要求を発行するに際
して、データベースからの未完了のリード処理が存在す
るか確認する。未完了の読み出し処理が存在する場合、
ホスト計算機は、発行したライト要求に応じて第1の記
憶装置にデータが書き込まれないようディスクサブシス
テムに指示し、ライト要求をディスクサブシステムに発
行する。
【0010】ディスクサブシステムは、ライト要求に応
じてデータベースに書き込むべきデータを第1の記憶装
置とは異なる第2の記憶装置に格納して処理の完了をホ
スト計算機に報告する。
【0011】ホスト計算機は、未完了のリード処理及び
ライト処理の完了後、第1の記憶装置へのデータの書き
込みが行われるように指示する。ディスクサブシステム
は、この指示に応じて、第2の記憶装置に書き込まれ、
第1の記憶装置に書き込まれていないデータを第2の記
憶装置から第1の記憶装置に書き込む。
【0012】本発明の一つの態様において、第1の記憶
装置と第2の記憶装置とは、期多く制御装置により同じ
データが二重化して格納されるように制御されたディス
ク装置により構成される。ホスト計算機は、通常の状態
において、データベースからのデータの読み出しは第1
の記憶装置を指定して実施し、データベースへのデータ
の書き込みは、第2の記憶装置を指定して行う。第2の
記憶装置を指定して行われたデータの書き込みの結果
は、記憶制御装置により、第1の記憶装置にも反映され
る。
【0013】ホスト計算機から第1の記憶装置にデータ
が書き込まれないよう指示された場合、記憶制御装置
は、第2の記憶装置を指定して行われたデータの書き込
みを第1の記憶装置に反映させることを一時的に中断す
る。第1の記憶装置へのデータの書き込みが行われるよ
う指示された場合、記憶制御装置は、第2の記憶装置か
ら差分のデータを第1の記憶装置に転送し、両者の内容
を一致させ、第2の記憶装置に対するデータの書き込み
を第1の記憶装置に反映させるよう制御する。
【0014】本発明の他の態様において、第2の記憶装
置は、記憶制御装置が有するキャッシュメモリにより構
成される。ホスト計算機から第1の記憶装置にデータが
書き込まれないよう指示された場合、記憶制御装置は、
第1の記憶装置を指定したデータの書き込み要求に対し
て、データを第2の記憶装置に書き込んだ段階で処理の
完了を報告する。第1の記憶装置へのデータの書き込み
が行われるよう指示された場合、記憶制御装置は、第2
の記憶装置に保持され、第1の記憶装置に書き込まれて
いないデータを第1の記憶装置に書き込む。
【0015】
【発明の実施の形態】−第1の実施形態− 図1は、本発明が適用された計算機システムの一実施形
態における構成例を示すブロック図である。
【0016】本実施形態における計算機システムは、サ
ーバ1、複数のクライアント計算機2a、2b、…2n
(総称してクライアント2と呼ぶ)、及びサーバ1に接
続される記憶装置サブシステム3を含んで構成される。
【0017】サーバ1は、記憶装置サブシステム3と接
続するためのSCSIインタフェース13、クライアン
ト2と接続するためのネットワークインタフェース1
4、データベース管理システム11、ボリュームマネー
ジャ12を有する。サーバ1は、いわゆるパーソナルコ
ンピュータや、ワークステーションなどの計算機により
実現され、図示しないCPUやメモリ、その他の周辺装
置を有する。データベース管理システム11,及びボリ
ュームマネージャ12は、メモリに格納され、CPUに
よって実行されることでその機能が実現されるプログラ
ムとして実装される。ボリュームマネージャ12は、デ
ータベース管理システム11の中に組み込まれたソフト
ウェアとして実現されても良い。
【0018】クライアント2は、それぞれ、サーバ1と
接続するためのネットワークインタフェース22a、2
2b、22c、…22n(以後、総称してネットワーク
インタフェース22と呼ぶ)、データベースクライアン
ト21a、21b、…21n(以後、総称してデータベ
ースクライアント2と呼ぶ)を有する。クライアント2
は、サーバ同様パーソナルコンピュータなどの計算機に
より実現され、図示しないCPUメモリなどを有する。
データベースクライアント2は、メモリに格納され、C
PUによって実行されることでその機能が実現されるプ
ログラムとして実装される。
【0019】データベース管理システム11は、記憶装
置サブシステム3に格納されたデータのアクセスを実施
し、データベースクライアント21は、データベース管
理システム11に処理要求を出して必要なデータにアク
セスする。
【0020】記憶装置サブシステム3は、ディスクユニ
ット31a,31b、ディスクコントローラ32、サー
バ1と接続するインタフェース33を有している。一般
に、データベースでは、多数のディスクにデータが格納
されるが、本実施形態では、説明を簡単化するためにデ
ータベースのデータは、ディスクユニット31a、31
bの2つのディスクユニットに格納されているものとす
る。また、ディスクユニット31a、31bの容量は同
一であるとする。
【0021】ディスクコントローラ32は、プロセッサ
321、キャッシュメモリ322、制御メモリ323を
有して構成される。
【0022】キャッシュメモリ322は、ホストとなる
計算機(ここではサーバ1)からのアクセス処理速度を
高めるため、頻繁に読み出されるデータを格納し、ある
いはホスト計算機からのライトデータを一時的に格納す
る。キャッシュメモリ322は、格納されたデータが停
電などの障害時に喪失されることを防ぐため、バッテリ
バックアップされるか、あるいはフラッシュメモリなど
の不揮発メモリにより構成されることが望ましい。
【0023】プロセッサ321は、ホスト計算機からの
アクセス要求の処理と、キャッシュメモリ322の制御
を行う。これらの制御を行うプログラムは、制御メモリ
323に格納される。ディスクユニット31a、31b
は、それぞれ、必ずしも1つの磁気ディスクドライブで
ある必要はなく、ディスクアレイのような、物理的に複
数のディスクドライブをまとめて1または複数のディス
クドライブに見せかけた論理ディスク装置であっても良
い。
【0024】ディスクコントローラ32は、ディスクユ
ニット31a、31bをサーバ1からそれぞれ独立した
1つのディスクユニットとしてアクセスできるよう制御
する。ただし、ディスクユニット31bに対するサーバ
1からのアクセスは、リードのみが許可される。
【0025】ディスクコントローラ32は、2以上のデ
ィスクユニットの内容を同一の状態に維持するボリュー
ム二重化機能を有する。例えば、ディスクユニット31
aと31bが二重化状態とされているときに、サーバ1
からディスクユニット31aへのデータのライト要求が
あると、ディスクコントローラ32は、ディスクユニッ
ト31aにデータを書き込むとともに、同じデータをデ
ィスクユニット31bにも書き込む。ボリューム二重化
機能の設定と解除は、サーバ1のボリュームマネージャ
12が、SCSIインタフェース13を介して発行する
コマンドによって操作される。ディスクコントローラ3
2は、ボリュームマネージャ12により二重化機能の解
除が指示されると、ディスクユニット31bへのデータ
反映を中止する。これにより、ディスクユニット31b
には、二重化機能の解除が指示された時点のデータが保
持される。ディスクコントローラ32は、二重化機能の
設定が指示されると、二重化機能が解除された後にディ
スクユニット31aに書き込まれた差分のデータをディ
スクユニット31bにコピーし、ディスクユニット31
aとディスクユニット32bの内容を同一にする。
【0026】図2は、データベースのリードアクセス中
に、サーバがリードアクセスの対象とされているデータ
部分への更新要求を受けたときに実施されるデータベー
ス管理システム11の処理を示すフローチャートであ
る。
【0027】本実施形態において、データベース管理シ
ステム11は、データベースクライアント21からデー
タの検索などのためにリード要求を受けると、ディスク
ユニット31bをアクセスして要求されたデータを取り
出す。
【0028】データベースクライアント21からデータ
の更新要求があった場合、データベース管理システム1
1は、ディスクユニット31bへの実行中のリードアク
セスの有無を調べる(ステップ1101)。実行中のリ
ードアクセスが存在しない場合、データベース管理シス
テム11は、二重化機能を利用してディスクユニット3
1a、32bの双方に更新要求で指定されたデータを書
き込み、データの更新を実施する(ステップ110
2)。
【0029】ステップ1101において、実行中のリー
ドアクセスが存在する場合、データベース管理システム
11は、ボリュームマネージャ12を用いて、ディスク
ユニット31aとディスクユニット31bの二重化処理
を中断する(ステップ1103)。引き続きデータベー
ス管理システム11は、更新要求の内容に従って、ディ
スクユニット31aのデータを更新する(ステップ11
04)。
【0030】データを更新した後、データベース管理シ
ステム11は、先に実行が開始されているリードアクセ
ス処理が終了しているかチェックし、リードアクセス処
理が終了していない場合、それが完了するまで待ちつづ
ける(ステップ1105)。リードアクセスが終了して
いる場合、データベース管理システム11は、ボリュー
ムマネージャ12により、ディスクユニット31aとデ
ィスクユニット31bの二重化処理を再開させ、ディス
クユニット31aからディスクユニット31bに差分デ
ータをコピーする(ステップ1106)。
【0031】本実施形態によれば、データベース管理シ
ステム側の負荷が大きく増えることなくデータベースに
対する複数のアクセス要求を処理することが可能とな
る。
【0032】−第2の実施形態− 図3は、本発明の第2の実施形態における計算機システ
ムの構成を示す簡略なブロック図である。本実施形態に
おける計算機システムは、ディスクコントローラ32′
の機能が、第1の実施形態のディスクコントローラ32
とは若干異なっている点を除くと、第1の実施形態の計
算機システムとほぼ同様に構成される。以下、主に、第
1の実施形態と相違する点について説明する。
【0033】本実施形態において、ディスクコントロー
ラ32′は、サーバ1からの「ライト一時禁止」の要求
があると、それ以後サーバ1から出されるライト要求に
対して、書き込みが要求されたデータを実際にディスク
ユニットに書き込まず、キャッシュメモリ322′に一
時的に格納して処理を完了させる機能を有する。
【0034】キャッシュメモリ322′に格納されたデ
ータは、サーバ1から「ライト禁止解除」を示す要求が
出されたときに、キャッシュメモリ322′からディス
クユニット31に書き込まれる。ディスクコントローラ
32′は、サーバ1から「ライト禁止解除」を示す要求
を受けると、それ以降受け付けたライト要求に対して、
ディスクユニット31aへのデータの書き込みを実施す
る。
【0035】図4は、制御メモリ323′に保持される
キャッシュメモリ管理テーブルの論理的な構成を示すテ
ーブル構成図である。
【0036】キャッシュメモリ管理テーブル400は、
キャッシュメモリ322′に一時的に書き込まれたデー
タを、後でディスクユニット31aに書き込むために必
要な情報として、シーケンス番号401、先頭LBA4
02、ブロック数403、先頭キャッシュアドレス40
4、及び最終キャッシュアドレス405を保持する。
【0037】シーケンス番号401は、サーバ1からの
ライト要求によるデータの書き込み順を示す通番であ
る。シーケンス番号401は、必ずしも連続した番号で
ある必要はなく、ディスクコントローラ32′がデータ
の書き込み順を識別できる情報であればよい。例えば、
通番に代えてライト要求のあった時刻を用いることも可
能である。
【0038】先頭LBA402は、サーバ1からのライ
ト要求によりデータの書き込みが要求されたディスクユ
ニット31aの先頭ブロックのアドレス(LBA:Logi
calBlock Address)、ブロック数403は、ライト要求
により書き込まれたデータの大きさ(ディスクユニット
31a上でのブロックの数)を示す。
【0039】先頭キャッシュアドレス404と最終キャ
ッシュアドレス405は、データが一時的に保持されて
いるキャッシュメモリ322′の領域の先頭のアドレス
と最終のアドレスをそれぞれ示している。
【0040】ディスクコントローラ32′は、「ライト
禁止解除」の指示を受け取ると、キャッシュメモリ管理
テーブル400に保持されている情報に基づいて、シー
ケンス番号401の小さい順(ライト要求を受け付けた
順)にデータをディスクユニット31aに書き出してい
く。このように、シーケンス番号401の順に従ってデ
ータをディスクユニット31aに書き込んでいくこと
で、ライトデータの順序性を保証することができる。
【0041】図5は、記憶装置サブシステム3′が「ラ
イト一時禁止」の状態にある場合に行われるライト要求
の処理の流れを示すフローチャートである。
【0042】ディスクコントローラ32′は、サーバ1
から「ライト一時禁止」の要求を受け付けた後に、サー
バ1からのライト要求を受けると、ライト要求に伴いサ
ーバ1から受け取ったライトデータをキャッシュメモリ
322′に格納する。この際、ディスクコントローラ3
2′は、キャッシュメモリ管理テーブル400を参照し
て、キャッシュメモリ322′内のデータが格納されて
いない領域のキャッシュメモリアドレスを取得する。そ
して、取得したキャッシュメモリアドレスで指定される
領域をライトデータの格納のために割り当てる(ステッ
プ2001)。
【0043】次に、ディスクコントローラ32′は、キ
ャッシュメモリ管理テーブル400に、シーケンス番号
401、先頭LBA402、ブロック数403、ライト
データが格納されたキャッシュメモリ上の先頭キャッシ
ュアドレス404、及び最終キャッシュアドレス405
を記録する。シーケンス番号は、キャッシュメモリ管理
テーブル400に何もエントリが存在しないときには0
が割り当てられ、以後、1ずつ増加した値が割り当てら
れる。例えば、図4に示すように、4つのエントリが存
在しているときにライト要求を受け付けると、そのライ
ト要求には、シーケンス番号として5が割り当てられる
(ステップ2002)。
【0044】以上の処理の後、ディスクコントローラ3
2′は、サーバ1にライト処理の完了を通知する。先に
述べたように、この時点ではディスクユニット31aに
データは書き込まれずに処理が終了する(ステップ20
03)。
【0045】図6は、記憶装置サブシステム3′がサー
バ1から「ライト禁止解除」の要求を受け付けたときに
実施される処理の流れを示すフローチャートである。
【0046】ディスクコントローラ32′は、サーバ1
から「ライト禁止解除」の要求をうけると、キャッシュ
メモリ管理テーブル400内でシーケンス番号401の
最も小さいエントリを探す(ステップ2101)。ディ
スクコントローラ32′は、続いて、ステップ2101
で探したエントリを参照し、先頭キャッシュアドレス4
04、最終キャッシュアドレス405で特定されるキャ
ッシュメモリ322′の領域に格納されているデータ
を、先頭LBA402、ブロック数403に従ってディ
スクユニット31aに書き出す(ステップ2102)。
【0047】ステップ2101で探し出されたエントリ
は、ディスクユニット31aへの書き込みが完了した時
点で、キャッシュメモリ管理テーブル400から削除さ
れる(ステップ2103)。次に、ディスクコントロー
ラ32′は、キャッシュメモリ管理テーブル400に未
処理のエントリが存在するか否か調べる。キャッシュメ
モリ管理テーブル400にまだエントリが残っている場
合、ディスクコントローラ32′は、ステップ2101
以降の処理を繰り返す。一方、すべてのエントリについ
て処理を終え、未処理のエントリが存在しないときは、
処理が終了する(ステップ2104)。
【0048】図7は、本実施形態において、データベー
スのリードアクセス中に、サーバがリードアクセスの対
象とされているデータ部分への更新要求を受けたときに
実施されるデータベース管理システム11の処理を示す
フローチャートである。図7において、図2に示した処
理と同じ処理については、図2と同じ参照番号が用いら
れている。
【0049】データベース管理システム11は、データ
ベースクライアント21からデータの更新要求がある
と、実行中のリードアクセスの有無を調べる(ステップ
1101)。実行中のリードアクセスが存在しなけれ
ば、データベース管理システム11は、書き込みが要求
されたデータをディスクユニット31aに書き込むため
に、記憶装置サブシステム3′にライト要求を発行する
(ステップ2201)。
【0050】ステップ1101において、実行中のリー
ドアクセスが存在する場合、データベース管理システム
11は、記憶装置サブシステム3′に対して、「ライト
一時禁止」の要求を出す(ステップ2202)。続い
て、データベース管理システム11は、データベースク
ライアント21からの更新要求に従ったデータのライト
要求を記憶装置サブシステム3′に対して発行する。こ
こで、ライト要求は、場合によっては複数回発行されて
もよい。このとき、ディスクサブシステム3側では、図
5に示したような処理が実施される。すなわち、データ
ベース管理システム11からのライト要求に応じて、ラ
イトデータがキャッシュメモリ322′に格納された段
階で処理が完了し、ディスクユニット31aには、書き
込まれない(ステップ1104)。
【0051】記憶装置サブシステムからライト完了の通
知を受けると、データベース管理システム11は、先に
実行されていたリードアクセス処理が終了しているかチ
ェックする(ステップ1105)。データベース管理シ
ステム11は、リードアクセス処理が終了してれば、記
憶装置サブシステム3′に対して「ライト禁止解除」を
指示し、処理を終了する(ステップ2203)。
【0052】ステップ2203で発行された「ライト禁
止解除」の指示に応答して、記憶装置サブシステム3′
は、図6に示した処理を実施し、ステップ1104でキ
ャッシュメモリ322′に保持された書き込みデータを
ディスクユニット31aに書き込む。キャッシュメモリ
322′からディスクユニット31aへのデータの書き
込みが行われている最中に同じ領域にサーバ1からデー
タのリード要求が発生した場合、記憶装置サブシステム
3′のディスクコントローラ32′は、図8に示す処理
を実施する。
【0053】ディスクコントローラ32′は、サーバ1
からのリード要求に応じて、制御メモリ323′のキャ
ッシュメモリ管理テーブル400を参照し、要求された
データがキャッシュメモリ322′に保持されているか
チェックする(ステップ2301)。該当するデータがキ
ャッシュメモリ322′にある場合、ディスクコントロ
ーラ32′は、そのデータをキャッシュメモリ322′
から取り出して、サーバ1に転送する(ステップ230
2)。ステップ2301において、該当するデータがキ
ャッシュメモリ322′にないと判断されたとき、ディ
スクコントローラ32′は、ディスクユニット31aか
ら該当するデータを読み出して、サーバ1に渡す(ステ
ップ2303)。
【0054】本実施形態によれば、第1の実施形態と異
なり、データベース管理システム11は、データベース
のデータをアクセスする際には、常にディスクユニット
31aをアクセスすればよい。また、第1の実施形態で
は、データの更新処理が完了した後で行われるディスク
の同期化処理(ステップ1106)の最中は、その領域
に対するデータのリード要求を受け付けることができな
い。これに対して、本実施形態では、図8に示す処理を
実施することで、ライト禁止解除に伴う処理を実行中に
もデータベースのデータを参照することが可能となる。
【0055】−第3の実施形態− 図9は、本発明の第3の実施形態における計算機システ
ムの構成を示す簡略なブロック図である。本実施形態に
おける計算機システムも、物理的には第1及び第2の実
施形態と同様に構成される。本実施形態では、以下に説
明するように、データベース管理システム11′により
発行されるリード、ライトなどのI/Oコマンド、ディ
スクコントローラ32″の機能が第1、第2の実施形態
と異なる。
【0056】本実施形態のデータベース管理システム1
1′は、ディスクユニット31aにアクセスする場合、
リード/ライト要求として、通常のリード/ライトコマ
ンドを拡張したコマンドを発行する。通常のリード/ラ
イトコマンドでは、ディスクユニット31aの書き込み
位置をあらわすLBAと書き込みブロック数が指定され
るが、本実施形態のリード/ライトコマンドでは、これ
らの情報に加え、トランザクションIDの指定が含まれ
る。トランザクションIDは、データベース管理システ
ム11′で取り扱われる一連のトランザクションごとに
割り当てられる一意な識別番号である。同一のトランザ
クション中で発生したリード/ライトコマンドには同じ
トランザクションIDの指定が含まれる。
【0057】トランザクションIDは、記憶装置サブシ
ステム3″内で、各I/Oがどのトランザクションに関
連したものかを識別するために用いられる。したがっ
て、トランザクションIDは、各々のトランザクション
を識別できれば内容はどのようなものであっても良い。
本実施形態では、トランザクションIDを非負の整数と
し、初期値を0、それ以降発生するトランザクションに
は1、2、3、・・・のように、連続する番号を割り当て
ていくものとする。トランザクションIDの値が大きい
ほど、そのトランザクションは時間的に後に実施された
ことになる。
【0058】図10は、本実施形態においてデータベー
ス管理システムにより実施されるデータの更新処理の流
れを示すフローチャートである。
【0059】データベース管理システム11′は、トラ
ンザクションIDを含むライト要求を記憶装置サブシス
テムに対して発行する。ライト要求は、トランザクショ
ンの種類によっては複数発行されることもある(ステッ
プ3001)。ライト処理が完了すると、データベース
管理システム11′は、完了したライト処理を実行した
トランザクションよりも前のトランザクションがすべて
完了しているか確認する(ステップ3002)。以前の
トランザクションで未完了のものがある場合は、そのま
ま待機し、以前のトランザクションがすべて完了してい
たら記憶装置サブシステム3″に対してコミットを指示
する。通常の記憶装置サブシステムでは、コミット処理
を指示するコマンドはサポートされていない。このた
め、本実施形態では、例えば、SCSI(Small Comput
er System Interface)におけるMODE SENSEコマンドを
拡張したコマンドによりコミットの指示を行う(ステッ
プ3003)。
【0060】図11は、本実施形態におけるキャッシュ
メモリ管理テーブルの論理的な構成を示すテーブル構成
図である。
【0061】本実施形態のキャッシュメモリ管理テーブ
ル400′は、トランザクションID410ごとに作成
され、管理される。各トランザクションに対応したキャ
ッシュメモリテーブル400′のエントリには、シーケ
ンス番号401′、先頭LBA402、ブロック数40
3、キャッシュメモリ上の先頭キャッシュアドレス40
4、及び最終キャッシュアドレス405が情報として記
録される。
【0062】本実施形態では、シーケンス番号401′
は、トランザクションID410で管理されたそれぞれ
のキャッシュメモリ管理テーブルの中で一意な番号を持
つ。
【0063】図12は、サーバ1からのライト要求に応
じて記憶装置サブシステム3″により実施される処理の
フローチャートである。
【0064】図12に示す処理は、第2の実施形態にお
いて図5により説明した処理に対応する処理である。本
実施形態では、先に述べたように、トランザクションI
D410ごとにキャッシュメモリ管理テーブル400′
が作成される。このため、図5に示す処理に対して、新
たに発生したトランザクションに対応する管理テーブル
の割り当てを行う処理が追加されている。
【0065】記憶装置サブシステム3″のディスクコン
トローラ32″は、サーバ1からライト要求があると、
ライト要求に含まれているトランザクションIDを参照
し、制御メモリ323″にそのトランザクションIDに
対応するキャッシュメモリ管理テーブルがあるかチェッ
クする(ステップ3101)。該当するキャッシュメモ
リ管理テーブルが存在しなければ、ディスクコントロー
ラ32″は、新たにキャッシュメモリ管理テーブル作成
し、指定されたトランザクションIDのために割り当て
る(ステップ3102)。
【0066】ステップ3101で該当するキャッシュメ
モリ管理テーブルが存在する場合、及び、ステップ31
02の後、ディスクコントローラ32″は、第2の実施
形態において図5により説明した処理と同様に、ライト
データをキャッシュメモリ322″に書き込み(ステッ
プ2001)、キャッシュメモリ管理テーブルにシーケ
ンス番号401′、先頭LBA402、ブロック数40
3、キャッシュメモリ上の先頭キャッシュアドレス40
4、及び最終キャッシュアドレス405を記録し(ステ
ップ2002)、サーバ1にライト完了を報告する(ス
テップ2003)。
【0067】図13は、サーバ1からのリード要求に応
じて記憶装置サブシステム3″により実施される処理の
フローチャートである。
【0068】本実施形態では、サーバ1により発行され
るリード要求にもトランザクションIDが含まれる。デ
ィスクコントローラ32″は、サーバ1からリード要求
を受け取ると、キャッシュメモリ管理テーブル400′
を参照して、リード要求で指定されたトランザクション
IDよりも古いトランザクションIDに関するキャッシ
ュメモリ管理テーブルがあるかチェックする(ステップ
3201)。該当するキャッシュメモリ管理テーブルが
ない場合、ディスクコントローラ32″は、ディスクユ
ニット31aから直接該当するデータを読み出してサー
バ1に渡して処理を終了する(ステップ3207)。
【0069】該当するキャッシュメモリ管理テーブルが
あった場合、ディスクコントローラ32″は、見つかっ
たキャッシュメモリ管理テーブルの中で、最も新しいト
ランザクションIDに関するキャッシュメモリ管理テー
ブルのエントリをサーチし(ステップ3202)、リー
ド要求で読み出しが指定されたデータを含む領域のデー
タがキャッシュメモリ322″にあるかチェックする
(ステップ3203)。
【0070】該当する領域のデータがキャッシュメモリ
322″にあれば、ディスクコントローラ32″は、キ
ャッシュメモリ管理テーブルに保持された情報に基づい
て該当するデータを取得し、そのデータをサーバ1に渡
して処理を終了する(ステップ3206)。
【0071】一方、ステップ3203でサーチ対象とし
たキャッシュメモリ管理テーブルにより管理されるキャ
ッシュメモリ322″内のデータに該当するデータがな
かったときは、リード要求で指定されたトランザクショ
ンIDよりも古いトランザクションIDに関するすべて
のキャッシュメモリ管理テーブルについてサーチを行っ
たか判別する(ステップ3204)。サーチすべきキャ
ッシュメモリ管理テーブルがなければ、ステップ320
7でディスクユニット31aから該当するデータを読み
出してサーバ1に転送する。
【0072】サーチを行っていないキャッシュメモリ管
理テーブルがあれば、次に新しいキャッシュメモリ管理
テーブルをサーチの対象として、ステップ3203以降
の処理を繰り返す(ステップ3205)。
【0073】このように、トランザクションIDに基づ
いてリードデータの格納場所を判別し、そのデータをサ
ーバ1に転送することで、一貫性が維持されたデータを
サーバ1に渡すことができる。
【0074】図14は、サーバ1からコミット処理の要
求が発行されたときに記憶装置サブシステム3″により
実施される処理を示すフローチャートである。
【0075】キャッシュメモリ322″に書き込まれた
データは、サーバ1からコミットの指示があるとディス
クユニット31aに書き出される。コミット指示の要求
には、リード/ライト要求と同様に、トランザクション
IDが含まれる。ディスクコントローラ32″は、コミ
ット処理の指示を受けると、キャッシュメモリ管理テー
ブル400を検索し、指定されたトランザクションID
に関連するキャッシュメモリ管理テーブルを取得する
(ステップ3301)。
【0076】次に、ディスクコントローラ32″は、取
得したキャッシュメモリ管理テーブルの中で、シーケン
ス番号401′の最も小さいエントリを探す(ステップ
3302)。ディスクコントローラ32″は、ステップ
3302で探したエントリを参照して、先頭キャッシュ
アドレス404、最終キャッシュアドレス405で特定
されるキャッシュメモリ322″の領域に保持されてい
るデータを、先頭LBA402、ブロック数403に従
ってディスクユニット31aに書き出す(ステップ33
03)。
【0077】ディスクユニット31aへの書き込みが完
了した時点で、ディスクコントローラ32″は、当該エ
ントリをキャッシュメモリ管理テーブルから削除する
(ステップ3304)。続いて、ディスクコントローラ
32″は、当該テーブルにまだエントリが残っているか
どうかチェックし(ステップ3305)、エントリが残
っている場合にはステップ3202以降の処理を繰り返
し、すべてのエントリについて処理を終了した後、当該
キャッシュメモリ管理テーブルを制御メモリ323″か
ら削除し、処理を終了する(ステップ3306)。
【0078】先に説明した第1、及び第2の実施形態で
は、同時に実行されるトランザクションが増えると、対
応が難しくなる。例えば、第2の実施形態において、リ
ードA、ライトA、リードB、ライトBの順でトランザ
クションが発生した場合、ライトAによるライトデータ
は一旦キャッシュメモリ上に退避され、リードAが完了
した時点でディスクユニットに書き出される。ライトA
によるライトデータをキャッシュメモリからディスクに
書き込んでいる最中にリードB、ライトBのトランザク
ションが発行されると、ライトBによって書き込みが指
示されたデータも一緒にディスクユニットに書き込まれ
てしまう。このためリードBによって読み出されたデー
タの一貫性が維持されなくなってしまう可能性がある。
このような問題は、記憶装置サブシステムが、サーバか
ら要求されたコマンドがどのトランザクションに対応し
ているかを識別することができないために発生する。本
実施形態では、サーバからの要求がどのトランザクショ
ンに関連するものかを記憶装置サブシステム側で認識す
ることができ、このような問題を回避することが可能と
なる。
【0079】
【発明の効果】本発明によれば、同時に複数のトランザ
クションを処理する際のホストコンピュータの負荷を低
減することができる。
【図面の簡単な説明】
【図1】本発明が適用された計算機システムの一実施形
態における構成例を示すブロック図である。
【図2】データベースのリードアクセス中に、サーバが
リードアクセスの対象とされているデータ部分への更新
要求を受けたときに実施されるデータベース管理システ
ムの処理を示すフローチャートである。
【図3】本発明の第2の実施形態における計算機システ
ムの構成を示す簡略なブロック図である。
【図4】キャッシュメモリ管理テーブルの論理的な構成
の一例を示すテーブル構成図である。
【図5】記憶装置サブシステムが「ライト一時禁止」の
状態にある場合に行われるライト要求の処理の流れを示
すフローチャートである。
【図6】記憶装置サブシステムがサーバから「ライト禁
止解除」の要求を受け付けたときに実施される処理の流
れを示すフローチャートである。
【図7】データベースのリードアクセス中に、サーバが
リードアクセスの対象とされているデータ部分への更新
要求を受けたときに実施されるデータベース管理システ
ムの処理を示すフローチャートである。
【図8】記憶装置サブシステムがキャッシュメモリから
ディスクユニットにデータを転送中にサーバからのリー
ド要求を受け付けたときに実施される処理の流れを示す
フローチャートである。
【図9】本発明の第3の実施形態における計算機システ
ムの構成を示す簡略なブロック図である。
【図10】第3の実施形態において、データベース管理
システムにより実施されるデータの更新処理の流れを示
すフローチャートである。
【図11】キャッシュメモリ管理テーブルの論理的な構
成の一例を示すテーブル構成図である。
【図12】サーバからのライト要求に応じて記憶装置サ
ブシステムにより実施される処理の流れを示すフローチ
ャートである。
【図13】サーバからのリード要求に応じて記憶装置サ
ブシステムにより実施される処理の流れを示すフローチ
ャートである。
【図14】サーバからコミット処理の要求が発行された
ときに記憶装置サブシステムにより実施される処理の流
れを示すフローチャートである。
【符号の説明】
1…サーバ 2…クライアント 3…記憶装置サブシステム 11…データベース管理システム 12…ボリュームマネージャ 13、33…SCSIインタフェース 14、22…ネットワークインタフェース 21…データベースクライアント 31…ディスクユニット 32…ディスクコントローラ 321…プロセッサ 322…キャッシュメモリ 323…制御メモリ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 3/06 302 G06F 3/06 302Z 304 304B 12/16 310 12/16 310J 15/00 310 15/00 310U Fターム(参考) 5B018 GA04 HA02 HA03 HA04 HA05 MA12 QA15 5B065 BA01 CA07 CA14 CH01 CH13 EA12 EA35 5B082 DC08 DC09 DC12 DD08 DE05 FA16 GB02 5B085 AA01 BA07 BG07

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】トランザクション処理が実行されるホスト
    計算機と、前記トランザクション処理により前記ホスト
    計算機からアクセスされるデータベースを格納した第1
    の記憶装置及び前記ホスト計算機からの要求に基づいて
    前記第1の記憶装置のアクセスを行う記憶制御装置とを
    備える記憶装置サブシステムとを有する計算機システム
    におけるデータベースアクセス方法において、 前記トランザクション処理によりデータの更新要求が発
    生したときに、前記第1の記憶装置からの未完了のデー
    タのリード処理が存在するか判別し、 未完了のデータの読み出し処理が存在する場合に、前記
    更新要求に伴うライトデータを前記記憶装置サブシステ
    ムが有する第2の記憶装置に格納して前記更新要求に伴
    う前記記憶装置サブシステムへのライト処理を完了さ
    せ、 前記ライト処理、及び前記未完了のリード処理が終了し
    た後、前記第2の記憶装置に格納された前記ライトデー
    タを前記第1の記憶装置に転送することを特徴とするデ
    ータベースアクセス方法。
  2. 【請求項2】前記第1の記憶装置と前記第2の記憶装置
    とは、前記第2の記憶装置に対する書き込みが前記第1
    の記憶装置に反映される二重化された記憶装置であっ
    て、前記完了させるステップは、前記ホスト計算機から
    前記記憶装置サブシステムに前記第1の記憶装置と前記
    第2の記憶装置との間のデータの反映の中断を指示する
    ステップと、前記更新要求に関連するデータのライト要
    求を第2の記憶装置を対象として発行するステップとを
    含むことを特徴とする請求項1記載のデータベースアク
    セス方法。
  3. 【請求項3】前記転送するステップは、前記第1の記憶
    装置と前記第2の記憶装置との間のデータの反映を再開
    させるステップを含むことを特徴とする請求項2記載の
    データベースアクセス方法。
  4. 【請求項4】前記第2の記憶装置は、前記記憶装置サブ
    システムが有するキャッシュメモリであって、前記完了
    させるステップは、前記ホスト計算機から前記記憶装置
    サブシステムに、前記第1の記憶装置へのデータの書き
    込みの禁止を指示するステップと、前記ホスト計算機か
    ら前記記憶装置サブシステムに前記更新要求に関連する
    データのライト要求を発行するステップと、前記ライト
    要求に応じて前記データを前記第2の記憶装置に格納す
    るステップとを含むことを特徴とする請求項1記載のデ
    ータベースアクセス方法。
  5. 【請求項5】前記転送するステップは、前記ホスト計算
    機から前記記憶装置サブシステムに前記書き込みの禁止
    の解除を指示するステップと、前記第2の記憶装置に格
    納された前記データを前記第1の記憶装置に転送するス
    テップとを含むことを特徴とする請求項4記載のデータ
    ベースアクセス方法。
  6. 【請求項6】前記格納するステップは、前記データを格
    納した前記第2の記憶装置の記憶領域を特定するための
    情報と、前記データを書き込むべき前記第1の記憶装置
    の記憶領域を特定するための管理情報を記録するステッ
    プを含み、前記転送するステップは、前記管理情報を参
    照して行われることを特徴とする請求項5記載のデータ
    ベースアクセス方法。
  7. 【請求項7】前記管理情報は、前記ホスト計算機上で実
    行される前記トランザクションの単位ごとに記録され、
    前記転送するステップは、前記トランザクションの完了
    ごとに、そのトランザクション内で書き込まれたデータ
    を対象として行われることを特徴とする請求項6記載の
    データベースアクセス方法。
  8. 【請求項8】前記転送するステップは、前記記憶装置サ
    ブシステムにおいて前記ホスト計算機からのリード要求
    を受け付けるステップと、前記管理情報に基づいて、前
    記ホスト計算機に転送すべきデータが前記第1の記憶装
    置及び前記第2の記憶装置のいずれに保持されているか
    を判別するステップと、前記判別の結果に基づいて要求
    されたデータを前記ホスト計算機に転送するステップと
    を含むことを特徴とする請求項7記載のデータベースア
    クセス方法。
  9. 【請求項9】トランザクション処理が実行されるホスト
    計算機と、該ホスト計算機に接続され、トランザクショ
    ン処理でアクセスされるデータベースを格納した記憶装
    置サブシステムとを有する計算機システムにおいて、 前記記憶装置サブシステムは、前記データベースを二重
    化して格納する第1の記憶装置及び第2の記憶装置と、
    前記第1及び第2の記憶装置を制御し、前記第2の記憶
    装置に対するデータの書き込みを前記第1の記憶装置に
    反映し、前記第1の記憶装置と前記第2の記憶装置とを
    二重化する記憶制御装置とを備え、 前記ホスト計算機は、前記データベースからのデータの
    読み出しを前記第1の記憶装置を指定して行い、前記デ
    ータベースへのデータの書き込みを前記第2の記憶装置
    を指定して行う手段と、前記データベースへのデータの
    書き込み時に、未完了の前記データベースからの読み出
    し処理が存在するか判別し、未完了の読み出し処理が存
    在するときに前記記憶装置サブシステムへのライト要求
    に先立って前記第1の記憶装置へのデータの反映の中断
    を指示してライト要求を発行し、前記未完了の読み出し
    処理及び当該データの書き込み処理が終了した後に、中
    断したデータの反映の再開を指示する手段とを備えるこ
    とを特徴とする計算機システム。
  10. 【請求項10】トランザクション処理が実行されるホス
    ト計算機と、該ホスト計算機に接続され、トランザクシ
    ョン処理でアクセスされるデータベースを格納した記憶
    装置サブシステムとを有する計算機システムにおいて、 前記記憶装置サブシステムは、前記データベースを格納
    した記憶装置と、前記記憶装置を制御し、キャッシュメ
    モリを有する記憶制御装置とを備え、 前記ホスト計算機は、前記データベースへのデータの書
    き込み時に、未完了の前記データベースからの読み出し
    処理が存在するか判別し、未完了の読み出し処理が存在
    するときに前記記憶装置サブシステムへのライト要求に
    先立って前記第1の記憶装置へのデータの書き込み禁止
    を指示してライト要求を発行し、前記未完了の読み出し
    処理及び当該データの書き込み処理が終了した後に、前
    記第1の記憶装置への書き込みの再開を指示する手段と
    を備え、 前記記憶制御装置は、前記禁止の指示に応答して、前記
    禁止の指示を受け付けた以降に受け付けたライト要求に
    伴うデータを前記キャッシュメモリに書き込んで前記ホ
    スト計算機に処理の完了を報告し、前記再開の指示に応
    答して、前記キャッシュメモリに書き込んだデータを前
    記記憶装置に転送することを特徴とする計算機システ
    ム。
  11. 【請求項11】トランザクション処理が実行されるホス
    ト計算機と、該ホスト計算機に接続され、トランザクシ
    ョン処理でアクセスされるデータベースを格納した記憶
    装置サブシステムとを有する計算機システムにおいて、 前記記憶装置サブシステムは、前記データベースを格納
    した記憶装置と、前記記憶装置を制御し、キャッシュメ
    モリを有する記憶制御装置とを備え、 前記ホスト計算機は、前記データベースのアクセスに際
    して、アクセスが発生したトランザクションを識別する
    識別子を含むリード/ライト要求を発行する手段と、ト
    ランザクションの完了時に前記記憶装置サブシステムに
    コミットを指示する手段とを備え、 前記記憶制御装置は、前記ホスト計算機が発行したライ
    ト要求に応答して、該ライト要求に伴うデータを前記キ
    ャッシュメモリに書き込んで前記ホスト計算機に処理の
    完了を報告する手段と、前記コミットの指示に応答し
    て、完了したトランザクションにより発生したライト要
    求により前記キャッシュに書き込んだデータを前記記憶
    装置に転送する手段と、前記ホスト計算機が発行したリ
    ード要求に応答して、当該リード要求に含まれる前記識
    別子に基づき転送すべきデータが前記記憶装置及び前記
    キャッシュメモリのいずれに保持されているかを判別
    し、該判別の結果に従ってデータを前記ホスト計算機に
    転送する手段とを備えることを特徴とする計算機システ
    ム。
JP2000332107A 2000-10-25 2000-10-25 データベースアクセス方法 Expired - Fee Related JP4104281B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000332107A JP4104281B2 (ja) 2000-10-25 2000-10-25 データベースアクセス方法
US09/822,273 US6658541B2 (en) 2000-10-25 2001-04-02 Computer system and a database access method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000332107A JP4104281B2 (ja) 2000-10-25 2000-10-25 データベースアクセス方法

Publications (2)

Publication Number Publication Date
JP2002132554A true JP2002132554A (ja) 2002-05-10
JP4104281B2 JP4104281B2 (ja) 2008-06-18

Family

ID=18808352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000332107A Expired - Fee Related JP4104281B2 (ja) 2000-10-25 2000-10-25 データベースアクセス方法

Country Status (2)

Country Link
US (1) US6658541B2 (ja)
JP (1) JP4104281B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172341A (ja) * 2005-12-22 2007-07-05 Toshiba Corp 構造化文書管理システム及び同システムに適用される構造化文書管理プログラム
JP2008262304A (ja) * 2007-04-10 2008-10-30 Nec Corp データ複製システム、データ記憶装置、データ複製方法、及び制御プログラム
US7539816B2 (en) 2005-09-22 2009-05-26 Fujitsu Limited Disk control device, disk control method
JP2009251764A (ja) * 2008-04-02 2009-10-29 Nec Corp ジョブ管理システム、ジョブ制御方法、及びジョブ制御プログラム
JP2011008315A (ja) * 2009-06-23 2011-01-13 Internatl Business Mach Corp <Ibm> キャッシュ制御方法
JP2012168722A (ja) * 2011-02-14 2012-09-06 Toshiba Corp 調停装置、記憶装置、情報処理装置およびプログラム
JP2013196319A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
KR20140128823A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 멀티-트랜잭션의 아토믹 라이트 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4428993B2 (ja) * 2003-11-27 2010-03-10 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2005346610A (ja) 2004-06-07 2005-12-15 Hitachi Ltd スナップショットの取得および利用のための記憶システムおよび方法
US7617212B2 (en) * 2004-07-20 2009-11-10 International Business Machines Corporation System and method for controlling access to a database
US7418567B2 (en) * 2004-11-30 2008-08-26 International Business Machines Corporation Cache for an enterprise software system
US8996466B2 (en) * 2008-12-01 2015-03-31 Sap Se Extend crud to support lifecyle management and business continuity
CN102999395B (zh) * 2011-09-09 2016-05-18 腾讯科技(北京)有限公司 一种数据读写方法及系统
JP5290446B2 (ja) * 2012-02-28 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム
US8930518B2 (en) * 2012-10-03 2015-01-06 Oracle International Corporation Processing of write requests in application server clusters
US20140143476A1 (en) * 2012-11-16 2014-05-22 Rotem Sela Usage of cache and write transaction information in a storage device
US20170185354A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Techniques for a Write Transaction at a Storage Device
CN108304406B (zh) * 2017-01-12 2022-10-25 阿里云计算有限公司 一种数据库读写方法、装置及电子设备

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539816B2 (en) 2005-09-22 2009-05-26 Fujitsu Limited Disk control device, disk control method
JP2007172341A (ja) * 2005-12-22 2007-07-05 Toshiba Corp 構造化文書管理システム及び同システムに適用される構造化文書管理プログラム
JP2008262304A (ja) * 2007-04-10 2008-10-30 Nec Corp データ複製システム、データ記憶装置、データ複製方法、及び制御プログラム
JP4716133B2 (ja) * 2007-04-10 2011-07-06 日本電気株式会社 データ複製システム、データ記憶装置、データ複製方法、及び制御プログラム
JP2009251764A (ja) * 2008-04-02 2009-10-29 Nec Corp ジョブ管理システム、ジョブ制御方法、及びジョブ制御プログラム
JP2011008315A (ja) * 2009-06-23 2011-01-13 Internatl Business Mach Corp <Ibm> キャッシュ制御方法
US8484423B2 (en) 2009-06-23 2013-07-09 International Business Machines Corporation Method and apparatus for controlling cache using transaction flags
JP2012168722A (ja) * 2011-02-14 2012-09-06 Toshiba Corp 調停装置、記憶装置、情報処理装置およびプログラム
JP2013196319A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
KR20140128823A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 멀티-트랜잭션의 아토믹 라이트 방법
KR102094475B1 (ko) * 2013-04-29 2020-03-27 삼성전자주식회사 멀티-트랜잭션의 아토믹 라이트 방법
US10642531B2 (en) 2013-04-29 2020-05-05 Samsung Electronics Co., Ltd. Atomic write method for multi-transaction

Also Published As

Publication number Publication date
US20020059324A1 (en) 2002-05-16
JP4104281B2 (ja) 2008-06-18
US6658541B2 (en) 2003-12-02

Similar Documents

Publication Publication Date Title
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
JP4104281B2 (ja) データベースアクセス方法
US6694413B1 (en) Computer system and snapshot data management method thereof
US6658434B1 (en) Method of and a system for recovering data in an information processing system
US7788453B2 (en) Redirection of storage access requests based on determining whether write caching is enabled
US5375232A (en) Method and system for asynchronous pre-staging of backup copies in a data processing storage subsystem
US5379398A (en) Method and system for concurrent access during backup copying of data
US6732244B2 (en) Instant virtual copy technique with expedited creation of backup dataset inventory from source dataset inventory
US8612703B2 (en) Storage system performing virtual volume backup and method thereof
JP4839091B2 (ja) データベース回復方法及び計算機システム
US5497483A (en) Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem
JP2557172B2 (ja) タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム
US7640276B2 (en) Backup system, program and backup method
JP3606797B2 (ja) 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体
US20060047926A1 (en) Managing multiple snapshot copies of data
EP1199637A2 (en) Disk controller comprising cache memory and method of controlling the cache
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2003223287A (ja) 記憶装置、この記憶装置のバックアップ方法及びプログラム
JPH0683677A (ja) データの増分タイム・ゼロ・バックアップ・コピーの方法及びシステム
JPH05210555A (ja) ゼロ時間データ・バックアップ・コピーの方法及び装置
US6912632B2 (en) Storage system, storage system control method, and storage medium having program recorded thereon
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP3882467B2 (ja) 記憶装置システムのスナップショット管理方法
JP2007172365A (ja) データ複製システム、複製データ処理プログラムおよび複製データ処理方法
US20210064244A1 (en) Storage system and restoration method

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070607

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071001

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071204

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080325

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: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees