(57)【要約】【課題】ホストコンピュータのバッファの内容を記憶装置サブシステム上のデータベース領域へ反映させる際に入出力処理負荷を低減させる。【解決手段】ホストコンピュータからのアクセス要求が書き込み要求であり、その書き込み内容がホストコンピュータのバッファ上で行われたデータベース処理の内容を示すログ情報であるかどうかを判定するステップと、前記書き込み内容が前記ログ情報である場合に、ホストコンピュータ側のデータベース処理で認識している論理的な位置情報と記憶装置サブシステム上の物理的な位置情報との対応関係を示す変換テーブルによって、前記ログ情報中に示された位置情報を記憶装置サブシステム上の物理的な位置情報に変換するステップと、その変換した物理的な位置情報で表される記憶装置サブシステム上のデータベース領域のデータを前記ログ情報の内容に従って更新するステップとを有するものである。【選択図】        図１
2004199498.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置上のデータベースに反映させる処理を行うデータベース処理方法において、
ホストコンピュータから送信されたアクセス要求を受信し、その受信したアクセス要求が書き込み要求または読み込み要求のいずれであるかを判定するステップと、前記受信したアクセス要求が書き込み要求である場合に、その書き込み内容がホストコンピュータのバッファ上で行われたデータベース処理の内容を示すログ情報であるかどうかを判定するステップと、前記書き込み内容が前記ログ情報である場合に、ホストコンピュータ側のデータベース処理で認識している論理的な位置情報と記憶装置サブシステム上の物理的な位置情報との対応関係を示す変換テーブルによって、前記ログ情報中に示された位置情報を記憶装置サブシステム上の物理的な位置情報に変換するステップと、その変換した物理的な位置情報で表される記憶装置サブシステム上のデータベース領域のデータを前記ログ情報の内容に従って更新するステップとを有することを特徴とするデータベース処理方法。
【請求項２】
ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置上のデータベースに反映させる処理を行うデータベース処理方法において、
ホストコンピュータのデータベースバッファの内容を記憶装置サブシステム内の記憶装置へ反映させる必要が生じた場合に、そのデータベースバッファに対して行われたデータベース処理の内容を示すログ情報の書き込み要求をホストコンピュータから記憶装置サブシステムへ送信するステップと、データベースバッファ中にデータベース処理でアクセス対象となっているデータが存在していない場合に当該データの読み込み要求をホストコンピュータから記憶装置サブシステムへ送信するステップと、
ホストコンピュータから送信されたアクセス要求を受信し、その受信したアクセス要求が書き込み要求または読み込み要求のいずれであるかを判定するステップと、前記受信したアクセス要求が書き込み要求である場合に、その書き込み内容が前記ログ情報であるかどうかを判定するステップと、前記書き込み内容が前記ログ情報である場合に、ホストコンピュータ側のデータベース処理で認識している論理的な位置情報と記憶装置サブシステム上の物理的な位置情報との対応関係を示す変換テーブルによって、前記ログ情報中に示された位置情報を記憶装置サブシステム上の物理的な位置情報に変換するステップと、その変換した物理的な位置情報で表される記憶装置サブシステム上のデータベース領域のデータを前記ログ情報の内容に従って更新するステップとを有することを特徴とするデータベース処理方法。
【請求項３】
前記受信したアクセス要求が読み込み要求である場合に、それ以前の書き込み要求で受信したログ情報中に読み込み対象のデータを更新するログ情報が含まれているかどうかを判定し、前記受信したログ情報中に読み込み対象のデータを更新するログ情報が含まれている場合に、読み込み対象のデータを当該ログ情報の内容に従って更新することを特徴とする請求項１または請求項２のいずれかに記載されたデータベース処理方法。
【請求項４】
前記ログ情報の内、ＣＯＭＭＩＴされたトランザクションのログ情報を用いて更新を行うことを特徴とする請求項１乃至請求項３のいずれか１項に記載されたデータベース処理方法。
【請求項５】
前記データベース領域のデータの更新を、そのデータベース領域のデータに対応する物理デバイス毎に並列に行うことを特徴とする請求項１乃至請求項４のいずれか１項に記載されたデータベース処理方法。
【請求項６】
前記ログ情報の内容に従って更新されるデータベース領域のデータが他の記憶装置サブシステム中に存在している場合に、そのログ情報の内容を当該記憶装置サブシステムへ送信し、その記憶装置サブシステム内でデータベース領域のデータの更新を行うことを特徴とする請求項１乃至請求項５のいずれか１項に記載されたデータベース処理方法。
【請求項７】
ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置上のデータベースに反映させる処理を行う記憶装置サブシステムにおいて、
ホストコンピュータから送信されたアクセス要求を受信し、その受信したアクセス要求が書き込み要求または読み込み要求のいずれであるかを判定する制御処理部と、
前記受信したアクセス要求が書き込み要求である場合に、その書き込み内容がホストコンピュータのバッファ上で行われたデータベース処理の内容を示すログ情報であるかどうかを判定し、前記書き込み内容が前記ログ情報である場合に、ホストコンピュータ側のデータベース処理で認識している論理的な位置情報と記憶装置サブシステム上の物理的な位置情報との対応関係を示す変換テーブルによって、前記ログ情報中に示された位置情報を記憶装置サブシステム上の物理的な位置情報に変換し、その変換した物理的な位置情報で表される記憶装置サブシステム上のデータベース領域のデータを前記ログ情報の内容に従って更新する更新処理部とを備えることを特徴とする記憶装置サブシステム。
【請求項８】
前記更新処理部は、受信したアクセス要求が読み込み要求である場合に、それ以前の書き込み要求で受信したログ情報中に読み込み対象のデータを更新するログ情報が含まれているかどうかを判定し、前記受信したログ情報中に読み込み対象のデータを更新するログ情報が含まれている場合に、読み込み対象のデータを当該ログ情報の内容に従って更新するものであることを特徴とする請求項７に記載された記憶装置サブシステム。
【請求項９】
ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置上のデータベースに反映させる処理を行うデータベース処理システムにおいて、
ホストコンピュータのデータベースバッファの内容を記憶装置サブシステム内の記憶装置へ反映させる必要が生じた場合に、そのデータベースバッファに対して行われたデータベース処理の内容を示すログ情報の書き込み要求をホストコンピュータから記憶装置サブシステムへ送信し、データベースバッファ中にデータベース処理でアクセス対象となっているデータが存在していない場合に当該データの読み込み要求をホストコンピュータから記憶装置サブシステムへ送信するデータベース管理処理部と、
ホストコンピュータから送信されたアクセス要求を受信し、その受信したアクセス要求が書き込み要求または読み込み要求のいずれであるかを判定する制御処理部と、
前記受信したアクセス要求が書き込み要求である場合に、その書き込み内容が前記ログ情報であるかどうかを判定し、前記書き込み内容が前記ログ情報である場合に、ホストコンピュータ側のデータベース処理で認識している論理的な位置情報と記憶装置サブシステム上の物理的な位置情報との対応関係を示す変換テーブルによって、前記ログ情報中に示された位置情報を記憶装置サブシステム上の物理的な位置情報に変換し、その変換した物理的な位置情報で表される記憶装置サブシステム上のデータベース領域のデータを前記ログ情報の内容に従って更新する更新処理部とを備えることを特徴とするデータベース処理システム。
【請求項１０】
ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置上のデータベースに反映させる処理を行う記憶装置サブシステムとしてコンピュータを機能させる為のプログラムにおいて、
ホストコンピュータから送信されたアクセス要求を受信し、その受信したアクセス要求が書き込み要求または読み込み要求のいずれであるかを判定する制御処理部と、
前記受信したアクセス要求が書き込み要求である場合に、その書き込み内容がホストコンピュータのバッファ上で行われたデータベース処理の内容を示すログ情報であるかどうかを判定し、前記書き込み内容が前記ログ情報である場合に、ホストコンピュータ側のデータベース処理で認識している論理的な位置情報と記憶装置サブシステム上の物理的な位置情報との対応関係を示す変換テーブルによって、前記ログ情報中に示された位置情報を記憶装置サブシステム上の物理的な位置情報に変換し、その変換した物理的な位置情報で表される記憶装置サブシステム上のデータベース領域のデータを前記ログ情報の内容に従って更新する更新処理部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はホストコンピュータと記憶装置サブシステムとを接続してデータベース処理を行うデータベース処理システムに関し、特にホストコンピュータのデータベース処理の内容を示すログ情報により、記憶装置サブシステム内のデータベースにデータベース処理内容を反映するデータベース処理システムに適用して有効な技術に関するものである。
【０００２】
【従来の技術】
従来のデータベース管理システムでは、ホストコンピュータ上と記憶装置サブシステムとの間でデータベースブロック及びログブロックの入出力を行っている。すなわち、データベース管理システムが入出力の効率を向上させる為にホストコンピュータのメインメモリ上にデータベースのバッファを設定し、当該バッファ上に記憶装置（メインメモリと比較して低速で大容量の磁気ディスク装置等の記憶装置を指すものとする）から入力したデータベースブロックをキャッシングすることによって、できるだけ記憶装置からの入出力を削減している。
【０００３】
この様なデータベース管理システムでは、データの更新処理については、予めデータベースバッファ上に入力したデータベースブロックに対して行い、その際の更新履歴情報をログ専用のバッファにログとして書き出した後、トランザクションの決着時にそのログを記憶装置に強制出力することによって整合性を保証している。その際、データベースブロックの記憶装置への反映（書き込み）では、当該ブロックに対して行った更新履歴ログを先行して記憶装置に出力する、所謂ＷＡＬ（Ｗｒｉｔｅ Ａｈｅａｄ Ｌｏｇ）を遵守する必要がある。
【０００４】
また、データベース管理システムでは、障害に備え、定期的にＤＢの整合性を保証する為、稼動中にチェックポイントを取得する。チェックポイントは、システム障害時の再開始処理を行う起点となるデータベースの整合性が保証されたポイントとなる。主にチェックポイントは稼動中に出力したログブロック数がある一定の回数に達した時点に取得する場合が多い。チェックポイント処理では、その時点のデータベースバッファ上の更新が行われたデータベースブロックを記憶装置上に全て書き出す処理が行われる（例えば非特許文献１参照）。
【０００５】
【非特許文献１】
ジム・グレイ(Jim Gray)、アンドレアス・ロイター(Andreas Reuter)著、「トランザクション・プロセッシング：コンセプト・アンド・テクニック(TRANSACTION PROCESSING:CONCEPTS AND TECHNIQUES)」（米国）、第1版、モーガン・カウフマン・パブリッシャー(MORGAN KAUFMAN PUBLISHERS)社発行、1993年、pp.556-557、pp.604-609
【０００６】
【発明が解決しようとする課題】
従来のデータベース管理システムにおけるデータベースブロックの記憶装置への書き込み方法では、前記の様にデータベースバッファ上の更新が行われたデータベースブロックを記憶装置上に全て書き出す処理が行われるが、更新が行われたデータベースブロック中には更新の行われていないレコードも含まれている為、必要の無い入出力も発生し、ホストコンピュータと記憶装置サブシステムとの間の入出力処理に大きな負荷がかかるという問題がある。
【０００７】
本発明の目的は上記問題を解決し、ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置サブシステム上のデータベース領域へ反映させる際に、ホストコンピュータと記憶装置サブシステムとの間の入出力処理負荷を低減させることが可能な技術を提供することにある。
【０００８】
本発明の他の目的は、ホストコンピュータの障害回復処理時に記憶装置サブシステムのキャッシュメモリ上に上記データベースの反映データが格納されているため、上記回復処理を高速に実行することができる技術を提供することにある。
【０００９】
本発明の他の目的はホストコンピュータのバッファ上で行われたデータベース処理の内容をログ情報によって記憶装置サブシステム上のデータベース領域へ反映させる際に、不要な入出力処理を省略することが可能な技術を提供することにある。
【００１０】
本発明の他の目的はホストコンピュータのバッファ上で行われたデータベース処理の内容をログ情報によって記憶装置サブシステム上のデータベース領域へ反映させる際に、その処理を効率的に行うことが可能な技術を提供することにある。
【００１１】
本発明の他の目的は複数台の記憶装置サブシステムにデータベース領域を配置している大規模なデータベース処理システムで、ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置サブシステム上のデータベース領域へ反映させる際にも、ホストコンピュータと記憶装置サブシステムとの間の入出力処理負荷を低減させることが可能な技術を提供することにある。
【００１２】
【課題を解決するための手段】
本発明は、ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置上のデータベースに反映させる処理を行うデータベース処理システムにおいて、ホストコンピュータで行われたデータベース処理の内容を示すログ情報に従って記憶装置サブシステム上のデータベース領域のデータへデータベース処理内容を反映するものである。
【００１３】
本発明のデータベース処理システムでは、記憶装置サブシステム内のデータベース領域の内容を一時的に保持するデータベースバッファと、データベースバッファに対する更新処理の内容を一時的に保持するログバッファとをホストコンピュータに備えており、ホストコンピュータでのデータベース処理の実行に伴ってデータベースバッファの内容が変更され、その変更内容を記憶装置サブシステム内のデータベース領域に反映させる必要が生じた場合には、データベースバッファ上で行われた更新処理の内容を示すログ情報の記憶装置サブシステムへの書き込みを要求するアクセス要求をホストコンピュータから記憶装置サブシステムへ送信する。
【００１４】
記憶装置サブシステムでは、前記アクセス要求をホストコンピュータから受信し、その受信したアクセス要求が書き込み要求または読み込み要求のいずれであるかを判定する。そして、その受信したアクセス要求が書き込み要求である場合には、その書き込み内容がホストコンピュータで行われたデータベース処理の内容を示すログ情報であるかどうかを判定する。
【００１５】
前記判定の結果、その書き込み内容が前記ログ情報である場合には、ホストコンピュータ側のデータベース処理で認識している論理的な位置情報と記憶装置サブシステム上の物理的な位置情報との対応関係を示す変換テーブルを参照し、前記ログ情報中に示された位置情報を記憶装置サブシステム上の物理的な位置情報に変換した後、その変換した物理的な位置情報で表される記憶装置サブシステム上のデータベース領域のデータを前記ログ情報の内容に従って更新する。
【００１６】
そのときに、記憶装置サブシステムのキャッシュメモリに当該反映対象データが格納されている場合には、キャッシュメモリに格納されている当該反映対象データを反映する。キャッシュメモリに格納されていない場合は、キャッシュメモリに反映対象データをアップロードし、その後、上記反映対象データをキャッシュメモリに格納する。
【００１７】
またホストコンピュータは、データベースバッファ中にデータベース処理でアクセス対象となっているデータが存在していない場合に、当該データの読み込み要求をホストコンピュータから記憶装置サブシステムへ送信し、記憶装置サブシステムは、ホストコンピュータから受信したアクセス要求が読み込み要求である場合には、それ以前の書き込み要求で受信したログ情報中に、読み込み対象のデータを更新するログ情報が含まれているかどうかを判定し、そのログ情報中に読み込み対象のデータを更新するログ情報が含まれている場合には、読み込み対象のデータを当該ログ情報の内容に従って更新してホストコンピュータ側へ送信する。
【００１８】
前記の様に本発明では、データベースバッファの内容を記憶装置サブシステム内のデータベース領域に反映させる必要が生じた場合に、更新処理の行われたレコードを１つでも含むデータベースブロック全てをホストコンピュータから記憶装置サブシステムへ送信するのではなく、データベースバッファに対する更新処理の内容を示すログ情報をホストコンピュータから記憶装置サブシステムへ送信するので、ホストコンピュータと記憶装置サブシステムとの間で送信されるデータ量を減少させることができる。
【００１９】
以上の様に本発明のデータベース処理システムによれば、ホストコンピュータのバッファ上で行われたデータベース処理の内容を示すログ情報に従って記憶装置サブシステム上のデータベース領域のデータを更新するので、ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置サブシステム上のデータベース領域へ反映させる際に、ホストコンピュータと記憶装置サブシステムとの間の入出力処理負荷を低減させることが可能である。
【００２０】
【発明の実施の形態】
（実施形態１）
以下にホストコンピュータのバッファ上で行われたデータベース処理の内容をディスクサブシステムの磁気ディスク装置上のデータベースに反映させる処理を行う実施形態１のデータベース処理システムについて説明する。
【００２１】
図１は本実施形態のデータベース処理システムのシステム構成を示す図である。図１に示す様に本実施形態のホストコンピュータ１はデータベース管理処理部１０を有している。データベース管理処理部１０は、ホストコンピュータ１のＤＢバッファ１２の内容をディスクサブシステム２内の磁気ディスク装置へ反映させる必要が生じた場合に、そのＤＢバッファ１２に対して行われたデータベース処理の内容を示すログ情報であるログブロック２６２ａの書き込み要求をホストコンピュータ１からディスクサブシステム２へ送信し、ＤＢバッファ１２中にデータベース処理でアクセス対象となっているデータが存在していない場合に当該データの読み込み要求をホストコンピュータ１からディスクサブシステム２へ送信する処理部である。
【００２２】
ホストコンピュータ１をデータベース管理処理部１０として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
またディスクサブシステム２は、ディスク制御処理部２１と、ディスクアクセス制御部２３と、更新処理部３０とを有している。
【００２３】
ディスク制御処理部２１は、ホストコンピュータ１から送信されたアクセス要求を受信し、その受信したアクセス要求が書き込み要求または読み込み要求のいずれであるかを判定する処理や、ディスクサブシステム装置全体の動作を制御する制御処理部である。
【００２４】
ディスクアクセス制御部２３は、ディスクサブシステム２配下の各磁気ディスク装置へのアクセスを制御する処理部である。更新処理部３０は、前記受信したアクセス要求が書き込み要求である場合に、その書き込み内容がホストコンピュータ１のＤＢバッファ１２上で行われたデータベース処理の内容を示すログ情報であるかどうかを判定し、前記書き込み内容が前記ログ情報である場合に、ホストコンピュータ１側のデータベース処理で認識している論理的な位置情報とディスクサブシステム２上の物理的な位置情報との対応関係を示すＤＢ−ディスクブロック変換テーブル２８によって、前記ログ情報中に示された位置情報をディスクサブシステム２上の物理的な位置情報に変換し、その変換した物理的な位置情報で表されるディスクサブシステム２上のデータベース領域２４のデータを前記ログ情報の内容に従って更新する処理部である。
【００２５】
ディスクサブシステム２を、ディスク制御処理部２１、ディスクアクセス制御部２３及び更新処理部３０として機能させる為のプログラムは、フロッピーディスク等の記録媒体に記録されて実行されるものとする。なお前記プログラムを記録する記録媒体はフロッピーディスク以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２６】
本実施形態のホストコンピュータ１とディスクサブシステム２は、ストレージエリアネットワーク１６で接続されている。
ホストコンピュータ１では、データベース管理処理部１０が稼動し、ホストコンピュータ１は、ディスクサブシステム２内のデータベース領域２４の内容を一時的に保持するＤＢバッファ１２と、ＤＢバッファ１２に対する更新処理の内容を一時的に保持するログバッファ１４とを備えている。
【００２７】
ディスクサブシステム２では、ホストコンピュータ１からの命令を受けて動作するディスク制御処理部２１と、キャッシュメモリ２２と、ディスクアクセス制御部２３とを通して磁気ディスク装置上のデータベース領域２４へのアクセスが行われており、ディスクアクセスは常にキャッシュメモリ２２を介して行われることになる。
【００２８】
本実施形態では、ホストコンピュータ１上のデータベース管理処理部１０で動作するトランザクションによって更新されたデータの更新履歴情報であるログ情報がログブロック２６２ａに書き込まれ、トランザクションの決着時等、ＤＢバッファ１２の内容をディスクサブシステム２へ反映させる必要が生じた場合に、ログブロック２６２ａがディスクサブシステム２に書き込まれる。
【００２９】
本実施形態の更新処理部３０は、データの書き込みが行われると、そのデータがログブロック２６２ａであるかどうかを判定し、ディスクサブシステム２上でデータベースブロック２４２ａの書き込みを制御する。
【００３０】
すなわち更新処理部３０は、ディスクサブシステム２が受け付けたコマンドを解析し、ログブロック２６２ａの書き込み要求であれば、キャッシュメモリ２２上に書き込んだログブロック２６２ａを解析し、ログブロック２６２ａ中のログレコードから該当するデータベース領域２４のデータベースブロック２４２ａをキャッシュメモリ２２上にアップロードし、ログの内容を反映する処理を行う。
【００３１】
このとき反映されるデータベースブロック２４２ａは、ログブロック２６２ａ中のログレコードではホストコンピュータ１上のデータベース管理処理部１０が認識できる論理的な位置情報で表されている為、この論理的な位置情報をディスクサブシステム２上の物理的な位置情報にマッピングする必要がある。そこで、この処理をＤＢ−ディスクブロック変換テーブル２８を用いて行う。ＤＢ−ディスクブロック変換テーブル２８は、一般的にはＤＢ構築時にホストコンピュータ１上のデータベース管理処理部１０から作成されることになる。
【００３２】
図２は本実施形態のＤＢ−ディスクブロック変換テーブル２８の構成情報を示す図である。図２に示す様にＤＢ−ディスクブロック変換テーブル２８は、データベース領域２４を識別する為の情報であるデータベース領域ＩＤと、そのデータベース領域ＩＤで識別されるデータベース領域が複数のファイルで構成される場合のファイルの順序番号を示すファイルＩＤと、前記データベース領域を構成するブロックの長さを示すブロック長と、前記データベース領域の構成ファイルが確保されている論理ボリュームを識別する為の情報である論理ボリュームＩＤと、その論理ボリュームＩＤで識別される論理ボリュームがマッピングされているディスクサブシステムを識別する為の番号であるディスク制御装置番号と、そのディスク制御装置番号で識別されるディスクサブシステムの磁気ディスク装置の内で、前記論理ボリュームがマッピングされている磁気ディスク装置のドライブ番号を識別する為の情報である物理デバイスＩＤと、その物理デバイスＩＤで識別される磁気ディスク装置上での当該ファイルの相対的な位置を示す相対位置とを格納している。
【００３３】
データベース領域２４を構成するファイルは、ホストコンピュータ１上のオペレーティングシステムが認識するファイルシステムとして論理ボリュームにマッピングされる。更に、論理ボリュームは、ディスクサブシステム２の物理デバイスである磁気ディスク装置に対応したデバイスファイルとしてマッピングされる。
【００３４】
ディスクサブシステム２内では、前記デバイスファイルは、ＬＵ（Ｌｏｇｉｃａｌ Ｕｎｉｔ）に対応している。従って、データベース領域２４を構成するファイルは、最終的に物理デバイスである磁気ディスク装置にマッピングされる。対応する物理情報は、ディスクサブシステム２上の物理デバイスを識別する為の物理デバイスＩＤと、物理デバイス内の相対位置であるＬＢＡ（ＬｏｇｉｃａｌＢｌｏｃｋ Ａｄｄｒｅｓｓ）である。
【００３５】
図３は本実施形態のホストコンピュータ上で認識されるデータベース領域と、オペレーティングシステムが認識する論理ボリュームと、デバイスファイル及びディスクサブシステム内のＬＵへのマッピング関連の例を示す図である。図３に示す様にデータベース管理処理部１０では、データを格納するデータベース領域は、複数のファイルから構成されるものとして認識されている。構成する各ファイルは、ホストコンピュータ１上のオペレーティングシステムのファイルに対応しており、図３ではオペレーティングシステムにおいてＲＡＷデバイスとして認識されるケースを想定している。更に、オペレーティングシステムのファイルは、物理的な磁気ディスク装置に対応するデバイスファイルとして管理されており、そのデバイスファイルは、前述した様にディスクサブシステム２内の各々の磁気ディスク装置に対応するＬＵにマッピングされている。
【００３６】
次に図４から図７に示す流れ図を用いてホストコンピュータ１上のデータベース管理処理部１０からログバッファ１４中のログブロック２６２ａのディスクサブシステム２への書き込みを要求するアクセス要求の処理について説明する。始めに、図４を用いて処理の概要を示す。
【００３７】
図４は本実施形態の受信コマンド解析処理の処理手順を示すフローチャートである。図４に示した処理は、ディスクサブシステム２内のプロセッサによって実行されるディスク制御処理部２１の処理として実現されるものであり、ホストコンピュータ１からのアクセス要求を受領したディスクサブシステム２は、始めに受領コマンドの解析処理を行う（ステップ３００）。接続チャネルのプロトコルに従ってコマンドを解析することで、アクセス要求がＲＥＡＤコマンドであるかＷＲＩＴＥコマンドであるかを識別できるものとする。
【００３８】
ステップ３２０でディスク制御処理部２１は、受領コマンドがＷＲＩＴＥコマンドであるかを判定し、ＷＲＩＴＥコマンドである場合にはＷＲＩＴＥコマンド処理を行う（ステップ３４０）。また、ＲＥＡＤコマンドである場合にはＲＥＡＤコマンド処理（ステップ３６０）を行う。
【００３９】
図５は本実施形態のＷＲＩＴＥコマンド受領時の処理手順を示すフローチャートである。図５の様に更新処理部３０は、ディスク制御処理部２１からコマンドを受領すると、受信コマンドからコマンド種類とアクセス先アドレスを解析し、ＷＲＩＴＥコマンドであることを認識する（ステップ３４１）。ここで、アクセス先アドレスからは、複数のディスクサブシステムやその各磁気ディスク装置に割り当てられているアドレスを示す装置構成管理テーブルの情報との比較を行うことにより、アクセス要求先のディスク制御装置番号とドライブ番号を識別することができるものとする。
【００４０】
次に、ステップ３４１で解析したアクセス先アドレスのデータが、ディスクサブシステム２のキャッシュメモリ２２に保持されているかどうかを調べ、キャッシュヒットミス判定を行う（ステップ３４２）。
【００４１】
アクセス先データがキャッシュメモリ２２に保持されていないキャッシュミスの場合には、前記の様にアクセス要求先のドライブ番号を識別し、ディスクサブシステム２のディスクアクセス制御部２３に対してそのドライブ番号に対応する磁気ディスク装置からキャッシュメモリ２２ヘの転送依頼を行う（ステップ３４３）。この場合、転送終了までＷＲＩＴＥ処理を中断し（ステップ３４４）、転送処理終了後、再度ＷＲＩＴＥ処理を継続する。また、転送先のキャッシュアドレスはキャッシュの空きリスト等、一般的な方法で管理、取得すれば良いが、転送先アドレスについては、キャッシュ管理テーブルを更新することで登録する必要がある。
【００４２】
ステップ３４２でキャッシュヒットの判定の場合、またはステップ３４４で転送処理が終了した場合には、ディスクサブシステム２内のキャッシュメモリ２２に対して当該データの更新を行う（ステップ３４５）。すなわち、ホストコンピュータ１から受領したデータの内容を書き込む。
【００４３】
データの更新が終了した後、前記アクセス先アドレスがログ用ディスク２６内のアドレスであるかどうかを調べて当該データがデータベース処理のログ用ディスク２６のデータであるかを判定し（ステップ３４６）、書き込み内容がログ用ディスク２６へのデータ、すなわちログブロックである場合には、そのログブロックの内容に従って該当するデータベース領域２４のデータベースブロックヘのログ追跡処理を行う（ステップ３４７）。
【００４４】
ログ追跡処理が完了するか、ステップ３４６の判定でログブロックではないと判定された場合、ホストコンピュータ１に対してＷＲＩＴＥコマンド処理の完了報告を行う（ステップ３４８）。
【００４５】
図６は本実施形態のログ追跡処理の処理手順を示すフローチャートである。ログブロックは複数のログレコードの集まりである。従って、図６に示す様にログブロックに含まれるログレコードについて順次、処理を行っていく。
【００４６】
まず更新処理部３０は、ログレコードのログ情報がトランザクションの開始処理、ＣＯＭＭＩＴまたはＲＯＬＬＢＡＣＫといった決着処理を示す情報であるかを判定する（ステップ４０１）。
【００４７】
当該ログレコードがトランザクションの状態変更ログではない場合には、更にデータベースの更新履歴を示すトランザクション更新ログであるかを判定する（ステップ４０２）。
【００４８】
当該ログレコードがトランザクション更新ログである場合には、図２に示したＤＢ−ディスクブロック変換テーブル２８を参照し、ログレコード中に記録されたログ情報に含まれているデータベース領域ＩＤ、ファイルＩＤ、ページ番号から、対応する物理ディスクのディスク制御装置番号とドライブ番号とページ番号を識別する（ステップ４０３）。すなわち、当該ログ情報に含まれているデータベース領域ＩＤ及びファイルＩＤに一致するレコードを、ＤＢ−ディスクブロック変換テーブル２８から検索して該当するディスク制御装置番号、ドライブ番号及び相対位置を求めた後、その相対位置がファイルの先頭であるものとして、当該ログ情報のページ番号を物理ディスク上のページ番号に変換する。
【００４９】
次にステップ４０３で前記の様に識別したデータがキャッシュメモリ２２に保持されているかどうかを調べてキャッシュヒットミス判定を行う（ステップ４０４）。当該データがキャッシュメモリ２２に保持されていないキャッシュミスの場合には、ディスクアクセス制御部２３に対して当該データベースブロックのドライブからキャッシュメモリ２２ヘの転送依頼を行う（ステップ４０５）。
【００５０】
ステップ４０４で当該データベースブロックがキャッシュヒットするか、ステップ４０５で転送処理が終了するとキャッシュメモリ２２中の当該データベースブロックに対してログレコードに含まれているデータベース更新履歴情報を反映する（ステップ４０６）。
【００５１】
一方、ステップ４０１で判定した結果、当該ログレコードがトランザクションの状態変更ログであり、ＲＯＬＬＢＡＣＫログである場合には、ステップ４０８で当該トランザクションによる更新履歴情報の反映を取り消す処理を行う。
【００５２】
ステップ４０７では、当該ログブロックの全ログレコードの処理を完了したかどうかを調べ、まだ全ログレコードの処理を完了していない場合にはステップ４０１へ戻り、完了した場合には処理を終了する。
【００５３】
図７は本実施形態のＲＥＡＤコマンド受領時の処理手順を示すフローチャートである。図７の様に更新処理部３０は、ディスク制御処理部２１からコマンドを受領すると、受信コマンドからコマンドの種類とアクセス先アドレスを解析し、ＲＥＡＤアクセス要求であることを認識する（ステップ３６１）。ここで、アクセス先アドレスからは、前記と同様にして装置構成管理テーブルを参照することで、アクセス要求先のディスク制御装置番号とドライブ番号を識別できるものとする。
【００５４】
次に、ステップ３６１で解析したアクセス先アドレスのデータが、ディスクサブシステム２のキャッシュメモリ２２に保持されているかどうかを調べ、キャッシュヒットミス判定を行う（ステップ３６２）。
【００５５】
アクセス先データがキャッシュメモリ２２に保持されていないキャッシュミスの場合には、前記の様にアクセス要求先のドライブ番号を識別し、ディスクサブシステム２のディスクアクセス制御部２３に対してそのドライブ番号に対応する磁気ディスク装置からキャッシュメモリ２２ヘの転送依頼を行う（ステップ３６３）。この場合、転送終了までＲＥＡＤ処理を中断し（ステップ３６４）、転送処理終了後、再度ＲＥＡＤ処理を継続する。また、転送先のキャッシュアドレスはキャッシュの空きリスト等、一般的な方法で管理、取得すれば良いが、転送先アドレスについては、キャッシュ管理テーブルを更新することで登録する必要がある。
【００５６】
ステップ３６２でキャッシュヒットの判定の場合、またはステップ３６４で転送処理が終了した場合、従来の単純なデータの読み出しの場合では当該ディスクサブシステム内のキャッシュメモリのデータをチャネルに転送するが、本実施形態では、更に当該データがデータベース管理処理部１０からのデータベースブロックのＲＥＡＤ要求であるかを判定する（ステップ３６５）。当該データがデータベースブロックであるかは、ＤＢ−ディスクブロック変換テーブル２８を参照し、該当ドライブ番号の存在を判定することによって識別できる。
【００５７】
当該データがデータベースブロックである場合には、それ以前のＷＲＩＴＥ要求で受信し、ログ追跡処理の終了していないログ情報中にそのデータベースブロックを更新するログレコードが含まれているかどうかを判定し、含まれている場合にはその更新を行う。
【００５８】
すなわち、そのＲＥＡＤアクセス要求先の物理ドライブのドライブ番号とページ番号をアクセス先アドレスから求め、ログ追跡処理の終了していないログレコードの物理ドライブのドライブ番号及びページ番号と比較して、キャッシュメモリ２２中のログブロック２６２ａ内のログレコード中に反映する必要のあるログレコードがあるかを判定し（ステップ３６６）、該当ログレコードが存在した場合にはログ追跡処理を行う（ステップ３６７）。
そして、ステップ３６５の処理によって該当データがデータベースブロックでないと判定された時点か、若しくはステップ３６７のログ追跡処理が完了した時点で該当データをチャネルに転送する。
【００５９】
前記の様に本実施形態では、ＤＢバッファ１２に対する更新処理の内容を示すログ情報によりディスクサブシステム２上のデータベース領域２４のデータを更新するので、従来のデータベース管理システムで行っていたデータベースブロックの記憶装置サブシステムへの書き込みについては本実施形態では必要無くなる。また、チェックポイント取得時にも同様にログ情報によりデータベース領域２４への書き込みをディスクサブシステム２側で行う。この為、本実施形態においてホストコンピュータ１は、チェックポイント取得処理等のＤＢバッファ１２の内容をディスクサブシステム２へ反映させる処理を瞬時に終了させることが可能であり、ログ情報によりディスクサブシステム２上でデータベース領域２４のデータを更新している間も、ホストコンピュータ１側ではデータベース処理を続行することができる。
【００６０】
この際、ホストコンピュータ１でデータベース処理を続行中にアクセス対象のデータがＤＢバッファ１２中に存在していないことが検出され、ディスクサブシステム２に対してデータベースブロックの読み込み要求が行われた場合には、その読み込み対象のデータベースブロックをログ情報の内容に従って更新した後にホストコンピュータ１へ送信するので、ホストコンピュータ１は、ディスクサブシステム２でのログ追跡処理を何ら意識すること無くデータベース処理を続行することが可能である。
【００６１】
更に本実施形態では、ホストコンピュータ１からディスクサブシステム２へのデータベースブロックの書き込みが不要になることによって、ディスクサブシステム２に対する帯域幅を大幅に増加させたのと同様の効果を得ることが可能になる。すなわち本実施形態では、ＤＢバッファ１２の内容をディスクサブシステム２内のデータベース領域２４に反映させる必要が生じた場合に、更新処理の行われたレコードを１つでも含むデータベースブロック２４２ａ全てをディスクサブシステム２へ送信するのではなく、ＤＢバッファ１２に対する更新処理の内容を示すログブロック２６２ａをディスクサブシステム２へ送信するので、ディスクサブシステム２へ送信されるデータ量を減少させることが可能であり、この為、ディスクサブシステム２に対する帯域幅を相対的に増加させることができる。
【００６２】
一方、ホストコンピュータ１側のデータベース管理処理が障害によってダウンした場合であっても、ディスクサブシステム２上のキャッシュメモリ２２は、最新のデータベースブロック２４２の状態が保持されたウォームキャッシュ状態となっているので、再開始処理時にホストコンピュータ１からディスクサブシステム２に対する入出力要求があった場合にキャッシュヒットとなり、実際に磁気ディスク装置上のデータベース領域２４までアクセスする頻度を極端に軽減することができる。
【００６３】
以上説明した様に本実施形態のデータベース処理システムによれば、ホストコンピュータのバッファ上で行われたデータベース処理の内容を示すログ情報に従って記憶装置サブシステム上のデータベース領域のデータを更新するので、ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置サブシステム上のデータベース領域へ反映させる際に、ホストコンピュータと記憶装置サブシステムとの間の入出力処理負荷を低減させることが可能である。
【００６４】
データベース領域へ反映したデータは、記憶装置サブシステム内のキャッシュに格納されているため、反映データを利用する場合や、特にデータを大量に参照するホストコンピュータの障害回復処理の高速化を図ることが可能である。
【００６５】
（実施形態２）
以下にログ情報の内、ＣＯＭＭＩＴされたトランザクションのログ情報を用いて更新を行う実施形態２のデータベース処理システムについて説明する。
実施形態１のログ追跡処理では、全てのログレコードを対象に該当するデータベースブロックヘの反映処理を行ったが、本実施形態ではログ追跡処理の別の実施方法について図８から図１０を用いて説明する。
【００６６】
図８は本実施形態のログ追跡処理においてログブロック中に含まれる全てのログレコードについてトランザクション毎にログを解析した結果の例を示す図である。図８に示す様に本実施形態では、ログブロック２６２ａを解析し、まず当該ディスクサブシステム内のキャッシュメモリ２２とは異なる共用メモリ上に抽出ログバッファ２６４を確保して、抽出ログバッファ２６４に全てのログレコード２６６ａ〜２６６ｌを格納する。
【００６７】
このとき、各ログレコードをトランザクション別に管理する為、トランザクションログ管理テーブル２６８によって各々のログレコードをトランザクション別に管理し、トランザクションＴＲ１からトランザクションＴＲ４までのログレコードのチェインをそれぞれ生成する。
【００６８】
すなわち、トランザクションＴＲ１には、トランザクションログ管理テーブル２６８ａ、２６８ｂ、２６８ｃ、乃至２６８ｆがチェインされ、トランザクションＴＲ２には、トランザクションログ管理テーブル２６８ｅ、２６８ｇがチェインされる。またトランザクションＴＲ３には、トランザクションログ管理テーブル２６８ｈ、２６８ｊ、２６８ｌがチェインされ、トランザクションＴＲ４には、トランザクションログ管理テーブル２６８ｉ、２６８ｋがチェインされる。
【００６９】
この様に、トランザクションログ管理テーブル２６８を各々のトランザクション毎にチェインさせることにより、ログレコード情報にトランザクションの正常決着処理を示すＣＯＭＭＩＴが識別されたトランザクションのログレコードだけを対象にすることができる。
【００７０】
図９は本実施形態の図８のトランザクションログ管理テーブル２６８を用いる際のログレコード分別処理の処理手順を示すフローチャートである。本処理は、図５のステップ３４７で示したＷＲＩＴＥコマンド処理に代わる処理である。
【００７１】
ログブロック中の各ログレコードについて、トランザクション開始を示すトランザクションＢＥＧＩＮログであるかを判定し（ステップ４４１）、トランザクションＢＥＧＩＮログである場合、そのログを抽出ログバッファ２６４へ追加し、トランザクションログ管理テーブル２６８ヘの登録を行う。
【００７２】
ステップ４４１の判定でトランザクションＢＥＧＩＮログではないと判定された場合にはデータベース更新ログであるかを判定し（ステップ４４３）、データベース更新ログである場合には、該当するトランザクション識別子と同じトランザクションログ管理テーブル２６８の最後尾にチェインする。
【００７３】
ステップ４４３の判定でトランザクション更新ログではないと判定された場合には、トランザクションの無効化を示すトランザクションＲＯＬＬＢＡＣＫログかであるかを判定し（ステップ４４５）、トランザクションＲＯＬＬＢＡＣＫ処理である場合には、該当するトランザクション識別子と同じ識別子のトランザクションログ管理テーブル２６８を削除すると同時に抽出ログバッファ２６４の該当するログレコードも削除する。すなわち、ＲＯＬＬＢＡＣＫしたトランザクションのログは、データベースブロックヘ反映されない様にする。
【００７４】
ステップ４４５の判定でトランザクションＲＯＬＬＢＡＣＫログではないと判定された場合には、トランザクションの有効化を示すトランザクションＣＯＭＭＩＴログであるかを判定し（ステップ４４７）、トランザクションＣＯＭＭＩＴログである場合にはログ追跡処理を行う（ステップ４４８）。
【００７５】
ステップ４４７の判定でトランザクションＣＯＭＭＩＴログではないと判定された後、ステップ４４９でログブロックの終了を検出するまでステップ４４１からステップ４４９までを繰り返す。
【００７６】
図１０は本実施形態の図９のステップ４４８におけるログ追跡処理の処理手順を示すフローチャートである。図１０のログ追跡処理では、ＣＯＭＭＩＴしたトランザクションのトランザクションログ管理テーブル２６８の先頭アドレスの次のアドレスが引き渡される。つまり、トランザクションＢＥＧＩＮログを処理の対象から外すことができる。
【００７７】
この処理では、１つのトランザクションの複数のログレコードの集まりについて順次、処理を行っていく。まずステップ４４８１では、ログレコードのログ情報がトランザクションのＣＯＭＭＩＴログであるかどうかを判定し、当該ログレコードが、ＣＯＭＭＩＴログではなく、トランザクション更新ログである場合には、ログレコード中に記録された当該ログ情報に含まれているデータベース領域ＩＤ、ファイルＩＤ及びページ番号と、図２に示したＤＢ−ディスクブロック変換テーブル２８の情報とを比較し、対応する物理ディスクのディスク制御装置番号とドライブ番号とページ番号を識別する（ステップ４４８２）。
【００７８】
次にステップ４４８１で識別した当該データについてキャッシュメモリ２２に対してキャッシュヒットミス判定を行う（ステップ４４８３）。当該データがキャッシュメモリに保持されていないキャッシュミスの場合には、ディスクアクセス制御部２３に対して当該データベースブロックのドライブからキャッシュメモリ２２ヘの転送依頼を行う（ステップ４４８４）。
【００７９】
ステップ４４８３で当該データベースブロックがキャッシュヒットするか、ステップ４４８４で転送処理が終了すると、キャッシュメモリ２２中の当該データベースブロックに、ログレコードに含まれるデータベース更新履歴情報を反映する（ステップ４４８５）。
ステップ４４８１からステップ４４８５までの処理を、当該トランザクションの全ログレコードの処理が完了するまで行う（ステップ４４８６）。
【００８０】
一方、ステップ４４８１の判定でトランザクションＣＯＭＭＩＴログが出現した場合には、当該トランザクションのログについて全て処理を反映し終わっているのでステップ４４８７へ進み、トランザクションログ管理テーブル２６８及びトランザクション抽出ログバッファ２６４から当該トランザクションに関する全ての情報を削除する。
【００８１】
以上説明した様に本実施形態のデータベース処理システムによれば、ログ情報の内、ＣＯＭＭＩＴされたトランザクションのログ情報を用いて更新を行うので、ホストコンピュータのバッファ上で行われたデータベース処理の内容をログ情報によって記憶装置サブシステム上のデータベース領域へ反映させる際の入出力処理を省略することが可能である。
【００８２】
（実施形態３）
以下にデータベース領域のデータの更新を、そのデータベース領域のデータに対応する物理デバイス毎に並列に行う実施形態３のデータベース処理システムについて説明する。
【００８３】
図１１は本実施形態のデータベース処理システムの概略構成を示す図である。本実施形態の処理は、実施形態１及び実施形態２に共通して実施することができる。すなわち、実施形態１の図６におけるログ追跡処理及び実施形態２の図１０におけるログ追跡処理において、データベースブロックのデータベース領域ＩＤ、ファイルＩＤ及びページ番号から、ＤＢ−ディスクブロック変換テーブル２８を使用して物理ドライブのドライブ番号を取得した後、ドライブ毎に異なるプロセッサに処理を分割して実行することで、キャッシュメモリ２２ヘの書き込み処理を並列化する。つまり、キャッシュメモリに書き込むことで、各ドライブへの反映処理を並列処理させることができ、高速なデータ反映が可能となる。ここで本実施形態のディスクサブシステムは、ドライブ毎の処理を実行する複数のプロセッサを備えているものとする。
【００８４】
以上説明した様に本実施形態のデータベース処理システムによれば、ログ情報によるデータベース領域のデータの更新を、そのデータベース領域のデータに対応する物理デバイス毎に並列に行うので、ホストコンピュータのバッファ上で行われたデータベース処理の内容をログ情報によって記憶装置サブシステム上のデータベース領域へ反映させる際に、その処理を効率的に行うことが可能である。
【００８５】
（実施形態４）
以下にディスクサブシステムを追加した場合の実施形態４のデータベース処理システムについて説明する。
図１２は本実施形態のデータベース処理システムの概略構成を示す図である。図１２に示す様に本実施形態のディスクサブシステム１２００はデータ送信処理部３１を有している。データ送信処理部３１は、ログ情報の内容に従って更新されるデータベース領域のデータがディスクサブシステム１２００とは異なるディスクサブシステム１２０１中に存在している場合に、そのログ情報の内容をディスクサブシステム１２０１へ送信する処理部である。
【００８６】
ディスクサブシステム１２００をデータ送信処理部３１として機能させる為のプログラムは、フロッピーディスク等の記録媒体に記録されて実行されるものとする。なお前記プログラムを記録する記録媒体はフロッピーディスク以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００８７】
またディスクサブシステム１２０１はデータ受信処理部３２を有している。データ受信処理部３２は、前記送信されたログ情報を受信して、ディスクサブシステム１２０１の更新処理部３０へ、ディスクサブシステム１２０１内のデータベース領域２４のデータの更新を指示する処理部である。
【００８８】
ディスクサブシステム１２０１をデータ受信処理部３２として機能させる為のプログラムは、フロッピーディスク等の記録媒体に記録されて実行されるものとする。なお前記プログラムを記録する記録媒体はフロッピーディスク以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００８９】
次に本実施形態について図１２を用いて説明する。本実施形態では、実施形態１で示した構成にもう１つのディスクサブシステムを追加した場合の例を表している。つまり、追加したディスクサブシステム１２０１にはデータベース領域だけが存在する例を示している。
【００９０】
本実施形態では、データベース管理処理部１０が管理するデータベース領域２４がディスクサブシステム１２００及び１２０１に存在している。但し、ログ領域はディスクサブシステム１２００にしか存在していない。この様な場合、ディスクサブシステム１２００のディスク制御処理部２１には、ホストコンピュータ１からＷＲＩＴＥ要求のあったログブロックを判定し、ディスクサブシステム１２０１にログブロックを送信するデータ送信処理部３１が必要になる。また、ディスクサブシステム１２０１にはデータ送信処理部３１から送信されたデータを受信するデータ受信処理部３２が必要となる。
【００９１】
複数台のディスクサブシステムを用いて大規模なデータベースシステムを構築した場合、この様なデータベース領域が配置される場合があるが、本実施形態では、以下の様に処理を行う。
すなわち、ディスクサブシステム１２００のデータ送信処理部３１は、 ログ情報の内容に従って更新されるデータベース領域のデータについて、そのディスク制御装置番号を図２のＤＢ−ディスクブロック変換テーブル２８から求め、その求めたディスク制御装置番号がディスクサブシステム１２００の番号と異なっている場合には、そのディスク制御装置番号のディスクサブシステム、例えばディスクサブシステム１２０１のデータ受信処理部３２へ送信し、データ受信処理部３２により、そのログ情報を受信して、ディスクサブシステム１２０１の更新処理部３０へ、ディスクサブシステム１２０１内のデータベース領域２４のデータの更新を指示する。
【００９２】
以上説明した様に本実施形態のデータベース処理システムによれば、ログ情報の内容に従って更新されるデータベース領域のデータが他の記憶装置サブシステム中に存在している場合に、そのログ情報の内容を当該記憶装置サブシステムへ送信し、その記憶装置サブシステム内でデータベース領域のデータの更新を行うので、複数台の記憶装置サブシステムにデータベース領域を配置している大規模なデータベース処理システムで、ホストコンピュータのバッファ上で行われたデータベース処理の内容を記憶装置サブシステム上のデータベース領域へ反映させる際にも、ホストコンピュータと記憶装置サブシステムとの間の入出力処理負荷を低減させることが可能である。また、反映したデータを利用する場合も複数の記憶装置サブシステム内のキャッシュメモリに格納されているため、並列に参照することができ、高速にアクセスすることが可能である。
【００９３】
【発明の効果】
本発明によればホストコンピュータで行われたデータベース処理の内容を示すログ情報に従って記憶装置サブシステム上のデータベース領域のデータを更新するので、ホストコンピュータで行われたデータベース処理の内容を記憶装置サブシステム上のデータベース領域へ反映させる際に、ホストコンピュータと記憶装置サブシステムとの間の入出力処理負荷を低減させることが可能である。
【図面の簡単な説明】
【図１】実施形態１のデータベース処理システムのシステム構成を示す図である。
【図２】実施形態１のＤＢ−ディスクブロック変換テーブル２８の構成情報を示す図である。
【図３】実施形態１のホストコンピュータ上で認識されるデータベース領域と、オペレーティングシステムが認識する論理ボリュームと、デバイスファイル及びディスクサブシステム内のＬＵへのマッピング関連の例を示す図である。
【図４】実施形態１の受信コマンド解析処理の処理手順を示すフローチャートである。
【図５】実施形態１のＷＲＩＴＥコマンド受領時の処理手順を示すフローチャートである。
【図６】実施形態１のログ追跡処理の処理手順を示すフローチャートである。
【図７】実施形態１のＲＥＡＤコマンド受領時の処理手順を示すフローチャートである。
【図８】実施形態２のログ追跡処理においてログブロック中に含まれる全てのログレコードについてトランザクション毎にログを解析した結果の例を示す図である。
【図９】実施形態２の図８のトランザクションログ管理テーブル２６８を用いる際のログレコード分別処理の処理手順を示すフローチャートである。
【図１０】実施形態２の図９のステップ４４８におけるログ追跡処理の処理手順を示すフローチャートである。
【図１１】実施形態３のデータベース処理システムの概略構成を示す図である。
【図１２】実施形態４のデータベース処理システムの概略構成を示す図である。
【符号の説明】
１…ホストコンピュータ、２…ディスクサブシステム、１２…ＤＢバッファ、１４…ログバッファ、１６…ストレージエリアネットワーク、２２…キャッシュメモリ、２４…データベース領域、２４２…データベースブロック、２６…ログ用ディスク、２６２…ログブロック、２８…ＤＢ−ディスクブロック変換テーブル、１０…データベース管理処理部、２１…ディスク制御処理部、２３…ディスクアクセス制御部、３０…更新処理部、２６４…抽出ログバッファ、２６６…ログレコード、２６８…トランザクションログ管理テーブル、１２００及び１２０１…ディスクサブシステム、３１…データ送信処理部、３２…データ受信処理部。
【図１】
2004199498.tif 000003
【図２】
2004199498.tif 000004
【図３】
2004199498.tif 000005
【図４】
2004199498.tif 000006
【図５】
2004199498.tif 000007
【図６】
2004199498.tif 000008
【図７】
2004199498.tif 000009
【図８】
2004199498.tif 000010
【図９】
2004199498.tif 000011
【図１０】
2004199498.tif 000012
【図１１】
2004199498.tif 000013
【図１２】
2004199498.tif 000014