JP2005316635A - データ処理システムおよび方法並びにその処理プログラム - Google Patents

データ処理システムおよび方法並びにその処理プログラム Download PDF

Info

Publication number
JP2005316635A
JP2005316635A JP2004132485A JP2004132485A JP2005316635A JP 2005316635 A JP2005316635 A JP 2005316635A JP 2004132485 A JP2004132485 A JP 2004132485A JP 2004132485 A JP2004132485 A JP 2004132485A JP 2005316635 A JP2005316635 A JP 2005316635A
Authority
JP
Japan
Prior art keywords
log
area
storage device
log data
data
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
JP2004132485A
Other languages
English (en)
Other versions
JP4561168B2 (ja
Inventor
Noriko Nagae
規子 長江
Nobuo Kawamura
信男 河村
Takayoshi Shimokawa
隆義 下川
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 JP2004132485A priority Critical patent/JP4561168B2/ja
Priority to US10/849,222 priority patent/US7251716B2/en
Publication of JP2005316635A publication Critical patent/JP2005316635A/ja
Application granted granted Critical
Publication of JP4561168B2 publication Critical patent/JP4561168B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】
データベース管理システムで障害が発生した場合、回復処理に必要なログデータを記憶装置サブシステムから読み込む際に、記憶装置サブシステム内のキャッシュでログデータのキャッシュヒットを保証することはできないため、ディスク装置へのアクセスが発生し、読み込み処理に時間がかかり、回復処理に時間がかかる可能性が高いという問題があった。
【解決手段】
ホストコンピュータ上のデータベース管理システムから、ログデータを格納する記憶装置サブシステムを制御し、記憶装置サブシステムのディスクキャッシュ上に、回復に必要となるログデータのサイズ分のログ専用バッファ領域を確保しておく。このバッファ領域にログを書き出し、ホストコンピュータの障害発生時にはディスクキャッシュからログデータをディスク装置にアクセスすることなく読み出せるようにする。
【選択図】 図1


Description

本発明は、トランザクション処理を実施するデータ装置におけるログデータのキャッシングを記憶装置で実現するデータ処理技術に関する。
近年では、コンピュータシステムは停止することなくサービスを提供することが求められており、システムダウン時間は損失として捉えられる。システムダウン時間を削減するためには、高速復旧技術が必須でおり、特にストレージ技術による復旧支援が求められている。
従来のデータベース管理システムでは、ホストコンピュータ上から記憶装置サブシステムに対し、データブロックおよびログブロックの入出力を行う。ここで、入出力処理の効率を向上するために、ホストコンピュータのメモリ上にバッファを設定し、このバッファ上に入出力するデータブロックおよびログブロックをキャッシングすることにより、できるだけ記憶装置との間の入出力処理を削減する。
また、データベース管理システムでは、障害発生時にログだけで回復処理を行うと回復時間が多大になってしまうため、定期的にチェックポイントを取得しデータベースの整合性を保証する。チェックポイントを取得すると、バッファにキャッシングされている更新されたデータブロックを記憶装置上にすべて書き出し、再開始処理時に必要な管理情報を記憶する。従って、チェックポイントが再開始処理を行う際の起点となるため、それ以前のログは不要となり、回復時間をその分短縮することができる。一般にチェックポイントは稼働中に出力したログブロック数がある一定の数に達した時点に取得することが多い。このような技術は非特許文献1に記載されている。
また、記憶装置サブシステム側で入出力処理の処理効率を向上するための技術として、ディスクキャッシュが用いられている。ホストコンピュータからの要求データがディスクキャッシュに存在する場合にはディスク装置にアクセスせず、ディスクキャッシュ内のデータをホストコンピュータとやりとりすることで、入出力処理を高速化できる。従来のディスクキャッシュの割り当ての制御方法では、ホストコンピュータ上のOSから指定された動作モードに従い、LRUアルゴリズムやFIFOアルゴリズムを適用することで割り当てを行っている。ディスクキャッシュのヒット率を向上する手段の1つとして、特許文献1では、複数のアプリケーションが多重に動作している環境で効率的な制御を行うために、区分されたディスク装置の領域毎にアクセス頻度を取得し、ディスクキャッシュを割り当てる際に、ディスクキャッシュに格納されているデータブロックのうち、アクセス頻度が低い領域のものから追い出す制御を行っている。
WO99/40516号 Abraham Silberschatz, Henry F.Korth , S. Sudarshan :"DATABASE SYSTEM CONCEPTS"、McGraw-Hill社、1997、PP.511-p535
従来の記憶装置サブシステムにおけるディスクキャッシュの割り当て処理は、記憶装置サブシステムの中で独立して行っており、そこではデータブロックのアクセス頻度や登録順序しか制御に使用していないため、ホストコンピュータ上のアプリケーション側から、ディスクキャッシュの割り当てを制御することはできない。
データベース管理システムで障害が発生した場合も、回復処理に必要なログデータを記憶装置サブシステムから読み込む際に、ログデータのディスクキャッシュヒットを保証することはできないため、ディスク装置へのアクセスが発生し、読み込み処理に時間がかかり、それに伴い回復処理に時間がかかる可能性が高い。
本発明の目的は、ホストコンピュータ上のデータベース管理システムから記憶装置サブシステムを制御することで、回復処理に必要なログデータ全体のディスクキャッシュヒットを保証し、障害発生時のログデータの読込みを高速化し、回復処理にかかる時間を短縮化することにある。
本発明は、ホストコンピュータ上のデータベース管理システムから、前記データベース管理システムのログデータを格納する記憶装置サブシステムを制御し、記憶装置サブシステム内のディスクキャッシュ上に、チェックポイント間に出力されるログデータのサイズ分のログ専用バッファ領域をあらかじめ確保しておき、このバッファ領域にログを書き出し、ホストコンピュータの障害発生時にはディスクキャッシュからログデータをディスク装置にアクセスすることなく読み出せるようにするものである。さらに、ホストコンピュータ上のデータベース管理システムから新たなチェックポイントの通知を受信すると、ディスクキャッシュ内に格納されたログデータをディスク装置に出力するものである。
データ処理装置で回復に必要なログ情報を記憶装置側でキャッシュしているため、前記必要なログ情報を読み込む時間が短縮でき、回復処理にかかる時間を短縮することが可能となる。
以下、図面を用いて、発明の詳細を説明する。
図1は、本発明の実施形態の一つを表すシステム構成図である。ホストコンピュータ101とディスクサブシステム201は、ネットワーク107で接続されている。ホストコンピュータ101では、データベース管理システム102が稼動し、メモリ104の中にDB用バッファ105とログ用バッファ106を持つ。ディスクサブシステム201では、ネットワークインタフェース制御部202でホストコンピュータからの命令を受け付け、それを受けて動作するディスク制御部203から、デバイスインタフェース制御部208を通してディスク装置220へのアクセスを行う。ディスク装置220は、低速な装置であるため、キャッシュメモリ204を介して入出力処理を一括して行う。キャッシュメモリ204は、ホストコンピュータ101から書き込み要求が発生した場合に、ディスク装置220に書き込むデータを一時的に保持するために使用される。キャッシュメモリ204内にデータを書き込んだ時点で書き込み完了をホストコンピュータ101に通知するので、書き込みを高速に行ったように見せることができる。また、データを読み込む場合には、キャッシュメモリ204は読み込んだデータを一時的に格納しておくために使用される。再度同一データの読込みがホストコンピュータ101から要求された場合に、キャッシュメモリ204からホストコンピュータ101へデータを返送することで、読み込み処理を高速化することができる。データベース管理システム102やログ用キャッシュ制御部103、ディスク制御部203、ディスク制御部203内の211〜214の各処理部は、プログラムやオブジェクトやハードウェアで実現することができる。
本実施例では、ディスクサブシステム201内のキャッシュメモリ204を、ログ用キャッシュ領域206と通常用キャッシュ領域205に分けて管理を行う。ディスク制御部203は、ログブロックの入出力処理は、ログ用キャッシュ領域206を経由して行い、データブロックの入出力処理は通常用キャッシュ領域205を経由して行うように制御をする。ログ用キャッシュ領域206に関する情報はログ用キャッシュ管理テーブル209に登録される。
ログ用キャッシュ領域206上に確保されるログ用バッファ207の領域確保処理は、ディスクサブシステム201において、データベース管理システム102のプログラム起動後かチェックポイント取得後の初回のログブロック書き込み命令を受信した場合に行う。データベース管理システム102は、ディスクサブシステム201に対して、ログブロック書き込み命令とともにログ用バッファ207のサイズを通知する。ここで、ログ用バッファ207のサイズは、各チェックポイントの間に出力するログブロック量に相当するサイズを指定する。ディスクサブシステム201では、ディスク制御部202のログ用バッファ確保プログラム212を起動し、そのサイズのバッファ207をキャッシュメモリ204内のログ用キャッシュ領域206上に確保する。このとき、確保したログ用バッファ207の情報はログ用キャッシュ管理テーブル209に登録する。ここでは、データベース管理システムについての具体例として説明しているが、ログ情報を生成するトランザクションモニタシステムやログ情報を生成するプログラムに効果的である。前記ディスクサブシステムは、ディスクアレイシステム(アレイディスクシステム)やディスク装置にも適用可能である。データベース管理システムでは、障害に備え、定期的にDBの整合性を保証する為、稼動中にチェックポイントを取得する。チェックポイントは、システム障害時の再開始処理を行う起点となるデータベースの整合性が保証されたポイントとなる。主にチェックポイントは稼動中に出力したログブロック数がある一定の回数に達した時点に取得する場合が多い。このようなチェックポイント処理では、その時点のデータベースバッファにおける更新が行われたデータベースブロックを記憶装置上に全て書き出す処理が行われる。
次に、トランザクション処理をしている間の動作を説明する。例えば、データベース管理システム102が、データベースに格納されたデータの更新要求を、クライアントプログラムから受信した場合、データベース管理システム102は、回復に必要なデータ(行識別子など)をログ用バッファ105上に書き出してから、データ用バッファ105に更新後のデータを書き出す。クライアントプログラムからトランザクションの完了を表すCOMMIT要求をデータベース管理システム102が受理するか、ログ用バッファ105が溢れた場合に、データベース管理システム102はログ用バッファ106のデータをディスクサブシステム201に転送する。ディスクサブシステム201はディスク制御部202のログ書き込みプログラム211を呼び出し、データベース管理システム102から受信したログデータをログ用キャッシュ領域206上に確保されたログ用バッファ207に書き込む。このとき、ログ書き込みプログラム211は、ログ用バッファ管理テーブル210に対し、ログ用バッファ207に関する情報を更新する。
データベース管理システム102において、出力したログブロック量がある一定の量に達するか、コマンドで指示されると、チェックポイントを取得する。本実施例では、このとき、データベース管理システム102のログ用キャッシュ制御部103からディスクサブシステム201に対しバッファフラッシュ命令を通知し、ディスク制御部202のバッファフラッシュプログラム213が動作する。バッファフラッシュプログラム213は、ログ用バッファ207に書き込まれているデータをディスク装置220にすべて書き出し、ログ用バッファ207の領域を解放する。このとき、ログ用キャッシュ管理テーブル209とログ用バッファ管理テーブル210から、ログ用バッファ207に格納されている情報を削除する。
障害が発生した場合、データベース管理システム102を再開始する際に、ログデータを使用してデータベースの状態を回復するため、ディスクサブシステム201に対しログデータの読込み要求を行う。ここで必要となるログデータは、障害発生前に取得した最終チェックポイント以降のものであると仮定する。従って、本実施例のログ用キャッシュ領域の制御方式を適用すると、読み込まれるログデータのログブロックはすべて、ディスクサブシステム201のキャッシュメモリ204内のログ用バッファ207に存在することが保証されるため、ディスク装置220にアクセスする必要がなくなり、その分ログデータの読込み処理を高速に行うことができる。
本実施例で提案しているディスクサブシステム201を用いることにより、ログ用バッファ207をDB管理システム102側にログ用バッファ106の代用として用いることができる。つまり、DB管理システム102では、ログ情報を直接、ディスクサブシステム201のログ用バッファ106へ格納するようにしても良い。本実施例を機能させるための前記プログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。尚、他の装置のプログラムについても同様である。
図2(A)は、ログ用キャッシュ領域を管理するために使用する管理テーブルの構成を示している。ログ用キャッシュ管理テーブルは、図1のログ用キャッシュ管理テーブル209に対応している。図1に示すように、本実施例では、ディスクサブシステム201のキャッシュメモリ204の制御を、ログ用キャッシュ領域206と通常用キャッシュ領域205に区分けをして行う。キャッシュメモリの領域が不足してログ用バッファ207の領域が確保できない場合は、従来どおりのキャッシュ管理を行うように制御する。このキャッシュ制御モードを管理するために、図2(A)に示すログ用キャッシュ管理テーブルを使用する。図2(B)のログ用バッファ管理テーブルは図1のログ用バッファ管理テーブル210に対応している。ログ用バッファ管理テーブルには、ログ用バッファ207の中に書き込まれているログブロックの情報が登録される。ログデータ領域を構成するファイルは、ホストコンピュータ上のオペレーティングシステムにおいて、論理ボリュームにマッピングされる。さらに、論理ボリュームは、ディスクサブシステムのディスクに対応するデバイスファイルとしてマッピングされる。ディスクサブシステム内では前記デバイスファイルはLU(Logical Unit)に対応する。従って、ログデータ領域を構成するファイルは最終的に物理デバイスにマッピングされる。対応する物理情報は、ディスクサブシステム201内の物理デバイスを識別する物理デバイスIDであるLUN(Logical Unit Number)と物理デバイス内の相対位置であるLBA(Logical Block Address)となる。データベース管理システム102から通知されるログ書き込みおよび読み込み命令は、ホストコンピュータ101上のオペレーティングシステムを介して、上記の物理レベルで行われる。ログ用バッファ管理テーブル210には、コマンドに指定されたログブロックの物理情報と、そのログブロックが格納されたキャッシュメモリ204上での位置情報、およびどのログ用バッファ領域であるかを識別する情報が管理される。
図3(A)と図3(B)にログ用キャッシュ領域204の制御に用いるコマンドの一例を示す。図3(A)のコマンド301は、ホストコンピュータ101からディスクサブシステム201に対し、ログデータの書き込みを指示するコマンドであり、図3(B)のコマンド311は、ホストコンピュータ101からディスクサブシステム201に対し、ログ用バッファ207上に格納されているログブロックのディスク装置への書き込みを指示するコマンドである。コマンド301は、命令コード302、LUN303、LBA304、バッファ識別子305、バッファ長306等から構成されている。コマンド311は、命令コード、バッファ識別子等から構成されている。命令コード302、312は、それぞれ、ライト、バッファフラッシュである。LUN303は物理デバイスID、LBA304は物理デバイス内の相対位置を示す。バッファID305、313は、ログ用バッファを識別する情報を示す。バッファIDは、ホストコンピュータ101上のデータベース管理システム102で管理する。バッファ長はキャッシュメモリ204上に確保するログバッファの長さを示す。
図4にログ書き込みプログラム211の処理フローを示す。ステップ410でコマンドに付与されたバッファIDから、ログ用キャッシュ管理テーブル209を検索する。一致するバッファIDが登録されていない場合には、データベース管理システム起動後またはチェックポイント取得後の初めての書き込みであるので、ログ用バッファ確保処理408に移る。一致するバッファIDが登録されている場合または、ログ用バッファ確保処理408が完了した後、ステップ403に進み、キャッシュ管理モードのチェックを行う。キャッシュ管理モードが「通常モード」である場合は、従来のキャッシュ管理による書き込み処理409を行う。キャッシュ管理モードが「ログモード」である場合は、ステップ404に進み、コマンドに付与されたバッファIDでログ用バッファ管理テーブルを検索し、空きのキャッシュブロックを検索する。空きのキャッシュブロックが見つかったら、ステップ406に進み、そのキャッシュブロックに対し、ホストコンピュータ101から受信したログブロックの内容を書き込む。ステップ407でログ用バッファ管理テーブル210に対し、ステップ406で、書き込んだログブロックのディスク装置220での格納先となる、LUNおよびLBAを登録する。この他、ログ用バッファ内におけるキャッシュブロックの順序管理等については、リストなど通常のアルゴリズムを適用すればよい。
図5にログ用バッファ確保処理のフローを示す。ステップ501でコマンド301に付与されたバッファ長306をチェックする。キャッシュメモリ204の空きが十分ではない場合、ステップ505に進み、ログ用バッファ207は確保せずに、従来どおりのキャッシュ管理を行うようにする。このとき、ステップ504において、ログの書き込み処理や読み込み処理を行う際に、コマンドに付与されたバッファIDによって、キャッシュ管理モードがログモードと通常モードのどちらになっているかを判別できるようにするために、ログ用キャッシュ管理テーブル209に、キャッシュ管理モードを「通常モード」として登録しておく。キャッシュメモリ204の空きが十分である場合は、ステップ502に進み、キャッシュメモリ204上にログ用バッファ207を確保する。ステップ503、ステップ504で、確保したログ用バッファ分の情報をログ用キャッシュ管理テーブル209およびログ用バッファ管理テーブル210にそれぞれ登録する。
図6にバッファフラッシュプログラム213の処理フローを示す。ステップ601で、コマンドに付与されたバッファIDによって、ログ用キャッシュ管理テーブル208からログ用バッファを検索する。一致するバッファIDが見つかったら、ステップ602でキャッシュ管理モードをチェックし、ログ用モードでない場合は、通常のキャッシュ制御であるので、そのまま処理を終了する。ログ用モードである場合は、ステップ603に進み、ログ用バッファ管理テーブル210から、コマンドに付与されたバッファIDと一致するキャッシュブロックを検索する。ここで、そのキャッシュブロックに対し、ディスク装置220における格納先であるLUN、LBAの情報が登録されていたら、ログブロックが格納されていることになるので、ステップ670に進み、ログブロックの内容をログ用バッファ管理テーブル210に登録されている、LUN、LBAで示される場所に書き込む。ディスク装置220に対する書き込みが終わったら、ログ用バッファ管理テーブル210から、キャッシュブロックに格納されていたログブロックのLUNおよびLBAの情報を削除する。ステップ603からステップ680までの処理は、コマンドに付与されたバッファIDのログ用バッファが割り振られているキャッシュブロックすべてに対し、ステップ640における判定で、登録されているLUNおよびLBAがなくなるまで繰り返し行う。ログ用バッファ内に格納されたログブロックのディスク装置220への書き込みがすべて完了したら、ステップ605に進み、そのログ用バッファ領域を解放し、ステップ606において、ログ用キャッシュ管理テーブル209とログ用バッファ管理テーブル210から、解放したログ用バッファ領域に関する情報をすべて削除する。
障害発生時のログデータ読込み処理については、ログ用READコマンドに付与されたバッファIDまたは、LUNおよびLBAにより、ログ用バッファ管理テーブル210を検索して、ログ用バッファ207上に格納されているログブロックを読み込む。このとき、ディスク装置221にアクセスすることはないため、高速に回復処理を行うことができる。
また、同一のディスクサブシステム上で複数のデータベース管理システムのデータおよびログが格納されている場合もあるが、本実施例はこのような場合にも適合することができる。例えば、ログバッファIDとして、各ホストコンピュータとその上で動作するプログラムの識別情報を与えることにより、複数のデータベース管理システムから制御するそれぞれログ用バッファの管理を一括して行うことができる。
データベース管理システムの実装方法によっては、障害発生によるダウンの後、再開始をする際に、データベースの状態を回復するために必要となるログデータの対象範囲が異なってくる。ここまでの説明は、図7(A)の場合を想定している。
本実施例では、これ以外の場合にも対応することが可能である。例えば、図7(B)は、データベース回復時に前回のチェックポイント時点から障害発生時点までのログデータが必要となる場合である。この場合の実現方法の一例としては、ログ用バッファ領域を2面分用意しておき、これら2つのバッファの管理はデータベース管理システム102側で行うようにする。データベース管理システム102においてチェックポイントを取得したら、ディスクサブシステム201へのバッファフラッシュ命令でコマンドに付与するバッファIDに、前回のチェックポイントまでのログブロックを格納している側のバッファを指定するようにする。これにより、バッファフラッシュプログラム213は、コマンドに付与されたバッファIDをもつログ用バッファに格納されたログブロックをディスク装置220に書き込み、そのバッファを解放すればよい。このような方式をとることにより、ログ用バッファ領域を複数(チェックポイントの所定回数分)用意し、チェックポイントの所定回数分のログをログ用キャッシュ領域に格納することもできる。所定数のログ用キャッシュ領域に格納されているログ情報の時間的に古いものからログ情報を削除することにより、チェックポイントの所定回数分をキャッシュ領域に確保することが可能となる。
図7(C)は、最終チェックポイントから所定量分さかのぼったポイントからのログデータが必要となる場合である。この場合の実現方法の一例としては、データベース管理システム102において、チェックポイント取得時に、ディスクサブシステム201へのバッファフラッシュ命令を行う際に使用するコマンドに対し、そのチェックポイント取得時までのバッファID(フラッシュ対象のバッファのID)に加え、次回のチェックポイント取得時までのバッファID(新しいバッファのID)と、ログ用バッファに残しておくべきチェックポイント直前のログサイズ(ログブロック数)も指定するようにする。この命令を受けて、ディスクサブシステム201内のバッファフラッシュプログラム213は、チェックポイント直前の指定ブロック数分のログブロックをキャッシュメモリ上に残し、それ以外のログブロックをディスク装置220に書き出す。次に、ログ用バッファ管理テーブルのキャッシュメモリ上に残ったログブロック分のバッファIDを、新しいバッファのIDに更新する。ディスク装置220に書き出した分については、領域を解放し、ログ用バッファ管理テーブルから削除する。チェックポイント取得直後のログWRITE命令では、バッファフラッシュ命令で指定した新しいバッファのIDを指定して、新たなログ用バッファ領域を確保し、キャッシュメモリ上に残ったログブロックの最後尾から、その先頭をポイントするなどして、続けてアクセスできるようにすればよい。所定時間さかのぼったログデータまでをキャッシュバッファに残すことも容易に実現できるのはいうまでもない。
ホストコンピュータ上のデータベース管理システムから記憶装置サブシステムのキャッシュメモリを制御できるようにすることで、回復処理に必要なログデータ全体をキャッシュに常にのせておくことができる。従って、データベース管理システムが障害によってダウンした場合に再開始処理をする際に、ログの読み込み要求があってもキャッシュヒットするので、ディスク装置にアクセスする必要がなく、回復処理にかかる時間を短縮することが可能となる。
システム構成を示す。 ログ用キャッシュ管理テーブルおよびログ用バッファ管理テーブルの構成を示す。 ログ用WRITEコマンドと、ログ用バッファフラッシュコマンドの構成を示す。 ディスクサブシステムでのログ用WRITE処理の流れ図を示す。 ディスクサブシステムでのログ用バッファ確保処理の流れ図を示す。 ディスクサブシステムでのログ用バッファフラッシュ処理の流れ図を示す。 ログデータをメモリに残すバリエーション図を示す。
符号の説明
101:ホストコンピュータ
102:データベース管理システム
103:ログ用キャッシュ制御部
201:ディスクサブシステム
202:ネットワークインタフェース制御部
203:ディスク制御部
204:ディスクサブシステムのキャッシュメモリ
205:通常用キャッシュ領域
206:ログ用キャッシュ領域
207:ログ用バッファ
208:デバイスインタフェース制御部
209:ログ用キャッシュ管理テーブル
210:ログ用バッファ管理テーブル
220:ディスク装置

Claims (11)

  1. トランザクション処理を実行するデータ処理装置と、前記トランザクション処理時に生成したログデータを格納する記憶装置とを有するデータ処理システムにおいて、
    前記データ処理装置は、前記記憶装置内のメモリに前記ログデータを格納する領域のサイズとその領域の識別子を含む領域確保要求を前記記憶装置へ予め送信し、前記ログデータを格納する場合は前記領域の識別情報を含む格納要求を前記記憶装置へ送信し、
    前記記憶装置は、前記領域確保要求の入力に応じて前記メモリ上にログ用キャッシュ領域について該領域確保要求に含まれるサイズ分を確保して該領域に該領域確保要求に含まれる識別情報を該領域識別情報と対応付けて記憶し、前記格納要求の入力に応じて該格納要求に含まれる識別情報に対応する前記領域に前記ログデータを格納することを特徴とするデータ処理システム。
  2. 前記データ処理装置は、トランザクション処理におけるチェックポイントのタイミングで前記記憶装置にチェックポイントを通知するための通知要求を前記記憶装置へ送信し、
    前記記憶装置は、前記通知要求を入力すると前記ログデータを前記メモリからディスク装置に書き込むことを特徴とする請求項1記載のデータ処理システム。
  3. 前記記憶装置は、前記メモリ内のログデータを全て消去することを特徴とする請求項2記載のデータ処理システム。
  4. 前記記憶装置は、前記メモリに格納された前記ログデータについて直前のチェックポイント以前のログデータを消去することを特徴とする請求項2記載のデータ処理システム。
  5. 前記記憶装置は、前記メモリに格納された前記ログデータについて所定回数のチェックポイント以前のログデータを消去することを特徴とする請求項2記載のデータ処理システム。
  6. トランザクション処理を実行するデータ処理装置と、前記トランザクション処理時に生成したログデータを格納する記憶装置とを有するデータ処理システムにおけるデータ処理方法において、
    前記データ処理装置は、前記記憶装置内のメモリに前記ログデータを格納する領域のサイズとその領域の識別子を含む領域確保要求を前記記憶装置へ予め送信し、前記ログデータを格納する場合は前記領域の識別情報を含む格納要求を前記記憶装置へ送信し、
    前記記憶装置は、前記領域確保要求の入力に応じて前記メモリ上にログ用キャッシュ領域について該領域確保要求に含まれるサイズ分を確保して該領域に該領域確保要求に含まれる識別情報を該領域識別情報と対応付けて記憶し、前記格納要求の入力に応じて該格納要求に含まれる識別情報に対応する前記領域に前記ログデータを格納することを特徴とするデータ処理方法。
  7. 前記データ処理装置は、トランザクション処理におけるチェックポイントのタイミングで前記記憶装置にチェックポイントを通知するための通知要求を前記記憶装置へ送信し、
    前記記憶装置は、前記通知要求を入力すると前記ログデータを前記メモリからディスク装置に書き込むことを特徴とする請求項6記載のデータ処理方法。
  8. 前記記憶装置は、前記メモリ内のログデータを全て消去することを特徴とする請求項7記載のデータ処理方法。
  9. 前記記憶装置は、前記メモリに格納された前記ログデータについて直前のチェックポイント以前のログデータを消去することを特徴とする請求項8記載のデータ処理方法。
  10. 前記記憶装置は、前記メモリに格納された前記ログデータについて所定回数のチェックポイント以前のログデータを消去することを特徴とする請求項8記載のデータ処理方法。
  11. トランザクション処理を実行するデータ処理装置と、前記トランザクション処理時に生成したログデータを格納する記憶装置とを有するデータ処理システムを機能するためのデータ処理プログラムにおいて、
    前記データ処理装置では、前記記憶装置内のメモリに前記ログデータを格納する領域のサイズとその領域の識別子を含む領域確保要求を前記記憶装置へ予め送信するステップと、前記ログデータを格納する場合は前記領域の識別情報を含む格納要求を前記記憶装置へ送信ステップと、
    前記記憶装置では、前記領域確保要求の入力に応じて前記メモリ上にログ用キャッシュ領域について該領域確保要求に含まれるサイズ分を確保して該領域に該領域確保要求に含まれる識別情報を該領域識別情報と対応付けて記憶するステップと、前記格納要求の入力に応じて該格納要求に含まれる識別情報に対応する前記領域に前記ログデータを格納するステップとを有することを特徴とするデータ処理プログラム。
JP2004132485A 2004-04-28 2004-04-28 データ処理システムおよび方法並びにその処理プログラム Expired - Fee Related JP4561168B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004132485A JP4561168B2 (ja) 2004-04-28 2004-04-28 データ処理システムおよび方法並びにその処理プログラム
US10/849,222 US7251716B2 (en) 2004-04-28 2004-05-20 Method and system for data processing with recovery capability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004132485A JP4561168B2 (ja) 2004-04-28 2004-04-28 データ処理システムおよび方法並びにその処理プログラム

Publications (2)

Publication Number Publication Date
JP2005316635A true JP2005316635A (ja) 2005-11-10
JP4561168B2 JP4561168B2 (ja) 2010-10-13

Family

ID=35240682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004132485A Expired - Fee Related JP4561168B2 (ja) 2004-04-28 2004-04-28 データ処理システムおよび方法並びにその処理プログラム

Country Status (2)

Country Link
US (1) US7251716B2 (ja)
JP (1) JP4561168B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194119A1 (ja) * 2015-06-01 2016-12-08 株式会社日立製作所 計算機システムを管理する管理システム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
JP4506292B2 (ja) * 2004-06-10 2010-07-21 株式会社日立製作所 キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
JP2006268403A (ja) * 2005-03-24 2006-10-05 Fujitsu Ltd データストレージシステム及びストレージ制御装置のログデータの等価制御方法
US7966450B2 (en) 2005-09-01 2011-06-21 Micron Technology, Inc. Non-volatile hard disk drive cache system and method
US7765361B2 (en) * 2006-11-21 2010-07-27 Microsoft Corporation Enforced transaction system recoverability on media without write-through
US8529632B2 (en) 2008-09-17 2013-09-10 Ascension Orthopedics, Inc. Thumb metacarpal implant
KR101505005B1 (ko) * 2008-12-05 2015-03-24 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
US8255637B2 (en) 2010-09-27 2012-08-28 Infinidat Ltd. Mass storage system and method of operating using consistency checkpoints and destaging
US8938429B1 (en) 2011-03-31 2015-01-20 Emc Corporation Resynchronization of nonactive and active segments
US8818954B1 (en) * 2011-03-31 2014-08-26 Emc Corporation Change tracking
US8612390B2 (en) * 2011-05-02 2013-12-17 Microsoft Corporation Lightweight caching of transaction log for sequential access
US20130198447A1 (en) * 2012-01-30 2013-08-01 Infinidat Ltd. Storage system for atomic write which includes a pre-cache
US20130198446A1 (en) * 2012-01-30 2013-08-01 Infinidat Ltd. Storage system for atomic write of one or more commands
US20130332413A1 (en) * 2012-06-07 2013-12-12 International Business Machines Corporation Reducing data transfers while eliminating data loss for asynchronous replication of databases
US9535981B2 (en) * 2013-07-15 2017-01-03 Netapp, Inc. Systems and methods for filtering low utility value messages from system logs
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US10069767B1 (en) * 2014-10-31 2018-09-04 Netronome Systems, Inc. Method of dynamically allocating buffers for packet data received onto a networking device
US10146473B2 (en) * 2016-05-10 2018-12-04 Ge Aviation Systems Llc Systems and methods of subject state change notification
US10997031B2 (en) * 2019-01-31 2021-05-04 EMC IP Holding Company LLC System and method for log metadata automatic recovery on dual controller storage system
US11907102B2 (en) * 2022-01-24 2024-02-20 Dell Products L.P. Dynamic debug log enabler for any protection failure jobs

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284995A (ja) * 1999-03-30 2000-10-13 Fujitsu Ltd データ処理装置及び記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076151A (en) * 1997-10-10 2000-06-13 Advanced Micro Devices, Inc. Dynamic memory allocation suitable for stride-based prefetching
EP1061449A4 (en) 1998-02-04 2005-12-21 Hitachi Ltd METHOD OF MANAGING ANEMATORY DISK, DISC STRUCTURE AND MEMORY
US6895416B2 (en) * 2001-02-24 2005-05-17 International Business Machines Corporation Checkpointing filesystem
US6721765B2 (en) 2002-07-02 2004-04-13 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
JP4393762B2 (ja) 2002-12-19 2010-01-06 株式会社日立製作所 データベース処理方法及び装置並びにその処理プログラム
JP3944449B2 (ja) 2002-12-19 2007-07-11 株式会社日立製作所 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
JP2004213435A (ja) 2003-01-07 2004-07-29 Hitachi Ltd 記憶装置システム
JP2004348193A (ja) 2003-05-20 2004-12-09 Hitachi Ltd 情報処理システムおよびそのバックアップ方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284995A (ja) * 1999-03-30 2000-10-13 Fujitsu Ltd データ処理装置及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194119A1 (ja) * 2015-06-01 2016-12-08 株式会社日立製作所 計算機システムを管理する管理システム
JPWO2016194119A1 (ja) * 2015-06-01 2017-11-02 株式会社日立製作所 計算機システムを管理する管理システム
US10503577B2 (en) 2015-06-01 2019-12-10 Hitachi, Ltd. Management system for managing computer system

Also Published As

Publication number Publication date
JP4561168B2 (ja) 2010-10-13
US7251716B2 (en) 2007-07-31
US20050251625A1 (en) 2005-11-10

Similar Documents

Publication Publication Date Title
JP4561168B2 (ja) データ処理システムおよび方法並びにその処理プログラム
KR101824295B1 (ko) 솔리드 스테이트 장치 가상화를 포함하는 캐시 관리
US7895394B2 (en) Storage system
US8280858B2 (en) Storage pool scrubbing with concurrent snapshots
JP4249719B2 (ja) バックアップシステム、プログラム及びバックアップ方法
CN113868192B (zh) 一种数据存储设备、方法与分布式数据存储系统
US9778860B2 (en) Re-TRIM of free space within VHDX
JP4884041B2 (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
US20140173226A1 (en) Logical object deletion
US7673096B2 (en) Control apparatus for controlling virtual storage
US8862819B2 (en) Log structure array
JP5944502B2 (ja) 計算機システム及び制御方法
US20160357672A1 (en) Methods and apparatus for atomic write processing
US20190243758A1 (en) Storage control device and storage control method
KR101738965B1 (ko) 가비지 컬렉션 저널링 장치 및 방법
US20140331007A1 (en) Virtual library controller and control method
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
JP4189342B2 (ja) ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
JP2005316632A (ja) キャッシュ制御およびデータ処理システム並びにその処理プログラム
KR100981064B1 (ko) 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP4506292B2 (ja) キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
JP2014059760A (ja) ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム
JP2010170268A (ja) ストレージシステムの制御方法、ストレージ制御装置及びプログラム
US9304918B2 (en) Computer system and cache control method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100512

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100719

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees