JP2012014735A - Storage device system and data restoring method - Google Patents

Storage device system and data restoring method Download PDF

Info

Publication number
JP2012014735A
JP2012014735A JP2011220167A JP2011220167A JP2012014735A JP 2012014735 A JP2012014735 A JP 2012014735A JP 2011220167 A JP2011220167 A JP 2011220167A JP 2011220167 A JP2011220167 A JP 2011220167A JP 2012014735 A JP2012014735 A JP 2012014735A
Authority
JP
Japan
Prior art keywords
journal
storage device
checkpoint
cache memory
stored
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
JP2011220167A
Other languages
Japanese (ja)
Other versions
JP5291166B2 (en
Inventor
Seisuke Tokuda
晴介 徳田
Shinji Fujiwara
真二 藤原
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 JP2011220167A priority Critical patent/JP5291166B2/en
Publication of JP2012014735A publication Critical patent/JP2012014735A/en
Application granted granted Critical
Publication of JP5291166B2 publication Critical patent/JP5291166B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce a capacity required for storage of a journal while utilizing journaling technology.SOLUTION: A storage device system includes a control unit, a first storage device where data is stored, and a second storage device where journals are stored. The control unit includes a cache memory for temporary storage of data and the journals and a journal control unit which, on reception of an instruction to update data, makes a journal overwritable and generates a new journal. When an instruction to update data stored in the first storage device is received, the journal control unit overwrites a journal corresponding to an address of the data with a new generated journal if a journal corresponding to the address exists in the cache memory and is in an overwritable state, but stores the new generated journal into another area of the cache memory if the journal corresponding to the address does not exist in the cache memory or is not in the overwritable state.

Description

本発明は、データベース管理システム及び記憶装置システムに関し、特に、記憶装置システムのジャーナリング技術を用いてデータの回復を行うデータ回復技術に関する。   The present invention relates to a database management system and a storage device system, and more particularly to a data recovery technology for recovering data using a journaling technology of a storage device system.

企業活動におけるデータベースの利用の普及に伴い、データベースのデータ損失を防止するため、バックアップ及びリカバリによるデータ回復技術が広く用いられている。データベースのバックアップとは、データベースを定期的にテープなどの記憶装置に複製することである。データベースのリカバリとは、まず、テープなどに記録されたバックアップデータをデータベースを復元する(以下、リストア)。そして、復元したデータベースにバックアップされた時点から最新又は過去のある時点までのデータの変更記録(以下、ログ)を適用し、データベースをトランザクションの一貫性が確保された状態に回復させることである。ログは、データベース管理システムによって生成され、データベースに対する変更操作の履歴を表す。   With the widespread use of databases in corporate activities, data recovery techniques using backup and recovery are widely used to prevent database data loss. Database backup is to periodically copy the database to a storage device such as a tape. Database recovery involves first restoring the database from backup data recorded on a tape or the like (hereinafter referred to as restoration). Then, a data change record (hereinafter referred to as a log) from the time point of backup to the restored database to the latest or past time point is applied to restore the database to a state in which transaction consistency is ensured. The log is generated by the database management system and represents a history of change operations on the database.

近年、データベースのリストアに必要な時間を短縮するために、ジャーナリング技術を利用したデータベースの回復方法が注目を集めている。また、ジャーナリング技術は、CDP(Continuous Data Protection)技術とも呼ばれ、例えば、特許文献1に開示されている。特許文献1に開示されている技術では、記憶装置システムは、データベースとログを同じ記憶装置に格納し、データに更新指示を受け付けるごとに更新履歴(以下、ジャーナル)を別の記憶装置(以下、ジャーナル記憶装置)に記録する。   In recent years, in order to shorten the time required for database restoration, a database recovery method using journaling technology has attracted attention. The journaling technique is also called CDP (Continuous Data Protection) technique, and is disclosed in, for example, Patent Document 1. In the technique disclosed in Patent Document 1, the storage system stores a database and a log in the same storage device, and each time an update instruction is received for data, an update history (hereinafter referred to as a journal) is stored in another storage device (hereinafter referred to as a “storage”). Journal storage device).

また、データベース管理システムは、データベース管理システムのバッファに格納されたデータと記憶装置システムに格納されたデータを一致させるために、チェックポイント処理を実行する。記憶装置システムは、チェックポイント処理完了時にデータベース管理システムからチェックポイントコマンドを受信し、チェックポイントの識別情報と対応させたジャーナルを生成しジャーナル記憶装置に記録する。   Further, the database management system executes checkpoint processing in order to make the data stored in the buffer of the database management system coincide with the data stored in the storage device system. The storage device system receives a checkpoint command from the database management system when the checkpoint processing is completed, generates a journal corresponding to the checkpoint identification information, and records it in the journal storage device.

記憶装置システムは、データベース管理システムからチェックポイントの識別情報を含むリストア指示を受信すると、リストア指示に含まれるチェックポイントの識別情報と対応するジャーナルより前にジャーナル記憶装置に記録されたジャーナルを用いてデータベース及びログを高速にリストアする。そして、データベース管理システムは、データベース及びログのリストアが完了すると、データベースにログを適用し、トランザクションの一貫性を確保して、データベースのリカバリを完了する。   When the storage system receives a restore instruction including checkpoint identification information from the database management system, the storage system uses a journal recorded in the journal storage apparatus before the journal corresponding to the checkpoint identification information included in the restore instruction. Restore the database and log at high speed. When the restoration of the database and log is completed, the database management system applies the log to the database, ensures transaction consistency, and completes the database recovery.

特開2004−252686号公報JP 2004-252686 A

従来のデータベースのバックアップ及びリカバリ方法では、リストア時に、バックアップデータを取得した時点から更新されていない部分(バックアップデータとバックアップ元のデータが一致している部分)も読み出すため、データベースの規模に比例してリストアに要する時間が増大する。また、管理者によって、データベースを定期的にバックアップする必要があるなど、管理コストが大きくなってしまった。   In the conventional database backup and recovery method, the part that has not been updated since the backup data was acquired (the part in which the backup data and the backup source data match) is also read during restoration. This increases the time required for restoration. In addition, the management cost has become high, such as the necessity of regularly backing up the database by the administrator.

一方、特許文献1に開示されている技術では、記憶装置システムの内部で生成したジャーナルを利用して、ホスト計算機を介さず更新されたデータのみをリストアするため、高速なリストアが可能である。また、データベースに対する更新を常時ジャーナルとして記録するため、データベースを定期的にバックアップする必要もない。   On the other hand, in the technique disclosed in Patent Document 1, only updated data is restored without using a host computer using a journal generated inside the storage device system, so that high-speed restoration is possible. Further, since updates to the database are always recorded as a journal, it is not necessary to back up the database regularly.

しかし、データベース又はログが更新されるたびにジャーナルを記録しなければならないため、大量の記憶容量を必要とする。例えば、多数のユーザに対してOLTP業務を提供するデータベース管理システムでは、データの更新量が多くなり、またそれに付随して大量のログを出力するため、ジャーナルを記録するために必要な記憶容量が膨大となる。   However, since a journal must be recorded every time the database or log is updated, a large amount of storage capacity is required. For example, in a database management system that provides OLTP operations to a large number of users, the amount of data update increases, and a large amount of logs are output along with this, so that the storage capacity necessary for recording a journal is small. Become enormous.

本発明の目的は、高速なリストアと定期的なバックアップ不要な記憶装置システムのジャーナリング技術を利用しながら、ジャーナルを記録するための記憶容量を削減可能なデータベース管理システム及び記憶装置システムを提供することである。   An object of the present invention is to provide a database management system and a storage device system capable of reducing a storage capacity for recording a journal while using journaling technology of a storage device system that does not require high-speed restoration and regular backup. It is.

本発明の代表的な一形態では、計算機に接続される記憶装置システムであって、前記記憶装置システムは、前記計算機から送信されるアクセス要求を処理する制御部と、データを格納する第1の記憶装置と、前記第1の記憶装置に格納されるデータの更新履歴であるジャーナルを格納する第2の記憶装置と、を備え、前記制御部は、前記記憶装置システムと前記計算機との間で送受信されるデータ及び前記ジャーナルが、一時的に格納されるキャッシュメモリを備え、前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記ジャーナルを上書き可能状態として新たに生成するジャーナル制御部と、前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記更新対象のデータが格納されたアドレスと同じアドレスのデータが更新されることによって生成された同アドレスに対応するジャーナルが、前記キャッシュメモリに既に存在し、かつ、上書き可能状態であるか否かを判定するジャーナル上書き判定部と、前記計算機から、前記第1の記憶装置に格納されたデータの復元時点を特定する所定の識別情報を含む所定の指示を受信したとき、前記キャッシュメモリに格納された上書き可能状態のジャーナルを、上書き不可状態に変更するジャーナル永続化部と、を備え、所定のタイミングに前記キャッシュメモリに格納されているデータを前記第1の記憶装置又は前記第2の記憶装置に反映させるための書き込みを行い、前記ジャーナル制御部は、前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記同アドレスに対応するジャーナルが、前記キャッシュメモリに既に存在し、かつ、上書き可能状態である場合には、前記新たに生成されたジャーナルを前記同アドレスに対応するジャーナルに上書きし、前記同アドレスに対応するジャーナルが、前記キャッシュメモリに存在しない場合、又は、上書き不可状態である場合には、前記新たに生成されたジャーナルを前記キャッシュメモリの新たな領域に格納し、前記計算機から前記所定の指示を受信したとき、前記ジャーナル永続化部による処理の後、前記所定の指示に含まれる所定の識別情報と対応させた上書き不可状態のジャーナルを生成して前記キャッシュメモリに格納し、前記計算機から前記所定の識別情報を含むリストア指示を受信したとき、前記受信したリストア指示に含まれる所定の識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元する。   In a typical embodiment of the present invention, a storage device system connected to a computer, the storage device system includes a control unit that processes an access request transmitted from the computer, and a first that stores data. A storage device, and a second storage device that stores a journal that is an update history of data stored in the first storage device, wherein the control unit is provided between the storage device system and the computer. The data to be transmitted / received and the journal are provided with a cache memory that is temporarily stored, and when an update instruction for the data stored in the first storage device is received, the journal is newly generated in an overwritable state. The address at which the data to be updated is stored when receiving an update instruction for the data stored in the journal control unit and the first storage device A journal overwrite determination unit for determining whether or not a journal corresponding to the same address generated by updating data at the same address already exists in the cache memory and is overwritable; and the computer When a predetermined instruction including predetermined identification information for specifying a restoration time point of data stored in the first storage device is received from the overwritable state journal stored in the cache memory, A journal persistence unit that changes the data to the first storage device or the second storage device at a predetermined timing, and writes the data to the first storage device or the second storage device. When receiving an update instruction for the data stored in the first storage device, the control unit receives the same address. Is already present in the cache memory and is overwritable, the newly generated journal is overwritten on the journal corresponding to the same address and corresponds to the same address. If the journal does not exist in the cache memory or is in an overwritable state, the newly generated journal is stored in a new area of the cache memory, and the predetermined instruction is received from the computer. Then, after the processing by the journal persistence unit, a non-overwriteable journal corresponding to the predetermined identification information included in the predetermined instruction is generated and stored in the cache memory, and the predetermined memory is received from the computer. When a restore instruction including identification information is received, a predetermined identification included in the received restore instruction Data stored in the first storage device is restored using a journal recorded in the second storage device before the journal corresponding to the information.

本発明の一形態によれば、同アドレスを指定した書き込み処理が複数要求されるとき、キャッシュメモリ上に格納されジャーナルを上書きすることによって、ジャーナルを記録するために必要な記憶容量を削減することができる。   According to an aspect of the present invention, when a plurality of write processes specifying the same address are requested, the storage capacity required for recording the journal is reduced by overwriting the journal stored in the cache memory. Can do.

第1の実施の形態の情報処理システムのハードウェア構成図であるIt is a hardware block diagram of the information processing system of 1st Embodiment 第1の実施の形態の情報処理システムのソフトウェア構成図である。It is a software block diagram of the information processing system of 1st Embodiment. 第1の実施の形態のDBのリカバリ処理手順を示すフローチャートである。3 is a flowchart illustrating a DB recovery processing procedure according to the first embodiment; 第2の実施の形態の情報処理システムのソフトウェア構成図である。It is a software block diagram of the information processing system of 2nd Embodiment. 第2の実施の形態のDBMSからの書き込み処理要求を受信したときに、制御装置によって実行される処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process performed by the control apparatus, when the write-processing request from DBMS of 2nd Embodiment is received. 第2の実施の形態の記憶装置システムがホストからチェックポイントコマンドを受信したときに実行される処理の手順を示すフローチャートである。10 is a flowchart illustrating a procedure of processing executed when the storage device system according to the second embodiment receives a checkpoint command from a host. 第2の実施の形態のキャッシュメモリにのみ格納されたデータを物理記憶装置に書き込む手順を示すフローチャートである。It is a flowchart which shows the procedure which writes the data stored only in the cache memory of 2nd Embodiment to a physical storage device. 第2の実施の形態のジャーナル格納情報の一例を示す図である。It is a figure which shows an example of the journal storage information of 2nd Embodiment. 第2の実施の形態の機能設定画面の一例を示す図である。It is a figure which shows an example of the function setting screen of 2nd Embodiment. 第3の実施の形態の情報処理システムのソフトウェア構成図である。It is a software block diagram of the information processing system of 3rd Embodiment. 第3の実施の形態の記憶装置システムがホストからチェックポイントコマンドを受信したときに実行される処理の手順を示すフローチャートである。14 is a flowchart illustrating a procedure of processing executed when the storage system according to the third embodiment receives a checkpoint command from a host. 第3の実施の形態のDBのリカバリ処理手順を示すフローチャートである。15 is a flowchart illustrating a DB recovery processing procedure according to the third embodiment. 第3の実施の形態のチェックポイント管理情報の一例を示す図である。It is a figure which shows an example of the checkpoint management information of 3rd Embodiment. 第3の実施の形態のチェックポイント管理情報表示画面の一例を示す図である。It is a figure which shows an example of the checkpoint management information display screen of 3rd Embodiment. 第3の実施の形態の機能設定画面の一例を示す図である。It is a figure which shows an example of the function setting screen of 3rd Embodiment.

以下に図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明により本発明が限定されるものではない。   Embodiments of the present invention will be described below with reference to the drawings. The present invention is not limited to the following description.

(第1の実施の形態)
図1は、第1の実施の形態のデータベース管理システム(以下、DBMS)が動作する情報処理システムのハードウェア構成図である。図1の情報処理システムは、ホスト1、記憶装置システム2、管理端末3、ユーザ端末4、ネットワーク5、及びネットワーク6を備える。
(First embodiment)
FIG. 1 is a hardware configuration diagram of an information processing system in which a database management system (hereinafter referred to as DBMS) according to the first embodiment operates. The information processing system in FIG. 1 includes a host 1, a storage device system 2, a management terminal 3, a user terminal 4, a network 5, and a network 6.

ホスト1は、パーソナルコンピュータ、ワークステーション、メインフレームなどの計算機である。ホスト1は、計算機の種類に応じたオペレーティングシステム(以下、「OS」)と、ユーザ端末4に業務を提供するDBMS10が動作する。ホスト1は、プロセッサ40、メモリ41、ローカル記憶装置42、ホストバスアダプタ43、及びネットワークアダプタ44を備える。   The host 1 is a computer such as a personal computer, a workstation, or a main frame. In the host 1, an operating system (hereinafter referred to as “OS”) corresponding to the type of computer and a DBMS 10 that provides work to the user terminal 4 operate. The host 1 includes a processor 40, a memory 41, a local storage device 42, a host bus adapter 43, and a network adapter 44.

プロセッサ40は、所定のプログラムを実行する。メモリ41は、プロセッサ40によって実行されるOS、DBMS10、及びDBMS10が使用するデータを一時的に格納する。ローカル記憶装置42は、OS、DBMS10及びDBMS10が使用するデータを格納する。ホストバスアダプタ43は、ネットワーク5とホスト1とを接続する。ネットワークアダプタ44は、ネットワーク6とホスト1とを接続する。   The processor 40 executes a predetermined program. The memory 41 temporarily stores the OS executed by the processor 40, the DBMS 10, and data used by the DBMS 10. The local storage device 42 stores the OS, the DBMS 10 and data used by the DBMS 10. The host bus adapter 43 connects the network 5 and the host 1. The network adapter 44 connects the network 6 and the host 1.

記憶装置システム2は、ディスク装置などの記憶装置、又は、ディスクアレイなどの複数の記憶装置を有するシステムである。また、記憶装置システム2は、ホスト1が使用するデータ及びプログラムを格納する。そして、ホスト1からのI/O処理要求を受信し、I/O処理要求に対応した処理を実行し、処理結果をホスト1に送信する。   The storage device system 2 is a system having a storage device such as a disk device or a plurality of storage devices such as a disk array. The storage system 2 stores data and programs used by the host 1. Then, it receives an I / O processing request from the host 1, executes processing corresponding to the I / O processing request, and transmits the processing result to the host 1.

記憶装置システム2は、物理記憶装置56、制御装置20、及び接続インタフェース55を備える。接続インタフェース55は、物理記憶装置56と制御装置20を相互に接続する。   The storage device system 2 includes a physical storage device 56, a control device 20, and a connection interface 55. The connection interface 55 connects the physical storage device 56 and the control device 20 to each other.

制御装置20は、ホスト1からのI/O要求の処理、及び物理記憶装置56の制御を実行する。制御装置20は、物理記憶装置アダプタ54、プロセッサ50、不揮発性メモリ53、キャッシュメモリ21、ネットワークアダプタ51、及びネットワークアダプタ52を備える。   The control device 20 executes I / O request processing from the host 1 and controls the physical storage device 56. The control device 20 includes a physical storage device adapter 54, a processor 50, a nonvolatile memory 53, a cache memory 21, a network adapter 51, and a network adapter 52.

プロセッサ50は、所定のプログラムを実行する。不揮発性メモリ53は、プロセッサによって実行されるプログラム、プログラムの実行に必要な情報、記憶装置システム2の設定情報及び構成情報などを格納する。キャッシュメモリ21は、ホスト1から入力されるデータ、又は、記憶装置システム2からホスト1に転送されるデータを一時的に格納する。   The processor 50 executes a predetermined program. The nonvolatile memory 53 stores a program executed by the processor, information necessary for executing the program, setting information and configuration information of the storage device system 2, and the like. The cache memory 21 temporarily stores data input from the host 1 or data transferred from the storage device system 2 to the host 1.

物理記憶装置アダプタ54は、接続インタフェース55を介して物理記憶装置56と接続する。ネットワークアダプタ51は、記憶装置システム2とネットワーク5とを接続する。ネットワークアダプタ52は、記憶装置システム2とネットワーク6とを接続する。   The physical storage device adapter 54 is connected to the physical storage device 56 via the connection interface 55. The network adapter 51 connects the storage device system 2 and the network 5. The network adapter 52 connects the storage device system 2 and the network 6.

物理記憶装置56は、ホスト1によって使用されるデータを格納する。物理記憶装置56は、不揮発性の記憶媒体であって、例えば、磁気ディスクによって構成されるハードディスクなどである。   The physical storage device 56 stores data used by the host 1. The physical storage device 56 is a non-volatile storage medium, and is, for example, a hard disk constituted by a magnetic disk.

記憶装置システム2は、複数の物理記憶装置56によって冗長性を有するRAID構成となっている。記憶装置システム2は、複数の物理記憶装置56によって構成される記憶領域を、論理的な記憶領域に分割し論理記憶装置としてホスト1に提供する。   The storage device system 2 has a RAID configuration having redundancy by a plurality of physical storage devices 56. The storage device system 2 divides a storage area constituted by a plurality of physical storage devices 56 into logical storage areas and provides the logical storage device to the host 1.

管理端末3は、記憶装置システム2の保守管理、及びホスト1で動作するDBMS10を管理するために使用される。情報処理システムの管理者は、記憶装置システム2の保守管理、及びDBMS10を管理する場合に、管理端末3に設定内容を入力する。管理端末3は、ネットワーク6を介して記憶装置システム2、及び、ホスト1のDBMS10に管理者が入力した内容を送信する。   The management terminal 3 is used for maintenance management of the storage system 2 and management of the DBMS 10 operating on the host 1. An administrator of the information processing system inputs setting contents to the management terminal 3 when managing the maintenance of the storage system 2 and the DBMS 10. The management terminal 3 transmits the contents input by the administrator to the storage device system 2 and the DBMS 10 of the host 1 via the network 6.

ユーザ端末4は、ホスト1のDBMS10に対し、業務に応じたトランザクション処理を要求する。   The user terminal 4 requests the DBMS 10 of the host 1 to perform transaction processing according to business.

ネットワーク5は、ホスト1と記憶装置システム2とを接続し、ホスト1から記憶装置システム2にI/Oの処理要求などを伝送するために使用される。ネットワーク5には、光ファイバ及び銅線などが用いられる。また、ネットワーク5では、ファイバチャネル、SCSI、TCP/IPなどの通信プロトコルが使用される。   The network 5 is used to connect the host 1 and the storage device system 2 and transmit an I / O processing request or the like from the host 1 to the storage device system 2. For the network 5, an optical fiber, a copper wire, or the like is used. In the network 5, a communication protocol such as Fiber Channel, SCSI, TCP / IP, or the like is used.

ネットワーク6は、ホスト1、記憶装置システム2、管理端末3及びユーザ端末4を接続する。ネットワーク6は、記憶装置システム2と、管理端末3とホスト1との間で、記憶装置システム2の保守、構成、及び性能などの管理情報を通信する。また、ネットワーク6は、ユーザ端末4とホスト1との間で、I/O処理要求などを伝送するために使用される。ネットワーク6に使用されるケーブル及び通信プロトコルは、ネットワーク5と同一であっても異なっていてもよい。   The network 6 connects the host 1, the storage device system 2, the management terminal 3, and the user terminal 4. The network 6 communicates management information such as maintenance, configuration, and performance of the storage device system 2 between the storage device system 2, the management terminal 3, and the host 1. The network 6 is used for transmitting an I / O processing request or the like between the user terminal 4 and the host 1. The cable and communication protocol used for the network 6 may be the same as or different from the network 5.

図2は、第1の実施の形態の情報処理システムのソフトウェア構成図である。   FIG. 2 is a software configuration diagram of the information processing system according to the first embodiment.

ホスト1は、DBMS10を含む。DBMS10は、ユーザ端末4に要求され、業務に応じたトランザクション処理を実行する。また、DBMS10は、OSを介して記憶装置システム2に格納されたデータベース(以下、DB)にアクセスする。DBMS10は、ローカル記憶装置42又はメモリ41に格納され、プロセッサ40によって実行される。   The host 1 includes a DBMS 10. The DBMS 10 is requested by the user terminal 4 and executes transaction processing according to the business. Further, the DBMS 10 accesses a database (hereinafter referred to as DB) stored in the storage device system 2 via the OS. The DBMS 10 is stored in the local storage device 42 or the memory 41 and executed by the processor 40.

DBMS10は、DBファイル30、制御ファイル31、ログファイル32、及び一時ファイル33などを管理する。DBファイル30、制御ファイル31、ログファイル32、及び一時ファイル33は、記憶装置システム2に格納される。   The DBMS 10 manages a DB file 30, a control file 31, a log file 32, a temporary file 33, and the like. The DB file 30, the control file 31, the log file 32, and the temporary file 33 are stored in the storage device system 2.

DBファイル30は、DBのデータに該当する表及び索引を格納する。制御ファイル31は、データベースの現在の状態を記録するファイルであって、DBのリカバリに必要な情報を含む。ログファイル32は、DBファイル30の更新履歴であるログを格納する。一時ファイル33は、データをソートする場合などに一時的に使用される。   The DB file 30 stores tables and indexes corresponding to DB data. The control file 31 is a file for recording the current state of the database, and includes information necessary for DB recovery. The log file 32 stores a log that is an update history of the DB file 30. The temporary file 33 is temporarily used when sorting data.

DBMS10は、トランザクション管理部11、DBバッファ13、ログバッファ15、DB書き込み部12、及びログ書き込み部14を含む。   The DBMS 10 includes a transaction management unit 11, a DB buffer 13, a log buffer 15, a DB writing unit 12, and a log writing unit 14.

トランザクション管理部11は、ユーザ端末4から要求されたトランザクション処理に応じて記憶装置システム2のDBファイル30にアクセスする。   The transaction management unit 11 accesses the DB file 30 of the storage device system 2 in accordance with the transaction processing requested from the user terminal 4.

DBバッファ13は、ホスト1のメモリ41上に確保されるDBMS10専用の領域であって、記憶装置システム2のDBファイル30のデータを一時的に保持する。ログバッファ15は、同じくメモリ41上に確保される領域であって、生成したログを一時的に保持する。   The DB buffer 13 is an area dedicated to the DBMS 10 secured on the memory 41 of the host 1 and temporarily holds data of the DB file 30 of the storage device system 2. Similarly, the log buffer 15 is an area secured on the memory 41 and temporarily holds the generated log.

DB書き込み部12は、DBバッファに保持された変更データを記憶装置システム2のDBファイル30に書き込む。ログ書き込み部14は、ログバッファに保持されたログを記憶装置システム2のログファイル32に書き込む。   The DB writing unit 12 writes the change data held in the DB buffer to the DB file 30 of the storage device system 2. The log writing unit 14 writes the log held in the log buffer to the log file 32 of the storage device system 2.

さらに、DBMS10は、ログ解析部16及びログ適用部17を有する。ログ解析部16は、回復時点を含むDBのリカバリ指示を受信したとき、記憶装置システム2に指示する回復時点直前のリストア時点を、ログファイル32を解析し、取得する。ログ適用部17は、記憶装置システム2によってリストアされたDBファイル30に、ログファイル32に記録されたログを適用する。   Further, the DBMS 10 includes a log analysis unit 16 and a log application unit 17. When receiving the DB recovery instruction including the recovery time, the log analysis unit 16 analyzes the log file 32 and acquires the restore time immediately before the recovery time instructed to the storage device system 2. The log application unit 17 applies the log recorded in the log file 32 to the DB file 30 restored by the storage device system 2.

記憶装置システム2は、記憶装置24、ジャーナル取得記憶装置25、ジャーナル記憶装置26、及び制御装置20を含む。記憶装置24、ジャーナル取得記憶装置25、及びジャーナル記憶装置26は、物理記憶装置56で構成された論理記憶装置である。   The storage device system 2 includes a storage device 24, a journal acquisition storage device 25, a journal storage device 26, and a control device 20. The storage device 24, the journal acquisition storage device 25, and the journal storage device 26 are logical storage devices composed of physical storage devices 56.

ジャーナル取得記憶装置25は、DBファイル30及び制御ファイル31を格納する。ジャーナル取得記憶装置25に格納されたデータは、更新されると、ジャーナル記憶装置26に更新履歴であるジャーナルが記録される。   The journal acquisition storage device 25 stores a DB file 30 and a control file 31. When the data stored in the journal acquisition storage device 25 is updated, a journal as an update history is recorded in the journal storage device 26.

記憶装置24は、ログファイル32及び一時ファイル33を格納する。記憶装置24は、格納されたデータのジャーナルが取得されないため、データの損失を防ぐために記憶装置24に格納されたデータをリアルタイムに別の記憶装置に複製するミラーリングの設定を行ってもよい。また、ログファイル32及び一時ファイル33は、異なる論理記憶装置に格納されてもよい。   The storage device 24 stores a log file 32 and a temporary file 33. Since the journal of the stored data is not acquired, the storage device 24 may perform mirroring settings for replicating the data stored in the storage device 24 to another storage device in real time in order to prevent data loss. Further, the log file 32 and the temporary file 33 may be stored in different logical storage devices.

ジャーナル記憶装置26は、ジャーナルデータ35及びスナップショットデータ34を格納する。ジャーナルデータ35は、ジャーナル取得記憶装置25に格納されたデータの更新履歴を格納する。スナップショットデータ34とは、ジャーナル取得記憶装置25に格納されたデータの、ある時点の複製である。なお、スナップショットデータ34は、ジャーナル記憶装置26でなく、他の記憶装置に格納していてもよい。   The journal storage device 26 stores journal data 35 and snapshot data 34. The journal data 35 stores an update history of data stored in the journal acquisition storage device 25. The snapshot data 34 is a copy of the data stored in the journal acquisition storage device 25 at a certain point in time. The snapshot data 34 may be stored not in the journal storage device 26 but in another storage device.

このようにDBMS10で管理するファイルを配置することによって、DBファイル30及び制御ファイル31のジャーナルのみが取得され、ログファイル32及び一時ファイル33のジャーナルは取得されないため、ジャーナル記憶装置26に必要な容量を削減することができる。   By arranging the files managed by the DBMS 10 in this way, only the journals of the DB file 30 and the control file 31 are acquired, and the journals of the log file 32 and the temporary file 33 are not acquired. Therefore, the capacity required for the journal storage device 26 Can be reduced.

また、前述のDBMS10が管理するデータは、OSのファイルシステムを介して記憶装置システム2に格納してもよいし、ファイルシステムを介さずOSのrawデバイスを用いて記憶装置システム2に格納してもよい。   The data managed by the DBMS 10 may be stored in the storage device system 2 via the OS file system, or may be stored in the storage device system 2 using the OS raw device without going through the file system. Also good.

制御装置20は、コマンド処理部22及びジャーナル制御部23を構成するプログラムを不揮発性メモリ53に備える。   The control device 20 includes a program constituting the command processing unit 22 and the journal control unit 23 in the nonvolatile memory 53.

制御装置20は、ホスト1からのI/O処理要求をネットワークアダプタ51経由で受信すると、コマンド処理部22を構成するプログラムを実行する。   When the control device 20 receives an I / O processing request from the host 1 via the network adapter 51, the control device 20 executes a program constituting the command processing unit 22.

制御装置20は、受信したI/O処理要求がデータの書き込み要求の場合には、ホスト1から転送された書き込み用のデータ(以下、「書き込みデータ」)をキャッシュメモリ21又は物理記憶装置56に書き込む。また、制御装置20は、キャッシュメモリに格納された書き込みデータを物理記憶装置56に書き込む。   When the received I / O processing request is a data write request, the control device 20 stores the write data transferred from the host 1 (hereinafter “write data”) in the cache memory 21 or the physical storage device 56. Write. Further, the control device 20 writes the write data stored in the cache memory to the physical storage device 56.

制御装置20は、受信したI/O処理要求がデータの読み出し要求の場合には、読み出し要求に対応するデータ(以下、読み出しデータ)を、キャッシュメモリ21又は物理記憶装置56から読み出してホスト1に転送する。また、制御装置20は、読み出しデータをキャッシュメモリ21に格納する。   When the received I / O processing request is a data read request, the control device 20 reads data corresponding to the read request (hereinafter referred to as read data) from the cache memory 21 or the physical storage device 56 and sends it to the host 1. Forward. Further, the control device 20 stores the read data in the cache memory 21.

なお、制御装置20は、I/O処理を実行するとき、I/O処理要求によって指定されたデータが格納された論理記憶装置のアドレスと対応する物理記憶装置56のアドレスを特定し、特定された物理記憶装置56にアクセスする。   When executing the I / O processing, the control device 20 specifies the address of the physical storage device 56 corresponding to the address of the logical storage device in which the data designated by the I / O processing request is stored. The physical storage device 56 is accessed.

制御装置20は、ジャーナルを作成又は更新するとき、ジャーナル制御部23を実行する。ジャーナル制御部23は、処理を実行するプログラムによって構成される。また、ジャーナル制御部23は、ホスト1から送信されたチェックポイントコマンドを受信したとき、作成したジャーナルを用いてリストアするとき、及びジャーナル取得の対象となる論理記憶装置を設定するときなどにも実行される。   The control device 20 executes the journal control unit 23 when creating or updating a journal. The journal control unit 23 is configured by a program that executes processing. The journal control unit 23 is also executed when a checkpoint command transmitted from the host 1 is received, when restoring using the created journal, and when setting a logical storage device that is a journal acquisition target. Is done.

制御装置20は、ホスト1からジャーナル取得開始指示を受信すると、ジャーナル取得開始指示に従って、ジャーナル取得の対象となる論理記憶装置(ジャーナル取得記憶装置25)を設定する。続いて、制御装置20は、スナップショットデータ34及びジャーナルデータ35を格納するための論理記憶装置(ジャーナル記憶装置26)を設定する。そして、制御装置20は、ジャーナル取得記憶装置25のスナップショットデータ34をジャーナル記憶装置26に格納する。   When receiving the journal acquisition start instruction from the host 1, the control device 20 sets a logical storage device (journal acquisition storage device 25) as a journal acquisition target in accordance with the journal acquisition start instruction. Subsequently, the control device 20 sets a logical storage device (journal storage device 26) for storing the snapshot data 34 and the journal data 35. Then, the control device 20 stores the snapshot data 34 of the journal acquisition storage device 25 in the journal storage device 26.

制御装置20は、ホスト1からジャーナル取得記憶装置25に対する書き込み処理要求を受信すると、まず、書き込みデータをキャッシュメモリ21に格納する。そして、書き込みデータの更新履歴であるジャーナルを作成し、キャッシュメモリ21に確保されたジャーナル格納用の所定の領域に格納する。   When receiving a write processing request for the journal acquisition storage device 25 from the host 1, the control device 20 first stores the write data in the cache memory 21. Then, a journal that is an update history of the write data is created and stored in a predetermined area for storing the journal secured in the cache memory 21.

ジャーナルは、書き込みデータ、及びジャーナル取得記憶装置25における書き込みデータの格納位置を示すアドレスなどによって構成される。キャッシュメモリ21に格納されたジャーナルは、キャッシュメモリ21への格納と非同期にジャーナル記憶装置26に記録される。なお、制御装置20は、同じアドレスが指定される複数の書き込みデータのジャーナルをキャッシュメモリ21の異なる領域にそれぞれ格納する。   The journal is composed of write data, an address indicating the storage location of the write data in the journal acquisition storage device 25, and the like. The journal stored in the cache memory 21 is recorded in the journal storage device 26 asynchronously with the storage in the cache memory 21. The control device 20 stores a plurality of write data journals to which the same address is specified in different areas of the cache memory 21.

また、制御装置20は、ホスト1から、ホスト1によって管理される所定の識別情報を含むチェックポイントコマンドを受信すると、所定の識別情報に対応させたジャーナルを生成し、キャッシュメモリ21を介してジャーナル記憶装置26に格納する。チェックポイントコマンドとは、ホスト1により管理される所定の識別情報によってジャーナル取得記憶装置25の復元時点を特定するために、ホスト1が記憶装置システム2に送信するコマンドである。   When the control device 20 receives a checkpoint command including predetermined identification information managed by the host 1 from the host 1, the control device 20 generates a journal corresponding to the predetermined identification information, and receives the journal via the cache memory 21. It is stored in the storage device 26. The checkpoint command is a command that the host 1 transmits to the storage device system 2 in order to specify the restoration point of the journal acquisition storage device 25 based on predetermined identification information managed by the host 1.

さらに、制御装置20は、ホスト1から前述の所定の識別情報を含むリストア指示を受信すると、まず、ジャーナル記憶装置26に格納されたスナップショットデータ34をジャーナル取得記憶装置25にコピーする。続いて、制御装置20は、リストア指示に含まれる所定の識別情報に対応するジャーナルよりも前に記録されたジャーナルを順次読み出す。そして、制御装置20は、読み出したジャーナルをジャーナル取得記憶装置25の書き込み元のアドレスに書き込むことによって、所定の識別情報を記録した時点のジャーナル取得記憶装置25に格納されていたデータの状態をリストアする。   Further, when receiving a restore instruction including the above-described predetermined identification information from the host 1, the control device 20 first copies the snapshot data 34 stored in the journal storage device 26 to the journal acquisition storage device 25. Subsequently, the control device 20 sequentially reads journals recorded before the journal corresponding to the predetermined identification information included in the restore instruction. Then, the control device 20 restores the state of the data stored in the journal acquisition storage device 25 at the time when the predetermined identification information was recorded by writing the read journal to the write source address of the journal acquisition storage device 25. To do.

ここで、トランザクション処理要求を受信したDBMS10が、記憶装置システム2にデータを読み書きする手順を説明する。   Here, a procedure in which the DBMS 10 that has received the transaction processing request reads / writes data from / to the storage system 2 will be described.

DBMS10は、ユーザ端末4からトランザクション処理要求を受信すると、トランザクション管理部11を実行する。トランザクション管理部11は、トランザクション処理による参照又は更新の対象となるデータを、記憶装置システム2に格納されたDBファイル30からDBバッファ13に読み込む。   When the DBMS 10 receives a transaction processing request from the user terminal 4, the DBMS 10 executes the transaction management unit 11. The transaction management unit 11 reads data to be referenced or updated by transaction processing from the DB file 30 stored in the storage device system 2 into the DB buffer 13.

トランザクション管理部11は、トランザクション要求が更新であるとき、読み込んだDBバッファ13のデータを更新する。そして、更新履歴であるログを生成し、ログバッファ15に格納する。ログは、ログを生成したトランザクションを一意に識別する識別情報(以下、「トランザクション識別情報」)、当該ログを一意に識別するログ順次番号、更新するデータと更新されるデータなどによって構成される。   When the transaction request is an update, the transaction management unit 11 updates the read data in the DB buffer 13. Then, a log that is an update history is generated and stored in the log buffer 15. The log includes identification information that uniquely identifies the transaction that generated the log (hereinafter, “transaction identification information”), a log sequential number that uniquely identifies the log, data to be updated, data to be updated, and the like.

トランザクション管理部11は、トランザクション処理が完了(コミット)すると、コミットと同期してログ書き込み部14を実行する。そして、ログバッファ13に格納されたログをログファイル32に追記する。   When the transaction processing is completed (committed), the transaction management unit 11 executes the log writing unit 14 in synchronization with the commit. Then, the log stored in the log buffer 13 is added to the log file 32.

なお、DBMS10は、処理性能を向上させるため、DBバッファ13に格納されたデータの更新及びトランザクションのコミットとは非同期にDB書き込み部12を実行し、DBバッファ13の更新されたデータをDBファイル30に書き込む。   In order to improve the processing performance, the DBMS 10 executes the DB writing unit 12 asynchronously with the update of data stored in the DB buffer 13 and the commit of the transaction, and the updated data in the DB buffer 13 is stored in the DB file 30. Write to.

DB書き込み部12は、DBバッファ13に一定量以上のデータが更新されたとき、又は後述するチェックポイントなどで実行される。また、トランザクション管理部11は、トランザクション要求にソート操作などの処理が含まれるときには、一時ファイル33に対して書き込み処理及び読み出し処理を実行する。   The DB writing unit 12 is executed when a certain amount or more of data is updated in the DB buffer 13 or at a checkpoint described later. In addition, when the transaction request includes a process such as a sort operation, the transaction management unit 11 executes a write process and a read process on the temporary file 33.

制御装置20は、DBMS10からI/O処理要求を受信すると、受信したI/O処理要求が読み出し要求の場合には、読み出しデータを物理記憶装置56又はキャッシュメモリ21から取得してDBMS10に転送する。   When the control device 20 receives the I / O processing request from the DBMS 10, if the received I / O processing request is a read request, the control device 20 acquires the read data from the physical storage device 56 or the cache memory 21 and transfers the read data to the DBMS 10. .

また、制御装置20は、受信したI/O処理要求が記憶装置24に対する書き込み要求の場合には、書き込みデータをキャッシュメモリ21に格納する。受信したI/O処理要求がジャーナル取得記憶装置25に対する書き込み要求の場合には、書き込みデータをキャッシュメモリ21に格納するとともに、書き込みデータのジャーナルを作成し、キャッシュメモリ21に格納する。なお、キャッシュメモリ21に格納された書き込みデータ及びジャーナルは、キャッシュメモリ21への格納とは非同期に物理記憶装置56に書き込まれる。   Further, when the received I / O processing request is a write request for the storage device 24, the control device 20 stores the write data in the cache memory 21. When the received I / O processing request is a write request to the journal acquisition storage device 25, the write data is stored in the cache memory 21, and the write data journal is created and stored in the cache memory 21. The write data and the journal stored in the cache memory 21 are written to the physical storage device 56 asynchronously with the storage in the cache memory 21.

また、DBMS10は、一定時間間隔又はトランザクション数ごとにDB書き込み部12及びログ書き込み部14を実行し、DBバッファ13に格納された更新データ及びログバッファ15に格納されたログを記憶装置システム2に書き込む。このように、バッファに格納されたデータを記憶装置システム2に書き込む処理、及びその処理を実行するタイミングをチェックポイントという。   Further, the DBMS 10 executes the DB writing unit 12 and the log writing unit 14 at regular time intervals or for each number of transactions, and stores the update data stored in the DB buffer 13 and the log stored in the log buffer 15 in the storage device system 2. Write. As described above, the process of writing the data stored in the buffer to the storage device system 2 and the timing of executing the process are called check points.

DBMS10に格納されたDBバッファ13と、記憶装置システム2に格納されたDBファイル30とは、チェックポイントで実行される書き込み処理によって内容が一致するため、チェックポイントは、DBのリカバリの基点となる。   Since the contents of the DB buffer 13 stored in the DBMS 10 and the DB file 30 stored in the storage device system 2 are matched by the write process executed at the checkpoint, the checkpoint becomes a base point for DB recovery. .

DBMS10は、チェックポイントで実行される書き込み処理が完了すると、トランザクション管理部11を実行し、チェックポイントの識別情報を含むログを作成してログファイル32に記録する。   When the writing process executed at the checkpoint is completed, the DBMS 10 executes the transaction management unit 11 to create a log including checkpoint identification information and record it in the log file 32.

また、トランザクション管理部11は、DBのリカバリに利用するために、チェックポイントの識別情報を制御ファイル31又はDBファイル30のヘッダ部に書き込む。   Further, the transaction management unit 11 writes the checkpoint identification information in the control file 31 or the header of the DB file 30 for use in DB recovery.

続いて、トランザクション管理部11は、チェックポイントの識別情報をチェックポイントコマンドに含まれる所定の識別情報として、当該チェックポイントコマンドを記憶装置システム2に送信し、チェックポイントの処理を完了する。   Subsequently, the transaction management unit 11 transmits the checkpoint command to the storage device system 2 using the checkpoint identification information as the predetermined identification information included in the checkpoint command, and completes the checkpoint processing.

なお、チェックポイントの識別情報は、チェックポイントを一意に識別する情報、及び、ログファイル32における、チェックポイントの識別情報を含むログの記録位置などが含まれる。また、チェックポイントの識別情報を含むログは、チェックポイントの識別情報の他に、チェックポイント時に動作中のトランザクションの数、及び当該トランザクションの状態など、DBのリカバリを開始するために必要な情報が含まれる。   The checkpoint identification information includes information for uniquely identifying the checkpoint, a log recording position including the checkpoint identification information in the log file 32, and the like. In addition to the checkpoint identification information, the log including the checkpoint identification information includes information necessary for starting DB recovery, such as the number of transactions operating at the time of the checkpoint and the status of the transaction. included.

制御装置20は、DBMS10からチェックポイントコマンドを受信すると、チェックポイントの識別情報に対応させたジャーナルを生成し、キャッシュメモリ21を介してジャーナル記憶装置26に格納する。   When receiving the checkpoint command from the DBMS 10, the control device 20 generates a journal corresponding to the checkpoint identification information and stores it in the journal storage device 26 via the cache memory 21.

図3は、第1の実施の形態のDBのリカバリ処理手順を示すフローチャートである。DBのリカバリ処理は、管理者からリカバリ指示を受信したDBMS10における処理、及びDBMS10からのリストア指示を受信した記憶装置システム2における処理によって構成される。なお、第1の実施の形態では、管理者のオペレーションミスなどによって、DBファイル30に論理的不整合などの障害が発生した場合のリカバリ処理について説明する。   FIG. 3 is a flowchart illustrating a DB recovery processing procedure according to the first embodiment. The DB recovery process includes a process in the DBMS 10 that has received a recovery instruction from the administrator, and a process in the storage system 2 that has received a restore instruction from the DBMS 10. In the first embodiment, a recovery process in the case where a failure such as logical inconsistency occurs in the DB file 30 due to an operation mistake of the administrator or the like will be described.

DBMS10は、障害発生直前の回復時点を表すトランザクション識別情報又はログ順次番号などを含むDBのリカバリ指示を管理者から受信する(S100)。   The DBMS 10 receives, from the administrator, a DB recovery instruction including transaction identification information indicating the recovery time immediately before the failure occurrence or a log sequential number (S100).

DBMS10は、リカバリ指示を受信すると、ログ解析部16を実行する。ログ解析部16は、ログファイル32を参照し、受信したトランザクション識別情報又はログ順次番号に対応するログを検索する。   When the DBMS 10 receives the recovery instruction, the DBMS 10 executes the log analysis unit 16. The log analysis unit 16 refers to the log file 32 and searches for a log corresponding to the received transaction identification information or log sequential number.

ログ解析部16は、さらにログファイル32を解析し、検索されたログよりも前に記録され、かつ、最も新しいチェックポイントの識別情報を含むログを取得する。そして、取得されたログに含まれるチェックポイントの識別情報を、回復時点直前のチェックポイントの識別情報として取得する(S101)。   The log analysis unit 16 further analyzes the log file 32 and obtains a log that is recorded before the searched log and includes the identification information of the newest checkpoint. Then, the checkpoint identification information included in the acquired log is acquired as the checkpoint identification information immediately before the recovery time (S101).

DBMS10は、取得した回復時点直前のチェックポイントの識別情報を所定の識別情報としてリストア指示に含め、当該リストア指示を記憶装置システム2に送信する(S102)。リストア指示には、チェックポイントの識別情報の他に、DBファイル30と制御ファイル31が格納されたジャーナル取得記憶装置25の識別情報(例えば論理記憶装置番号など)などが含まれる。   The DBMS 10 includes the acquired identification information of the checkpoint immediately before the recovery time as predetermined identification information in the restore instruction, and transmits the restore instruction to the storage device system 2 (S102). In addition to the checkpoint identification information, the restore instruction includes identification information (for example, a logical storage device number) of the journal acquisition storage device 25 in which the DB file 30 and the control file 31 are stored.

制御装置20は、DBMS10が送信したリストア指示を受信すると(S111)、受信したリストア指示に含まれるジャーナル取得記憶装置25の識別情報を参照する。そして、ジャーナル取得記憶装置25においてジャーナル取得設定が実行されていること、及び、ジャーナル取得記憶装置25のジャーナルがジャーナル記憶装置26に格納されていることを確認する。   When receiving the restore instruction transmitted by the DBMS 10 (S111), the control device 20 refers to the identification information of the journal acquisition storage device 25 included in the received restore instruction. Then, it is confirmed that the journal acquisition setting is executed in the journal acquisition storage device 25 and that the journal of the journal acquisition storage device 25 is stored in the journal storage device 26.

続いて、制御装置20は、リストア処理を実行する(S112)。具体的には、制御装置20は、まず、ジャーナル記憶装置26に格納されていたスナップショットデータ34をジャーナル取得記憶装置25にコピーする。次に、制御装置20は、リストア指示に含まれるチェックポイントの識別情報に対応するジャーナルを取得する。そして、当該ジャーナルよりも前に記録されたジャーナルを、ジャーナル取得記憶装置25にコピーされたスナップショットデータ34に適用し、チェックポイント時点のデータを復元する。   Subsequently, the control device 20 executes a restore process (S112). Specifically, the control device 20 first copies the snapshot data 34 stored in the journal storage device 26 to the journal acquisition storage device 25. Next, the control device 20 acquires a journal corresponding to the checkpoint identification information included in the restore instruction. Then, the journal recorded before the journal is applied to the snapshot data 34 copied to the journal acquisition storage device 25 to restore the data at the checkpoint time.

制御装置20は、リストア処理が完了すると、その旨をDBMS10に報告する(S113)。   When the restoration process is completed, the control device 20 reports the fact to the DBMS 10 (S113).

DBMS10は、記憶装置システム2からリストア処理の完了報告を受信すると(S103)、ログ適用部17を実行する。ログ適用部17は、リストアされた制御ファイル31に記録されたチェックポイントの識別情報を取得する。そして、取得したチェックポイントの識別情報に対応するログから、リカバリ指示に含まれる回復時点に対応するログまでを、リストアされたジャーナル取得記憶装置25に格納されたDBファイル30に適用し(S104)、処理を終了する。なお、ログの適用は、DBファイル30のヘッダ部に記録されたチェックポイントの識別情報を利用してもよい。   When the DBMS 10 receives a completion report of the restore process from the storage system 2 (S103), the DBMS 10 executes the log application unit 17. The log application unit 17 acquires checkpoint identification information recorded in the restored control file 31. Then, the log from the log corresponding to the acquired identification information of the checkpoint to the log corresponding to the recovery point included in the recovery instruction is applied to the DB file 30 stored in the restored journal acquisition storage device 25 (S104). The process is terminated. Note that log application may use checkpoint identification information recorded in the header portion of the DB file 30.

第1の実施の形態によれば、ログを順次追記されるログファイル32及びDBのリカバリには不必要な一時ファイル33のジャーナルが作成されないため、ジャーナル記憶装置26の容量を削減することができる。   According to the first embodiment, since the journal of the temporary file 33 unnecessary for recovery of the log file 32 and the DB to which logs are sequentially added is not created, the capacity of the journal storage device 26 can be reduced. .

また、第1の実施の形態によれば、図3に示した一連のDBリカバリ処理によって、トランザクション識別情報及びログ順次番号などで特定される任意の回復時点において、トランザクションの一貫性が確保された状態に、DBを高速に回復させることができる。   Further, according to the first embodiment, transaction consistency is ensured at any recovery point specified by the transaction identification information and log sequential number by the series of DB recovery processing shown in FIG. The DB can be recovered to the state at high speed.

(第2の実施の形態)
図4は、第2の実施の形態の情報処理システムのソフトウェア構成図である。第2の実施の形態の情報処理システムのハードウェア構成は、第1の実施の形態と同じである。
(Second Embodiment)
FIG. 4 is a software configuration diagram of the information processing system according to the second embodiment. The hardware configuration of the information processing system of the second embodiment is the same as that of the first embodiment.

ホスト1は、第1の実施の形態と同じ構成である。一方、記憶装置システム2には、第1の実施の形態の構成に加え、制御装置20に、ジャーナル上書き判定部200、ジャーナル永続化部201、及びジャーナル設定部202を構成するプログラム及び管理情報を不揮発性メモリ53に備える。その他の構成については、第1の実施の形態と同じである。   The host 1 has the same configuration as that of the first embodiment. On the other hand, in addition to the configuration of the first embodiment, the storage device system 2 includes programs and management information that configure the journal overwrite determination unit 200, the journal persistence unit 201, and the journal setting unit 202 in the control device 20. The non-volatile memory 53 is provided. Other configurations are the same as those in the first embodiment.

ジャーナル上書き判定部200は、処理を実行するプログラム及びジャーナル格納情報210によって構成される。ジャーナル上書き判定部200は、ジャーナル取得記憶装置25に対する書き込みデータを受信したときに実行される。そして、書き込みデータと同じアドレスが指定される書き込みデータに関するジャーナルがキャッシュメモリ21に既に存在し、かつ、キャッシュメモリ21に存在するジャーナルが上書き可能状態であるか否かを判定する。   The journal overwrite determination unit 200 includes a program for executing processing and journal storage information 210. The journal overwrite determination unit 200 is executed when write data to the journal acquisition storage device 25 is received. Then, it is determined whether or not a journal related to the write data for which the same address as the write data is specified already exists in the cache memory 21 and the journal existing in the cache memory 21 is in an overwritable state.

また、ジャーナル格納情報210は、書き込みデータの格納先アドレス、書き込みデータに対応するジャーナルの格納先アドレス、及び、ジャーナルの状態などを格納する。なお、詳細は、図8にて後述する。   Further, the journal storage information 210 stores a write data storage destination address, a journal storage destination address corresponding to the write data, a journal state, and the like. Details will be described later with reference to FIG.

ジャーナル永続化部201は、ホスト1によって送信されたチェックポイントコマンドを制御装置20が受信したときに実行される。ジャーナル永続化部201は、キャッシュメモリ21に格納された上書き可能状態のジャーナルを上書き不可状態に変更する。   The journal persistence unit 201 is executed when the control device 20 receives a checkpoint command transmitted by the host 1. The journal persistence unit 201 changes the overwritable journal stored in the cache memory 21 to the overwritable state.

ジャーナル設定部202は、ジャーナル上書き判定部200及びジャーナル永続化部201を有効又は無効に設定する。ジャーナル設定部202は、ネットワークアダプタ52を介して、ホスト1又は管理端末3にジャーナル上書き判定部200及びジャーナル永続化部201を有効又は無効に設定するためのインタフェースを提供する。   The journal setting unit 202 sets the journal overwrite determination unit 200 and the journal persistence unit 201 to be valid or invalid. The journal setting unit 202 provides an interface for enabling or disabling the journal overwrite determination unit 200 and the journal persistence unit 201 to the host 1 or the management terminal 3 via the network adapter 52.

以下、第2の実施の形態において、ホスト1のDBMS10及び記憶装置システム2の制御装置20によって実行される処理の概要を説明する。   The outline of processing executed by the DBMS 10 of the host 1 and the control device 20 of the storage device system 2 in the second embodiment will be described below.

制御装置20は、ジャーナル取得記憶装置25に書き込み処理要求を受信すると、ジャーナル上書き判定部200を実行する。ジャーナル上書き判定部200は、受信した書き込みデータが格納されるアドレスと同じアドレスが指定された書き込みデータに関するジャーナルがキャッシュメモリ21に存在し、当該ジャーナルが上書き可能状態であるか否かを判定する。   When receiving a write processing request to the journal acquisition storage device 25, the control device 20 executes the journal overwrite determination unit 200. The journal overwrite determination unit 200 determines whether or not a journal related to write data for which the same address as the address in which the received write data is stored exists in the cache memory 21 and the journal is in an overwritable state.

続いて、制御装置20は、ジャーナル制御部23を実行し、ジャーナル上書き判定部200の判定結果に基づいて、生成したジャーナルを上書き可能状態として、キャッシュメモリ21に存在するジャーナルに上書き、又は、キャッシュメモリ21の新たな領域に格納する。   Subsequently, the control device 20 executes the journal control unit 23 and sets the generated journal as an overwritable state based on the determination result of the journal overwrite determination unit 200, overwriting the journal existing in the cache memory 21, or Store in a new area of the memory 21.

また、制御装置20は、ホスト1からチェックポイントコマンドを受信すると、ジャーナル永続化部201を実行し、キャッシュメモリ21の上書き可能状態のジャーナルを上書き不可状態に変更する。   Further, when receiving a checkpoint command from the host 1, the control device 20 executes the journal persistence unit 201 to change the overwritable journal of the cache memory 21 to the overwritable state.

続いて、制御装置20は、ジャーナル制御部23を実行し、チェックポイントコマンドに含まれる所定の識別情報と対応させたジャーナルを生成し、キャッシュメモリ21に格納する。   Subsequently, the control device 20 executes the journal control unit 23, generates a journal associated with predetermined identification information included in the checkpoint command, and stores it in the cache memory 21.

制御装置20は、キャッシュメモリ21に格納されているジャーナルを、ジャーナル記憶装置26に所定のタイミングに格納する。   The control device 20 stores the journal stored in the cache memory 21 in the journal storage device 26 at a predetermined timing.

なお、DBMS10は、DBバッファ13の容量が超過したときにも記憶装置システム2にデータの書き込みを要求する。このとき、生成されたジャーナルをキャッシュメモリ21又はジャーナル記憶装置26に格納しなくても、チェックポイントで作成されたジャーナルを保持していれば、ログによりDBのリカバリは可能である。そこで、第2の実施の形態では、チェックポイント以外で作成されたジャーナルをキャッシュメモリ21上で上書きすることによって、ジャーナル記憶装置26の容量を削減することができる。   The DBMS 10 requests the storage system 2 to write data even when the capacity of the DB buffer 13 is exceeded. At this time, even if the generated journal is not stored in the cache memory 21 or the journal storage device 26, the DB can be recovered by the log if the journal created by the checkpoint is held. Therefore, in the second embodiment, the capacity of the journal storage device 26 can be reduced by overwriting the journal created other than the checkpoint on the cache memory 21.

DBMS10は、リストアされたDBファイル30に、同じくリストアされた制御ファイル31に記録されたチェックポイントの識別情報を含むログから回復時点に対応するログまでを適用し、回復時点におけるトランザクションの一貫性が確保されたDBの状態を回復する。なお、DBのリカバリ処理は、第1の実施の形態と同じ処理である。   The DBMS 10 applies the log including the checkpoint identification information recorded in the restored control file 31 to the log corresponding to the recovery time to the restored DB file 30, and the consistency of the transaction at the recovery time is improved. Recover the secured DB state. The DB recovery process is the same as that of the first embodiment.

以下、第2の実施の形態において、ホスト1のDBMS10及び記憶装置システム2の制御装置20によって実行される処理の詳細を説明する。   Hereinafter, details of processing executed by the DBMS 10 of the host 1 and the control device 20 of the storage device system 2 in the second embodiment will be described.

図5は、第2の実施の形態のDBMS10からの書き込み処理要求を受信したときに、制御装置20によって実行される処理の手順を示すフローチャートである。   FIG. 5 is a flowchart illustrating a processing procedure executed by the control device 20 when a write processing request is received from the DBMS 10 according to the second embodiment.

制御装置20は、DBMS10から書き込み処理要求を受信すると(S210)、書き込み処理要求の対象がジャーナル取得記憶装置25であるか否かを判定する(S211)。制御装置20は、書き込み処理要求の対象がジャーナル取得記憶装置25でなければ(S211の結果が「N」)、書き込み処理要求に含まれる書き込みデータをキャッシュメモリ21に格納する(S217)。制御装置20は、書き込み処理が終了すると、DBMS10に通知する。   When receiving a write processing request from the DBMS 10 (S210), the control device 20 determines whether the target of the write processing request is the journal acquisition storage device 25 (S211). If the target of the write processing request is not the journal acquisition storage device 25 (the result of S211 is “N”), the control device 20 stores the write data included in the write processing request in the cache memory 21 (S217). The control device 20 notifies the DBMS 10 when the writing process is completed.

一方、制御装置20は、書き込み処理要求の対象がジャーナル取得記憶装置25であった場合には(S211の結果が「Y」)、送信された書き込みデータをキャッシュメモリ21に格納する(S212)。   On the other hand, when the target of the write processing request is the journal acquisition storage device 25 (result of S211 is “Y”), the control device 20 stores the transmitted write data in the cache memory 21 (S212).

次に、制御装置20は、ジャーナル格納情報210を参照し、受信した書き込みデータが格納されるアドレスと同じアドレスが指定された書き込みデータに関するジャーナルがキャッシュメモリ21に存在しているか否かを判定する(S213)。   Next, the control device 20 refers to the journal storage information 210 and determines whether or not a journal relating to the write data for which the same address as the received write data is stored exists in the cache memory 21. (S213).

制御装置20は、キャッシュメモリ21に該当するジャーナルが存在しない場合には(S213の結果が「N」)、要求された書き込みデータに関するジャーナルを上書き可能状態として作成し、キャッシュメモリ21の新たな領域に格納する(S216)。制御装置20は、格納したジャーナルに関する情報をジャーナル格納情報210に登録し、処理を終了する。   When there is no corresponding journal in the cache memory 21 (the result of S213 is “N”), the control device 20 creates a journal related to the requested write data as an overwritable state, and creates a new area in the cache memory 21. (S216). The control device 20 registers information related to the stored journal in the journal storage information 210 and ends the process.

制御装置20は、該当するジャーナルが既にキャッシュメモリ21に存在する場合には(S213の結果が「Y」)、ジャーナル格納情報210の該当するレコードを参照し、上書き可能状態であるか否かを判定する(S214)。制御装置20は、上書き可能状態でなければ(S214の結果が「N」)、S216の処理を実行する。   When the corresponding journal already exists in the cache memory 21 (the result of S213 is “Y”), the control device 20 refers to the corresponding record in the journal storage information 210 and determines whether or not the overwriting is possible. Determination is made (S214). If the overwriting is not possible (the result of S214 is “N”), the control device 20 executes the process of S216.

制御装置20は、ジャーナルが上書き可能状態であった場合には(S214の結果が「Y」)、ジャーナル格納情報210を参照し、キャッシュメモリ21に格納された該当するジャーナルに、要求された書き込みデータに関するジャーナルを上書き可能状態として上書きし、処理を終了する(S215)。   When the journal is in an overwritable state (result of S214 is “Y”), the control device 20 refers to the journal storage information 210 and writes the requested write to the corresponding journal stored in the cache memory 21. The data-related journal is overwritten as an overwritable state, and the process ends (S215).

図6は、第2の実施の形態の記憶装置システム2がホスト1からチェックポイントコマンドを受信したときに実行される処理の手順を示すフローチャートである。チェックポイントコマンドは、ホスト1のDBMS10からチェックポイントの処理完了時に発行され、処理したチェックポイントの識別情報を所定の識別情報として含む。   FIG. 6 is a flowchart illustrating a procedure of processing executed when the storage system 2 according to the second embodiment receives a checkpoint command from the host 1. The checkpoint command is issued from the DBMS 10 of the host 1 when the checkpoint processing is completed, and includes identification information of the processed checkpoint as predetermined identification information.

制御装置20は、まず、ホスト1のDBMS10からチェックポイントコマンドを受信する(S220)。   First, the control device 20 receives a checkpoint command from the DBMS 10 of the host 1 (S220).

そして、制御装置20は、ジャーナル格納情報210を参照及び更新し、キャッシュメモリ21に格納されている上書き可能状態のジャーナルを上書き不可状態に変更する(S221)。   Then, the control device 20 refers to and updates the journal storage information 210, and changes the overwritable journal stored in the cache memory 21 to the overwritable state (S221).

次に、制御装置20は、受信したチェックポイントコマンドに含まれるチェックポイントの識別情報と対応させたジャーナルを上書き不可状態として作成し、キャッシュメモリ21に格納する(S222)。さらに、制御装置20は、作成したジャーナルに関する情報をジャーナル格納情報210に登録し、処理を終了する。なお、制御装置20は、図7にて後述するように、キャッシュメモリ上のジャーナルをジャーナル記憶装置26に非同期に書き込む。   Next, the control device 20 creates a journal associated with the checkpoint identification information included in the received checkpoint command as an overwritable state and stores it in the cache memory 21 (S222). Further, the control device 20 registers information relating to the created journal in the journal storage information 210 and ends the process. Note that the control device 20 asynchronously writes the journal on the cache memory to the journal storage device 26 as will be described later with reference to FIG.

このようにして、制御装置20は、チェックポイントコマンドを受信したときにジャーナルを上書き不可状態とすることによって、ジャーナル記憶装置26にチェックポイントコマンドを受信時のジャーナルを確実に書き込ませることができる。一方、DBバッファ13の容量が超過して記憶装置システム2に更新が要求された場合などには、ジャーナルを上書き可能状態として格納し、同じアドレスが指定された更新要求のジャーナルを上書きしていくことによって、ジャーナル記憶装置26の容量を節約することができる。   In this way, the control device 20 can reliably write the journal when the checkpoint command is received in the journal storage device 26 by making the journal non-overwriteable when the checkpoint command is received. On the other hand, when the capacity of the DB buffer 13 is exceeded and an update is requested to the storage device system 2, the journal is stored in an overwritable state, and the journal of the update request with the same address specified is overwritten. As a result, the capacity of the journal storage device 26 can be saved.

図7は、第2の実施の形態のキャッシュメモリ21にのみ格納されたデータ(以下、「ダーティデータ」)を物理記憶装置56に書き込む手順を示すフローチャートである。ダーティデータの書き込みは、一定時間間隔、又はキャッシュメモリ21のデータが一定量以上更新された場合など、所定のタイミングで実行される。   FIG. 7 is a flowchart illustrating a procedure for writing data (hereinafter, “dirty data”) stored only in the cache memory 21 according to the second embodiment into the physical storage device 56. The dirty data is written at a predetermined timing, for example, when the data in the cache memory 21 is updated more than a certain amount.

制御装置20は、キャッシュメモリ21から物理記憶装置56に書き込むダーティデータを、予め設定された条件に基づいて決定する(S230)。例えば、一定期間アクセスされていない、一定量のダーティデータを選択する。   The control device 20 determines dirty data to be written from the cache memory 21 to the physical storage device 56 based on a preset condition (S230). For example, a certain amount of dirty data that has not been accessed for a certain period is selected.

次に、制御装置20は、書き込み対象のダーティデータがジャーナル記憶装置26に格納されるジャーナルであるか否かを判定する(S231)。制御装置20は、書き込み対象のダーティデータがジャーナル記憶装置26に格納されるジャーナルでなければ(S231の結果が「N」)、ダーティデータを格納先の物理記憶装置56に書き込み、処理を終了する(S234)。   Next, the control device 20 determines whether the dirty data to be written is a journal stored in the journal storage device 26 (S231). If the dirty data to be written is not a journal stored in the journal storage device 26 (the result of S231 is “N”), the control device 20 writes the dirty data to the storage destination physical storage device 56 and ends the process. (S234).

一方、制御装置20は、書き込み対象のダーティデータがジャーナルの場合には(S231の結果が「Y」)、ジャーナル格納情報210を参照し、当該ジャーナルが上書き可能状態であるか否かを判定する(S232)。制御装置20は、当該ジャーナルが上書き不可状態の場合には(S232の結果が「N」)、S234の処理を行い、ジャーナル記憶装置26を構成する物理記憶装置56に当該ジャーナルを格納する。   On the other hand, if the dirty data to be written is a journal (the result of S231 is “Y”), the control device 20 refers to the journal storage information 210 and determines whether the journal is in an overwritable state. (S232). When the journal is in an overwritable state (the result of S232 is “N”), the control device 20 performs the process of S234 and stores the journal in the physical storage device 56 constituting the journal storage device 26.

また、制御装置20は、当該ジャーナルが上書き可能状態であれば(S232の結果が「Y」)、ジャーナル格納情報210を参照及び更新し、上書き可能状態のジャーナルを上書き不可状態に変更する。そして、ジャーナル記憶装置26を構成する物理記憶装置56に当該ジャーナルを格納し、本処理を終了する(S233)。   Further, if the journal is in an overwritable state (the result of S232 is “Y”), the control device 20 refers to and updates the journal storage information 210 and changes the overwritable journal to an overwritable state. Then, the journal is stored in the physical storage device 56 constituting the journal storage device 26, and this process is terminated (S233).

なお、制御装置20は、キャッシュメモリ21の使用可能な領域量に応じて、S233の処理を実行しなくてもよい。すなわち、キャッシュメモリの使用可能な領域が十分であれば、キャッシュメモリ21上の上書き可能状態のジャーナルを上書き不可状態に変更せず、物理記憶装置56に書き込まないことによって、ジャーナルをさらに上書きでき、使用されるジャーナル記憶領域26の容量を削減することができる。   Note that the control device 20 does not have to execute the process of S233 according to the available area amount of the cache memory 21. That is, if the usable area of the cache memory is sufficient, the journal in the overwritable state on the cache memory 21 is not changed to the overwritable state and is not written to the physical storage device 56, thereby further overwriting the journal. The capacity of the journal storage area 26 used can be reduced.

図8は、第2の実施の形態のジャーナル格納情報210の一例を示す図である。ジャーナル格納情報210は、データ更新アドレス240、ジャーナル格納アドレス241、及び上書き可能状態242を含む。   FIG. 8 is a diagram illustrating an example of the journal storage information 210 according to the second embodiment. The journal storage information 210 includes a data update address 240, a journal storage address 241, and an overwritable state 242.

データ更新アドレス240は、書き込みデータが格納される位置を示すアドレスが格納される。ジャーナル格納アドレス241は、書き込みデータによって作成されるジャーナルが格納される位置を示すアドレスが格納される。上書き可能状態242は、ジャーナル格納アドレス241で特定されるジャーナルが上書き可能状態であるか否かの情報を格納する。   The data update address 240 stores an address indicating a position where write data is stored. The journal storage address 241 stores an address indicating a position where a journal created by write data is stored. The overwritable state 242 stores information on whether or not the journal specified by the journal storage address 241 is overwritable.

図9は、第2の実施の形態の機能設定画面の一例を示す図である。第2の実施の形態の機能設定画面は、ジャーナル上書き判定部200及びジャーナル永続化部201の有効又は無効を設定するユーザインタフェースである。機能設定画面は、制御装置20のジャーナル設定部202によって、管理端末3などに表示される。   FIG. 9 is a diagram illustrating an example of a function setting screen according to the second embodiment. The function setting screen according to the second embodiment is a user interface for setting validity / invalidity of the journal overwrite determination unit 200 and the journal persistence unit 201. The function setting screen is displayed on the management terminal 3 or the like by the journal setting unit 202 of the control device 20.

ジャーナル上書き判定部200及びジャーナル永続化部201は、機能設定画面のチェックボックス251又はチェックボックス250を操作することによって有効又は無効が設定される。   The journal overwrite determination unit 200 and the journal persistence unit 201 are set to be valid or invalid by operating the check box 251 or the check box 250 on the function setting screen.

管理者は、特定のジャーナル取得記憶装置25に対し、ジャーナル上書き判定部200及びジャーナル永続化部201を有効に設定することができる。具体的には、チェックボックス251を操作し、設定対象のジャーナル取得記憶装置25の識別番号を文字入力領域253に入力する。そして、「OK」ボタン254を操作することによって、記憶装置システム2に設定が反映される。一方、チェックボックス251を選択すれば、ジャーナル上書き判定部200及びジャーナル永続化部201を無効に設定できる。   The administrator can effectively set the journal overwrite determination unit 200 and the journal persistence unit 201 for a specific journal acquisition storage device 25. Specifically, the check box 251 is operated to input the identification number of the journal acquisition storage device 25 to be set in the character input area 253. Then, by operating the “OK” button 254, the setting is reflected in the storage device system 2. On the other hand, if the check box 251 is selected, the journal overwrite determination unit 200 and the journal persistence unit 201 can be set invalid.

なお、ジャーナル設定部202は、ジャーナル上書き判定部200及びジャーナル永続化部201を有効と設定した場合に、表示部252に、機能又は効果を示すメッセージを表示してもよい。例えば、図9に示すように、トランザクション一貫性のあるDBのリカバリを可能としながらジャーナル記憶装置26の容量を削減できる旨を表示することができる。   The journal setting unit 202 may display a message indicating the function or effect on the display unit 252 when the journal overwrite determination unit 200 and the journal persistence unit 201 are set to be valid. For example, as shown in FIG. 9, it is possible to display that the capacity of the journal storage device 26 can be reduced while enabling DB recovery with transaction consistency.

第2の実施の形態によれば、同じアドレスを指定した書き込み処理が複数要求されるとき、ジャーナルをキャッシュメモリ21上で上書きすることによって、ジャーナルを記録するために必要な記憶容量を削減することができる。特に、ジャーナリングの対象となる物理記憶装置56に格納されるデータを連続して更新する場合に有効である。   According to the second embodiment, when a plurality of write processes specifying the same address are requested, the storage capacity necessary for recording the journal is reduced by overwriting the journal on the cache memory 21. Can do. This is particularly effective when data stored in the physical storage device 56 that is the target of journaling is continuously updated.

さらに、第2の実施の形態によれば、物理記憶装置56に格納されたジャーナルを上書きするのではなく、キャッシュメモリ21上でジャーナルを上書きするため、ジャーナルの上書き処理に関し、記憶装置システム2に対する負荷を小さくすることができる。   Furthermore, according to the second embodiment, the journal stored in the physical storage device 56 is not overwritten, but overwritten on the cache memory 21. The load can be reduced.

(第3の実施の形態)
図10は、第3の実施の形態の情報処理システムのソフトウェア構成図である。第3の実施の形態の情報処理システムのハードウェア構成は、第1の実施の形態と同じである。
(Third embodiment)
FIG. 10 is a software configuration diagram of the information processing system according to the third embodiment. The hardware configuration of the information processing system of the third embodiment is the same as that of the first embodiment.

ホスト1は、第1の実施の形態と同じ構成である。一方、記憶装置システム2には、第2の実施の形態の構成に加え、制御装置20に、ジャーナル永続化判定部300、及びチェックポイント管理部301を構成するプログラム及び管理情報を不揮発性メモリ53に備える。その他の構成については、第2の実施の形態と同じである。   The host 1 has the same configuration as that of the first embodiment. On the other hand, in addition to the configuration of the second embodiment, the storage device system 2 stores the program and management information constituting the journal persistence determination unit 300 and the checkpoint management unit 301 in the nonvolatile memory 53 in addition to the configuration of the second embodiment. Prepare for. Other configurations are the same as those in the second embodiment.

ジャーナル永続化判定部300は、ホスト1からチェックポイントコマンドを制御装置20が受信したときに実行される。ジャーナル永続化判定部300は、キャッシュメモリ21に格納された上書き可能状態のジャーナルの量が所定の閾値以上であり、かつ、ジャーナル記憶装置26の空き容量が所定の閾値以上であるか否かを判定する。   The journal persistence determination unit 300 is executed when the control device 20 receives a checkpoint command from the host 1. The journal persistence determining unit 300 determines whether or not the amount of overwritable journals stored in the cache memory 21 is equal to or greater than a predetermined threshold and whether the free capacity of the journal storage device 26 is equal to or greater than a predetermined threshold. judge.

チェックポイント管理部301は、処理を実行するプログラム及びチェックポイント管理情報310によって構成される。チェックポイント管理部301は、ジャーナル永続化判定部300の判定結果に基づいて、受信したチェックポイントを有効又は無効として管理する。   The checkpoint management unit 301 includes a program for executing processing and checkpoint management information 310. The checkpoint management unit 301 manages the received checkpoint as valid or invalid based on the determination result of the journal persistence determination unit 300.

チェックポイント管理情報310は、ジャーナルと対応付けられたチェックポイントの情報を格納する。なお、詳細は、図13にて後述する。   The checkpoint management information 310 stores checkpoint information associated with a journal. Details will be described later with reference to FIG.

また、制御装置20は、チェックポイント管理部301を構成するプログラムを実行することによって、ネットワークアダプタ52を介して、ホスト1又は管理端末3にチェックポイント管理情報310に登録された情報を参照するインタフェースを提供する。なお、インタフェースの詳細は、図14にて後述する。   Further, the control device 20 executes a program constituting the checkpoint management unit 301 to refer to information registered in the checkpoint management information 310 in the host 1 or the management terminal 3 via the network adapter 52. I will provide a. Details of the interface will be described later with reference to FIG.

ジャーナル設定部202は、第2の実施の形態と同じく、ジャーナル上書き判定部200及びジャーナル永続化部201を有効又は無効と設定する。第3の実施の形態では、ジャーナル設定部202は、ジャーナル永続化判定部300の判定に使用する、キャッシュメモリ21に格納された上書き可能状態のジャーナルの量の閾値、及び、ジャーナル記憶装置26の空き容量の閾値を設定することも可能である。さらに、ジャーナル設定部202は、ジャーナル永続化判定部300及びチェックポイント管理部301を有効又は無効に設定する。   As in the second embodiment, the journal setting unit 202 sets the journal overwrite determination unit 200 and the journal persistence unit 201 as valid or invalid. In the third embodiment, the journal setting unit 202 uses the threshold value of the overwritable journal amount stored in the cache memory 21 and the journal storage device 26 used for the determination by the journal persistence determination unit 300. It is also possible to set a threshold for free space. Further, the journal setting unit 202 sets the journal persistence determination unit 300 and the checkpoint management unit 301 to be valid or invalid.

ジャーナル設定部202は、ネットワークアダプタ52を介して、ホスト1又は管理端末3に、ジャーナル永続化判定部300の判定に必要な閾値などの項目を設定するインタフェース、及びジャーナル永続化判定部300及びチェックポイント管理部301を有効又は無効に設定するインタフェースを提供する。なお、インタフェースの詳細は、図15にて後述する。   The journal setting unit 202 is an interface for setting items such as a threshold necessary for the determination of the journal persistence determination unit 300 to the host 1 or the management terminal 3 via the network adapter 52, and the journal persistence determination unit 300 and the check An interface for setting the point management unit 301 to be valid or invalid is provided. Details of the interface will be described later with reference to FIG.

以下、第3の実施の形態において、ホスト1のDBMS10及び記憶装置システム2の制御装置20によって実行される処理の概要を説明する。   The outline of processing executed by the DBMS 10 of the host 1 and the control device 20 of the storage device system 2 in the third embodiment will be described below.

制御装置20は、ホスト1からチェックポイントコマンドを受信すると、ジャーナル永続化判定部300を実行する。ジャーナル永続化判定部300は、キャッシュメモリ21に格納された上書き可能状態のジャーナルの量及びジャーナル記憶装置26の空き容量に基づいて、チェックポイントコマンドの受信時点において、ジャーナルを永続化するか否かを判定する。制御装置20は、永続化しないと判定した場合には、チェックポイント管理部301を実行し、受信したチェックポイントを無効として管理する。   When receiving a checkpoint command from the host 1, the control device 20 executes the journal persistence determining unit 300. The journal persistence determining unit 300 determines whether to persist the journal at the time of receiving the checkpoint command based on the amount of overwritable journals stored in the cache memory 21 and the free space of the journal storage device 26. Determine. When it is determined that the control device 20 is not made permanent, the control device 20 executes the checkpoint management unit 301 and manages the received checkpoint as invalid.

一方、制御装置20は、永続化すると判定した場合には、ジャーナル永続化部201を実行し、キャッシュメモリ21の上書き可能状態のジャーナルを上書き不可状態に変更する。   On the other hand, if the control device 20 determines to make it permanent, it executes the journal persistence unit 201 to change the overwritable journal of the cache memory 21 to the overwritable state.

続いて、制御装置20は、ジャーナル制御部23を実行し、チェックポイントコマンドに含まれるチェックポイントの識別情報と対応させたジャーナルを生成し、上書き不可状態として、キャッシュメモリ21に格納する。最後に、制御装置20は、チェックポイント管理部301を実行し、受信したチェックポイントを有効として管理する。   Subsequently, the control device 20 executes the journal control unit 23, generates a journal associated with the checkpoint identification information included in the checkpoint command, and stores it in the cache memory 21 as an overwritable state. Finally, the control device 20 executes the checkpoint management unit 301 and manages the received checkpoint as valid.

なお、制御装置20は、キャッシュメモリ21に格納されているジャーナルを、ジャーナル記憶装置26に所定のタイミングに格納する。   The control device 20 stores the journal stored in the cache memory 21 in the journal storage device 26 at a predetermined timing.

DBMS10は、回復時点を含むDBのリカバリ指示を管理者から受信すると、ログ解析部16を実行し、ログファイル32を解析することによって、回復時点直前のチェックポイントの識別情報を取得する。そして、取得したチェックポイントが有効であるか否かを記憶装置システム2に問い合わせる。   When the DBMS 10 receives a DB recovery instruction including the recovery point from the administrator, the DBMS 10 executes the log analysis unit 16 and analyzes the log file 32 to acquire the identification information of the check point immediately before the recovery point. Then, the storage system 2 is inquired whether the acquired checkpoint is valid.

制御装置20は、DBMS10からチェックポイントの識別情報の問合せを受信すると、チェックポイント管理部301を実行する。チェックポイント管理部301は、受信したチェックポイントが有効である場合には、受信したチェックポイントの識別情報は有効として応答する。一方、受信したチェックポイントが無効である場合には、受信したチェックポイントの識別情報を登録した時点よりも前であって、かつ、最も新しい有効なチェックポイントの識別情報を、DBMS10に応答する。   When the control device 20 receives a checkpoint identification information query from the DBMS 10, the control device 20 executes the checkpoint management unit 301. When the received checkpoint is valid, the checkpoint management unit 301 responds that the received checkpoint identification information is valid. On the other hand, when the received checkpoint is invalid, the latest valid checkpoint identification information that is before the time when the received identification information of the checkpoint is registered is returned to the DBMS 10.

DBMS10は、記憶装置システム2から有効なチェックポイントの識別情報を受信すると、受信したチェックポイントの識別情報を含むリストア指示を記憶装置システム2に送信する。そして、記憶装置システム2は、受信したチェックポイントの識別情報に基づいて、ジャーナルを適用し、DBファイル30をリストアする。その後、DBMS10は、ログ適用部17によって、リストアされたDBファイル30に回復時点までのログを適用し、回復時点のDBを回復する。   When the DBMS 10 receives valid checkpoint identification information from the storage system 2, the DBMS 10 transmits a restore instruction including the received checkpoint identification information to the storage system 2. Then, the storage device system 2 applies the journal and restores the DB file 30 based on the received checkpoint identification information. Thereafter, the DBMS 10 applies the logs up to the recovery point to the restored DB file 30 by the log application unit 17 to recover the DB at the recovery point.

以下、第3の実施の形態において、ホスト1のDBMS10及び記憶装置システム2の制御装置20によって実行される処理の詳細を説明する。   Hereinafter, details of processing executed by the DBMS 10 of the host 1 and the control device 20 of the storage device system 2 in the third embodiment will be described.

図11は、第3の実施の形態の記憶装置システム2がホスト1からチェックポイントコマンドを受信したときに実行される処理の手順を示すフローチャートである。チェックポイントコマンドは、ホスト1のDBMS10からチェックポイントの処理完了時に発行され、処理したチェックポイントの識別情報を所定の識別情報として含む。   FIG. 11 is a flowchart illustrating a procedure of processing executed when the storage system 2 according to the third embodiment receives a checkpoint command from the host 1. The checkpoint command is issued from the DBMS 10 of the host 1 when the checkpoint processing is completed, and includes identification information of the processed checkpoint as predetermined identification information.

制御装置20は、まず、ホスト1のDBMS10からチェックポイントコマンドを受信する(S310)。   First, the control device 20 receives a checkpoint command from the DBMS 10 of the host 1 (S310).

制御装置20は、ジャーナル格納情報210を参照し、キャッシュメモリ21に格納された上書き可能状態のジャーナルの量が所定の閾値以上であるか否かを判定する(S311)。   The control device 20 refers to the journal storage information 210 and determines whether the amount of overwritable journals stored in the cache memory 21 is equal to or greater than a predetermined threshold (S311).

制御装置20は、該当するジャーナルの量が所定の閾値以上でなければ(S311の結果が「N」)、チェックポイント管理情報310を参照及び更新し、受信したチェックポイントを無効なチェックポイントとして管理し(S316)、処理を終了する。   If the amount of the corresponding journal is not equal to or greater than the predetermined threshold (the result of S311 is “N”), the control device 20 refers to and updates the checkpoint management information 310 and manages the received checkpoint as an invalid checkpoint. (S316), and the process ends.

一方、制御装置20は、キャッシュメモリ21にある上書き可能状態のジャーナルの量が所定の閾値以上であった場合には(S311の結果が「Y」)、ジャーナル記憶装置26の空き容量が所定の閾値以上であるかを否か判定する(S312)。制御装置20は、ジャーナル記憶装置26の空き容量が所定の閾値以上でなければ(S312の結果が「N」)、受信したチェックポイントを無効なチェックポイントとして管理し(S316)、処理を終了する。   On the other hand, when the amount of overwritable journals in the cache memory 21 is equal to or greater than a predetermined threshold (the result of S311 is “Y”), the control device 20 determines that the free capacity of the journal storage device 26 is equal to the predetermined capacity. It is determined whether or not the threshold value is exceeded (S312). If the free capacity of the journal storage device 26 is not equal to or greater than the predetermined threshold (the result of S312 is “N”), the control device 20 manages the received checkpoint as an invalid checkpoint (S316) and ends the processing. .

制御装置20は、ジャーナル記憶装置26の空き容量が所定の閾値以上であった場合には(S312の結果が「Y」)、ジャーナル格納情報210を参照及び更新し、キャッシュメモリ21に格納されている上書き可能状態のジャーナルを上書き不可状態とする(S313)。   When the free capacity of the journal storage device 26 is equal to or greater than the predetermined threshold (the result of S312 is “Y”), the control device 20 refers to and updates the journal storage information 210 and stores it in the cache memory 21. The existing overwritable journal is set to the overwritable state (S313).

次に、制御装置20は、受信したチェックポイントコマンドに含まれるチェックポイントの識別情報に対応させ、上書き不可状態としてジャーナルを作成し、キャッシュメモリ21に格納する(S314)。制御装置20は、作成したジャーナルの情報をジャーナル格納情報210に登録する。   Next, the control device 20 creates a journal corresponding to the checkpoint identification information included in the received checkpoint command, and sets it in an overwritable state, and stores it in the cache memory 21 (S314). The control device 20 registers the created journal information in the journal storage information 210.

続いて、制御装置20は、チェックポイント管理情報310を参照及び更新し、受信したチェックポイントを有効なチェックポイントとして管理し(S315)、処理を終了する。   Subsequently, the control device 20 refers to and updates the checkpoint management information 310, manages the received checkpoint as a valid checkpoint (S315), and ends the process.

なお、制御装置20は、第2の実施の形態と同じく、キャッシュメモリ上のジャーナルをジャーナル記憶装置26に非同期に書き込む。   Note that the control device 20 asynchronously writes the journal on the cache memory to the journal storage device 26 as in the second embodiment.

図12は、第3の実施の形態のDBのリカバリ処理手順を示すフローチャートである。DBのリカバリ処理は、管理者からリカバリ指示を受信したDBMS10における処理、及びDBMS10からチェックポイントの識別情報に関する問合せ及びリストア指示を受信した記憶装置システム2による処理によって構成される。   FIG. 12 is a flowchart illustrating a DB recovery processing procedure according to the third embodiment. The DB recovery process includes a process in the DBMS 10 that has received a recovery instruction from an administrator, and a process by the storage system 2 that has received an inquiry and check instruction regarding checkpoint identification information from the DBMS 10.

DBMS10は、障害発生直前の回復時点を表すトランザクション識別情報又はログ順次番号などを含むDBのリカバリ指示を管理者から受信する(S320)。   The DBMS 10 receives from the administrator a DB recovery instruction including transaction identification information indicating the recovery time immediately before the failure occurrence or a log sequential number (S320).

DBMS10は、リカバリ指示を受信すると、ログ解析部16を実行する。ログ解析部16は、現時点までのすべてのログが記録されたログファイル32を参照し、受信したトランザクション識別情報又はログ順次番号に対応するログを検索する。   When the DBMS 10 receives the recovery instruction, the DBMS 10 executes the log analysis unit 16. The log analysis unit 16 refers to the log file 32 in which all logs up to the present time are recorded, and searches for a log corresponding to the received transaction identification information or log sequential number.

ログ解析部16は、さらにログファイル32を解析し、検索されたログよりも前に記録され、かつ、最も新しいチェックポイントの識別情報を含むログを取得する。そして、取得されたログに含まれるチェックポイントの識別情報を、回復時点直前のチェックポイントの識別情報として取得する(S321)。   The log analysis unit 16 further analyzes the log file 32 and obtains a log that is recorded before the searched log and includes the identification information of the newest checkpoint. Then, the identification information of the checkpoint included in the acquired log is acquired as the identification information of the checkpoint immediately before the recovery time (S321).

DBMS10は、取得したチェックポイントの識別情報に基づいて、有効なチェックポイントを記憶装置システム2に問い合わせる(S322)。   The DBMS 10 inquires the storage device system 2 about a valid checkpoint based on the acquired checkpoint identification information (S322).

制御装置20は、DBMS10からチェックポイントの識別情報の問合せを受信すると(S330)、チェックポイント管理情報310を参照し、受信したチェックポイントの識別情報が管理されていることを確認する。そして、受信したチェックポイントの識別情報によって特定されるチェックポイントが有効であるか否かを判定する(S331)。   When receiving an inquiry for checkpoint identification information from the DBMS 10 (S330), the control device 20 refers to the checkpoint management information 310 and confirms that the received checkpoint identification information is managed. Then, it is determined whether or not the checkpoint specified by the received checkpoint identification information is valid (S331).

制御装置20は、当該チェックポイントが有効である場合には(S331の結果が「Y」)、チェックポイントが有効である旨をDBMS10に応答する(S334)。   When the checkpoint is valid (the result of S331 is “Y”), the control device 20 responds to the DBMS 10 that the checkpoint is valid (S334).

一方、制御装置20は、当該チェックポイントが無効であった場合には(S331の結果が「N」)、チェックポイント管理情報310を参照し、直近の有効なチェックポイントの識別情報を取得する(S332)。具体的には、受信したチェックポイントが実行されたDBと同じDBで実行された他のチェックポイントの識別情報の中から、受信したチェックポイントの識別情報を登録した時点より前であり、かつ、直近の有効なチェックポイントの識別情報を取得する。そして、制御装置20は、取得した有効なチェックポイントの識別情報をDBMS10に応答する(S333)。   On the other hand, when the checkpoint is invalid (the result of S331 is “N”), the control device 20 refers to the checkpoint management information 310 and acquires the identification information of the latest valid checkpoint ( S332). Specifically, from the identification information of other checkpoints executed in the same DB as the DB where the received checkpoint was executed, before the time when the received checkpoint identification information was registered, and Get the identification information of the last valid checkpoint. Then, the control device 20 returns the acquired valid checkpoint identification information to the DBMS 10 (S333).

DBMS10は、記憶装置システム2から有効なチェックポイントの識別情報を受信すると(S323)、取得したチェックポイントの識別情報を所定の識別情報としてリストア指示に含め、当該リストア指示を記憶装置システム2に送信する(S324)。   When the DBMS 10 receives valid checkpoint identification information from the storage device system 2 (S323), the DBMS 10 includes the acquired checkpoint identification information in the restore instruction as predetermined identification information, and transmits the restore instruction to the storage device system 2. (S324).

制御装置20は、DBMS10が送信したリストア指示を受信すると(S335)、受信したリストア指示に含まれるジャーナル取得記憶装置25の識別情報を参照する。そして、ジャーナル取得記憶装置25においてジャーナル取得設定が実行されていること、及び、ジャーナル取得記憶装置25のジャーナルがジャーナル記憶装置26に格納されていることを確認する。また、制御装置20は、チェックポイント管理情報310を参照し、受信したリストア指示で指定されたチェックポイントが有効であることを確認する(S336)。   When receiving the restore instruction transmitted by the DBMS 10 (S335), the control device 20 refers to the identification information of the journal acquisition storage device 25 included in the received restore instruction. Then, it is confirmed that the journal acquisition setting is executed in the journal acquisition storage device 25 and that the journal of the journal acquisition storage device 25 is stored in the journal storage device 26. Also, the control device 20 refers to the checkpoint management information 310 and confirms that the checkpoint specified by the received restore instruction is valid (S336).

続いて、制御装置20は、リストア処理を実行する(S337)。具体的には、制御装置20は、リストア指示に含まれる所定の識別情報であるチェックポイントの識別情報に対応するジャーナルを取得する。そして、当該ジャーナルよりも前に記録されたジャーナルを、ジャーナル取得記憶装置25にコピーされたスナップショットデータ34に適用し、チェックポイント時点のデータを復元する。さらに、制御装置20は、リストア処理の完了をDBMS10に報告する(S338)。   Subsequently, the control device 20 executes a restore process (S337). Specifically, the control device 20 acquires a journal corresponding to the checkpoint identification information, which is predetermined identification information included in the restore instruction. Then, the journal recorded before the journal is applied to the snapshot data 34 copied to the journal acquisition storage device 25 to restore the data at the checkpoint time. Further, the control device 20 reports the completion of the restore process to the DBMS 10 (S338).

DBMS10は、記憶装置システム2からリストア処理の完了報告を受信すると(S325)、ログ適用部17を実行する。ログ適用部17は、リストアされた制御ファイル31に記録されたチェックポイントの識別情報を取得する。そして、取得したチェックポイントの識別情報に対応するログから、リカバリ指示に含まれる回復時点に対応するログまでを、リストアされたジャーナル取得記憶装置25に格納されたDBファイル30に適用し(S326)、処理を終了する。   When the DBMS 10 receives the restoration processing completion report from the storage system 2 (S325), the DBMS 10 executes the log application unit 17. The log application unit 17 acquires checkpoint identification information recorded in the restored control file 31. Then, the log from the log corresponding to the acquired identification information of the checkpoint to the log corresponding to the recovery point included in the recovery instruction is applied to the DB file 30 stored in the restored journal acquisition storage device 25 (S326). The process is terminated.

図13は、第3の実施の形態のチェックポイント管理情報310の一例を示す図である。チェックポイント管理情報310は、チェックポイント識別情報340、ジャーナル格納アドレス341、時間342及びジャーナル永続化343を含む。   FIG. 13 is a diagram illustrating an example of the checkpoint management information 310 according to the third embodiment. Checkpoint management information 310 includes checkpoint identification information 340, journal storage address 341, time 342, and journal persistence 343.

チェックポイント識別情報340は、管理対象のチェックポイントの識別子を格納する。ジャーナル格納アドレス341は、管理対象のチェックポイントに対応するジャーナルが格納されたアドレスを格納する。   The check point identification information 340 stores an identifier of a check point to be managed. The journal storage address 341 stores the address where the journal corresponding to the checkpoint to be managed is stored.

時間342は、管理対象のチェックポイントに対応するジャーナルが作成された時刻を格納する。ジャーナル永続化343は、管理対象のチェックポイントが有効又は無効であるかを格納する。   The time 342 stores the time when the journal corresponding to the checkpoint to be managed is created. The journal persistence 343 stores whether the checkpoint to be managed is valid or invalid.

図14は、第3の実施の形態のチェックポイント管理情報表示画面の一例を示す図である。チェックポイント管理情報表示画面は、チェックポイント管理情報310に登録されたチェックポイントの内容を問い合わせるために、ホスト1又は管理端末3などに表示される画面(ユーザインタフェース)である。チェックポイント管理情報表示画面は、制御装置20がチェックポイント管理部301を構成するプログラムを実行することによって提供される。   FIG. 14 is a diagram illustrating an example of a checkpoint management information display screen according to the third embodiment. The checkpoint management information display screen is a screen (user interface) displayed on the host 1 or the management terminal 3 in order to inquire about the contents of the checkpoint registered in the checkpoint management information 310. The checkpoint management information display screen is provided when the control device 20 executes a program constituting the checkpoint management unit 301.

チェックポイント管理情報表示画面は、チェックポイント管理情報310に格納される情報と概ね同じである。具体的には、チェックポイント識別情報350、チェックポイント実行論理記憶装置番号351、チェックポイント識別情報格納論理記憶装置番号352、時間353、及びチェックポイント状態354が表示される。   The checkpoint management information display screen is substantially the same as the information stored in the checkpoint management information 310. Specifically, checkpoint identification information 350, checkpoint execution logical storage device number 351, checkpoint identification information storage logical storage device number 352, time 353, and checkpoint status 354 are displayed.

チェックポイント識別情報350は、チェックポイント管理情報310に登録されたチェックポイントの識別情報である。チェックポイント実行論理記憶装置番号351は、チェックポイントを実行されたDBが格納される論理記憶装置番号である。   The checkpoint identification information 350 is checkpoint identification information registered in the checkpoint management information 310. The checkpoint execution logical storage device number 351 is a logical storage device number in which the DB on which the checkpoint is executed is stored.

チェックポイント識別情報格納論理記憶装置番号352は、チェックポイントの識別情報に対応するジャーナルが格納される論理記憶装置番号である。時間353は、チェックポイントの識別情報に対応するジャーナルが作成された時間である。チェックポイント状態354は、チェックポイントが有効又は無効であるかを示す情報である。   The checkpoint identification information storage logical storage device number 352 is a logical storage device number in which a journal corresponding to the checkpoint identification information is stored. Time 353 is the time when the journal corresponding to the checkpoint identification information was created. The checkpoint state 354 is information indicating whether the checkpoint is valid or invalid.

図15は、第3の実施の形態の機能設定画面の一例を示す図である。第3の実施の形態の機能設定画面は、ジャーナル永続化判定部300及びチェックポイント管理部301の有効又は無効を設定するユーザインタフェースである。機能設定画面は、制御装置20のジャーナル設定部202によって、ホスト1又は管理端末3などに表示される。機能設定画面は、第2の実施の形態の図9に示した機能設定画面と同じく、ジャーナル上書き判定部200及びジャーナル永続化部201の有効又は無効を設定することも可能である。   FIG. 15 is a diagram illustrating an example of a function setting screen according to the third embodiment. The function setting screen according to the third embodiment is a user interface for setting validity / invalidity of the journal persistence determination unit 300 and the checkpoint management unit 301. The function setting screen is displayed on the host 1 or the management terminal 3 by the journal setting unit 202 of the control device 20. As in the function setting screen shown in FIG. 9 of the second embodiment, the function setting screen can also set validity or invalidity of the journal overwrite determination unit 200 and the journal persistence unit 201.

ジャーナル永続化判定部300とチェックポイント管理部301、及び、ジャーナル上書き判定部200とジャーナル永続化部201は、チェックボックス362、チェックボックス361、及びチェックボックス360を選択することによって有効又は無効が設定される。このとき、ジャーナル取得記憶装置25の識別番号を文字入力領域364に入力することによって、設定対象のジャーナル取得記憶装置25が指定される。そして、「OK」ボタン367を操作することによって、記憶装置システム2に設定が反映される。   The journal persistence determination unit 300 and the checkpoint management unit 301, and the journal overwrite determination unit 200 and the journal persistence unit 201 are enabled or disabled by selecting the check box 362, the check box 361, and the check box 360. Is done. At this time, the journal acquisition storage device 25 to be set is designated by inputting the identification number of the journal acquisition storage device 25 into the character input area 364. Then, by operating the “OK” button 367, the setting is reflected in the storage device system 2.

管理者は、チェックボックス362を選択すると、ジャーナル永続化判定部300、チェックポイント管理部301、ジャーナル上書き判定部200、及び、ジャーナル永続化部201が有効と設定することができる。このとき、ジャーナル永続化判定部300の処理に必要な、キャッシュメモリ21に格納された上書き可能状態のジャーナルの量の閾値及びジャーナル記憶装置26の空き容量の閾値を、文字入力領域365及び366に入力して指定することが可能である。   When the administrator selects the check box 362, the journal persistence determination unit 300, the checkpoint management unit 301, the journal overwrite determination unit 200, and the journal persistence unit 201 can be set to be valid. At this time, the threshold of the overwriting enabled journal amount stored in the cache memory 21 and the free space threshold of the journal storage device 26 necessary for the processing of the journal persistence determining unit 300 are stored in the character input areas 365 and 366, respectively. It is possible to specify by inputting.

また、管理者は、チェックボックス361を選択すると、ジャーナル永続化判定部300及びチェックポイント管理部301を無効、ジャーナル上書き判定部200及びジャーナル永続化部201を有効と設定することができる。   Further, when the administrator selects the check box 361, the journal persistence determining unit 300 and the checkpoint management unit 301 can be disabled, and the journal overwrite determining unit 200 and the journal persistence unit 201 can be set to be enabled.

さらに、管理者は、チェックボックス360を選択すれば、ジャーナル永続化判定部300、チェックポイント管理部301、ジャーナル上書き判定部200、及びジャーナル永続化部201を無効と設定することができる。   Furthermore, if the administrator selects the check box 360, the journal persistence determination unit 300, the checkpoint management unit 301, the journal overwrite determination unit 200, and the journal persistence unit 201 can be set to be invalid.

なお、機能設定画面は、ジャーナル永続化判定部300及びチェックポイント管理部301を有効と設定したとき、トランザクション一貫性のあるDBのリカバリを可能としつつジャーナル記憶装置26の容量を削減可能であるが、DBリカバリの処理性能に影響が生じる可能性がある旨を表示部363に表示してもよい。   It should be noted that the function setting screen can reduce the capacity of the journal storage device 26 while enabling DB recovery with transaction consistency when the journal persistence determination unit 300 and the checkpoint management unit 301 are set to be valid. The display unit 363 may display that the DB recovery processing performance may be affected.

第3の実施の形態によれば、第2の実施の形態と同じく、同じアドレスが指定された書き込みデータのジャーナルをキャッシュメモリ21上で上書きすることによって、ジャーナル記憶装置26の容量を削減することができる。   According to the third embodiment, as in the second embodiment, the capacity of the journal storage device 26 is reduced by overwriting the journal of the write data with the same address designated on the cache memory 21. Can do.

また、第3の実施の形態によれば、第2の実施の形態の効果に加え、キャッシュメモリ21の状態及びジャーナル記憶装置26の空き容量に応じてチェックポイントコマンドを無効とし、ジャーナルを更に上書きする。したがって、DBファイル30内の同じデータを連続更新する場合などに、特に、ジャーナル記憶装置26の容量を大幅に削減することが可能である。   Further, according to the third embodiment, in addition to the effects of the second embodiment, the checkpoint command is invalidated according to the state of the cache memory 21 and the free capacity of the journal storage device 26, and the journal is further overwritten. To do. Therefore, particularly when the same data in the DB file 30 is continuously updated, the capacity of the journal storage device 26 can be significantly reduced.

さらに、第3の実施の形態によれば、ログファイル32は、ジャーナルを取得しない記憶装置24に格納されるため、リストア処理の実行の有無に関わらず、DBファイル30の変更履歴が全て記録される。よって、回復時点に対して最新のチェックポイント処理時点のDBファイル30にリストアされなくても、DBMS10は、リストアされたDBファイル30に任意の回復時点までの必要なログを適用することができる。   Furthermore, according to the third embodiment, since the log file 32 is stored in the storage device 24 that does not acquire a journal, the entire change history of the DB file 30 is recorded regardless of whether or not the restore process is executed. The Therefore, even if the DB file 30 at the latest checkpoint processing time is not restored with respect to the recovery time, the DBMS 10 can apply the necessary logs up to an arbitrary recovery time to the restored DB file 30.

そこで、第3の実施の形態では、キャッシュメモリ21に格納された上書き可能状態のジャーナルの量及びジャーナル記憶装置26の空き容量に基づいて、キャッシュメモリ21に格納されているジャーナルを、物理記憶装置56に書き込むか否かを判定する。このように、ジャーナルの物理記憶装置56に対する書き込み処理の実行を間引くことによって、ジャーナル記憶装置26の容量を第2の実施の形態よりもさらに削減することができる。   Therefore, in the third embodiment, the journal stored in the cache memory 21 is stored in the physical storage device based on the amount of the overwritable journal stored in the cache memory 21 and the free capacity of the journal storage device 26. Whether or not to write to 56 is determined. As described above, by thinning out the execution of the writing process for the journal physical storage device 56, the capacity of the journal storage device 26 can be further reduced as compared with the second embodiment.

以上のように、本発明は、データベースの高速なリカバリのために、記憶装置システム内で生成するジャーナルを用いた高速なリストアを可能としながらも、ジャーナルを記録するための記憶容量の削減が望まれる情報処理システムに適用することができる。特に、大量のログが出力され、データベース内の同じデータが連続して更新されるOLTP向けの情報処理システムに好適である。   As described above, the present invention is desired to reduce the storage capacity for recording journals while enabling high-speed restoration using journals generated in the storage system for high-speed database recovery. It can be applied to information processing systems. In particular, it is suitable for an information processing system for OLTP in which a large amount of logs are output and the same data in the database is continuously updated.

なお、特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。   In addition, the following can be mentioned as typical ones of aspects of the present invention other than those described in the claims.

(1)記憶装置システムに接続される計算機で実行されるデータベース管理システムであって、前記記憶装置システムは、前記計算機から送信されるアクセス要求を処理する制御部と、第1の記憶装置と、第2の記憶装置と、第3の記憶装置と、を備え、前記第1の記憶装置は、前記データベース管理システムによってアクセスされるデータを格納するデータベースファイルと、前記データベース管理システムの制御情報を含む制御ファイルと、を格納し、前記第2の記憶装置は、前記第1の記憶装置に格納されたデータの更新履歴であるジャーナルを格納し、前記第3の記憶装置は、前記データベース管理システムによって生成され、前記データベースファイルの更新履歴であるログを記録するログファイルを格納し、前記制御部は、前記第1の記憶装置に格納されたデータの更新指示を受信すると、前記ジャーナルを生成して前記第2の記憶装置に記録し、前記データベースファイルの回復の基点となるチェックポイントが生成されたことが前記計算機によって通知されたとき、前記生成されたチェックポイントの識別情報と対応させたジャーナルを生成して前記第2の記憶装置に記録し、前記計算機から前記チェックポイントの識別情報を含むリストア指示を受信すると、前記受信したリストア指示に含まれるチェックポイントの識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記データベースファイルと前記制御ファイルを含む前記第1の記憶装置に格納されたデータを復元し、前記データベース管理システムは、前記チェックポイントが生成されたとき、前記生成されたチェックポイントの識別情報と対応付けて前記ログファイルにログを記録し、前記生成されたチェックポイントの識別情報を前記制御ファイルに記録し、前記生成されたチェックポイントの識別情報とともに前記チェックポイントが生成されたことを前記記憶装置システムに通知する管理部と、回復時点を含むリカバリ指示を受け付けたとき、前記リカバリ指示に含まれる回復時点に対応するログを前記ログファイルから検索し、前記検索された回復時点に対応するログが記録された時点よりも前に記録され、かつ、最も新しいチェックポイントの識別情報を含むログを取得し、前記取得されたログに含まれるチェックポイントの識別情報を前記リストア指示とともに前記記憶装置システムに送信するログ解析部と、前記記憶装置システムによって復元された制御ファイルに記録されたチェックポイントの識別情報に対応するログから前記回復時点に対応するログまでを、前記記憶装置システムによって復元されたデータベースファイルに適用するログ適用部と、を備えることを特徴とするデータベース管理システム。   (1) A database management system executed by a computer connected to a storage device system, wherein the storage device system includes a control unit that processes an access request transmitted from the computer, a first storage device, A second storage device; and a third storage device, wherein the first storage device includes a database file for storing data accessed by the database management system, and control information for the database management system A control file, the second storage device stores a journal that is an update history of data stored in the first storage device, and the third storage device is stored in the database management system. Storing a log file that is generated and records a log that is an update history of the database file; When an update instruction for data stored in one storage device is received, the journal is generated and recorded in the second storage device, and a checkpoint serving as a recovery point for the database file is generated. When notified by the computer, a journal associated with the generated checkpoint identification information is generated and recorded in the second storage device, and a restore instruction including the checkpoint identification information is received from the computer. Then, using the journal recorded in the second storage device before the journal corresponding to the checkpoint identification information included in the received restore instruction, the first file including the database file and the control file is included. The database management system restores the data stored in the storage device, and the database management system When a checkpoint is generated, a log is recorded in the log file in association with the generated checkpoint identification information, and the generated checkpoint identification information is recorded in the control file. A management unit that notifies the storage device system that the checkpoint has been generated together with the checkpoint identification information, and a log corresponding to the recovery time included in the recovery instruction when a recovery instruction including the recovery time is received. Is retrieved from the log file, and a log that is recorded before the time when the log corresponding to the retrieved recovery time is recorded and includes the identification information of the newest checkpoint is obtained, and the obtained The identification information of the checkpoint included in the log is sent to the storage device system together with the restore instruction. And a database restored by the storage device system from a log corresponding to the identification information of the checkpoint recorded in the control file restored by the storage device system to a log corresponding to the recovery time A database management system comprising: a log application unit applied to a file.

(2)前記管理部は、前記チェックポイントが生成されたとき、前記生成されたチェックポイントの識別情報を前記データベースファイルのヘッダ部に記録し、前記ログ適用部は、前記記憶装置システムによって復元されたデータベースファイルのヘッダ部に記録されたチェックポイントの識別情報を含むログから前記回復時点に対応するログまでを、前記記憶装置システムによって復元されたデータベースファイルに適用する、ことを特徴とする(1)に記載のデータベース管理システム。   (2) When the check point is generated, the management unit records identification information of the generated check point in a header portion of the database file, and the log application unit is restored by the storage device system. (1) applying from the log including the checkpoint identification information recorded in the header of the database file to the log corresponding to the recovery time point to the database file restored by the storage system (1) ) Database management system.

(3)前記データベース管理システムは、処理に必要なデータを一時的に保存する一時ファイルを、ジャーナルの取得対象でなく、かつ、前記第1の記憶装置以外の記憶装置に格納する、ことを特徴とする(1)に記載のデータベース管理システム。   (3) The database management system stores a temporary file for temporarily storing data necessary for processing in a storage device other than the journal acquisition target and in a storage device other than the first storage device. The database management system according to (1).

(4)記憶装置システムに接続される計算機で実行されるデータベース管理システムにおけるデータ回復方法であって、前記記憶装置システムは、前記計算機から送信されるアクセス要求を処理する制御部と、前記データベース管理システムによってアクセスされるデータを格納するデータベースファイル、及び前記データベース管理システムの制御情報を含む制御ファイル、を格納する第1の記憶装置と、前記第1の記憶装置に格納されたデータの更新履歴であるジャーナルを格納する第2の記憶装置と、前記データベース管理システムによって生成され、前記データベースファイルの更新履歴であるログを記録するログファイルを格納する第3の記憶装置と、を備え、前記制御部は、前記第1の記憶装置に格納されたデータの更新指示を受信すると、前記ジャーナルを生成して前記第2の記憶装置に記録し、前記データベース管理システムは、前記データベースファイルの回復の基点となるチェックポイントが生成されたとき、前記ログファイルに前記生成されたチェックポイントの識別情報と対応付けてログを記録し、前記生成されたチェックポイントの識別情報を前記制御ファイルに記録し、前記生成されたチェックポイントの識別情報とともに前記チェックポイントが生成されたことを前記記憶装置システムに通知し、前記制御部は、前記チェックポイントが生成されたことを前記計算機によって通知されたとき、前記生成されたチェックポイントの識別情報と対応させたジャーナルを生成して前記第2の記憶装置に記録し、前記データベース管理システムは、回復時点を含むリカバリ指示を受け付けたとき、前記リカバリ指示に含まれる回復時点に対応するログを前記ログファイルから検索し、前記検索された回復時点に対応するログが記録された時点よりも前に記録され、かつ、最も新しいチェックポイントの識別情報を含むログを取得し、前記取得したログに含まれるチェックポイントの識別情報とともにリストア指示を前記記憶装置システムに送信し、前記制御部は、前記計算機から前記チェックポイントの識別情報を含むリストア指示を受信したとき、前記受信したリストア指示に含まれるチェックポイントの識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記データベースファイルと前記制御ファイルを含む前記第1の記憶装置に格納されたデータを復元し、前記データベース管理システムは、前記記憶装置システムによって復元された制御ファイルに記録されたチェックポイントの識別情報を含むログから前記回復時点に対応するログまでを、前記記憶装置システムによって復元されたデータベースファイルに適用する、ことを特徴とするデータ回復方法。   (4) A data recovery method in a database management system executed by a computer connected to a storage device system, the storage device system including a control unit that processes an access request transmitted from the computer, and the database management A first storage device that stores a database file that stores data accessed by the system and a control file that includes control information of the database management system; and an update history of data stored in the first storage device A second storage device that stores a journal; and a third storage device that stores a log file that is generated by the database management system and that records a log that is an update history of the database file. Gives an instruction to update the data stored in the first storage device. The journal is generated and recorded in the second storage device, and the database management system generates the log file when the checkpoint is generated as a recovery point of the database file. A log is recorded in association with the checkpoint identification information, the generated checkpoint identification information is recorded in the control file, and the checkpoint is generated together with the generated checkpoint identification information. When the computer is notified that the checkpoint has been generated, the control unit generates a journal corresponding to the generated checkpoint identification information and notifies the storage device system. Recorded in the storage device 2, the database management system When a recovery instruction is received, the log corresponding to the recovery time included in the recovery instruction is searched from the log file, and recorded before the time when the log corresponding to the searched recovery time is recorded, And the log including the identification information of the newest checkpoint is acquired, and a restore instruction is transmitted to the storage device system together with the identification information of the checkpoint included in the acquired log, and the control unit receives the check from the computer. When a restore instruction including point identification information is received, the database is recorded using a journal recorded in the second storage device before a journal corresponding to the checkpoint identification information included in the received restore instruction. Data stored in the first storage device including the file and the control file The database management system is restored by the storage system from the log including the checkpoint identification information recorded in the control file restored by the storage system to the log corresponding to the recovery time. A data recovery method characterized by applying to a database file.

(5)データベース管理システムを実行する計算機と、前記計算機に接続される記憶装置システムと、を有する情報処理システムであって、前記記憶装置システムは、前記計算機から送信されるアクセス要求を処理する制御部と、第1の記憶装置と、第2の記憶装置と、第3の記憶装置と、を備え、前記第1の記憶装置は、前記データベース管理システムによってアクセスされるデータを格納するデータベースファイルと、前記データベース管理システムの制御情報を含む制御ファイルと、を格納し、前記第2の記憶装置は、前記第1の記憶装置に格納されたデータの更新履歴であるジャーナルを格納し、前記第3の記憶装置は、前記データベース管理システムによって生成され、前記データベースファイルの更新履歴であるログを記録するログファイルを格納し、前記制御部は、前記記憶装置システムと前記計算機との間で送受信されるデータ及び前記ジャーナルが、一時的に格納されるキャッシュメモリを備え、前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記ジャーナルを上書き可能状態として新たに生成するジャーナル制御部と、前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記更新対象のデータが格納されたアドレスと同じアドレスのデータが更新されることによって生成された同アドレスに対応するジャーナルが、前記キャッシュメモリに既に存在し、かつ、上書き可能状態であるか否かを判定するジャーナル上書き判定部と、前記計算機から、前記データベースファイルの回復の基点となるチェックポイントが生成されたことが前記チェックポイントの識別情報とともに通知されたとき、前記キャッシュメモリに格納された上書き可能状態のジャーナルを、上書き不可状態に変更するジャーナル永続化部と、を備え、所定のタイミングに前記キャッシュメモリに格納されているデータを前記第1の記憶装置又は前記第2の記憶装置又は第3の記憶装置に反映させるための書き込みを行い、前記ジャーナル制御部は、前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記同アドレスに対応するジャーナルが、前記キャッシュメモリに既に存在し、かつ、上書き可能状態である場合には、前記新たに生成されたジャーナルを前記同アドレスに対応するジャーナルに上書きし、前記同アドレスに対応するジャーナルが、前記キャッシュメモリに存在しない場合、又は、上書き不可状態である場合には、前記新たに生成されたジャーナルを前記キャッシュメモリの新たな領域に格納し、前記計算機から前記チェックポイントが生成されたことを通知されたとき、前記ジャーナル永続化部による処理の後、前記生成されたチェックポイントの識別情報と対応させた上書き不可状態のジャーナルを生成して前記キャッシュメモリに格納し、前記計算機から前記チェックポイントの識別情報を含むリストア指示を受信したとき、前記受信したリストア指示に含まれるチェックポイントの識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記データベースファイルと前記制御ファイルを含む前記第1の記憶装置に格納されたデータを復元し、前記データベース管理システムは、前記チェックポイントが生成されたとき、前記生成されたチェックポイントの識別情報と対応付けて前記ログファイルにログを記録し、前記生成されたチェックポイントの識別情報を前記制御ファイルに記録し、前記チェックポイントが生成されたことを前記チェックポイントの識別情報とともに前記記憶装置システムに通知する管理部と、回復時点を含むリカバリ指示を受け付けたとき、前記リカバリ指示に含まれる回復時点に対応するログを前記ログファイルから検索し、前記検索された回復時点に対応するログが記録された時点よりも前に記録され、かつ、最も新しいチェックポイントの識別情報を含むログを取得し、前記取得されたログに含まれるチェックポイントの識別情報を前記リストア指示とともに前記記憶装置システムに送信するログ解析部と、前記記憶装置システムによって復元された制御ファイルに記録されたチェックポイントの識別情報に対応するログから前記回復時点に対応するログまでを、前記記憶装置システムによって復元されたデータベースファイルに適用するログ適用部と、を備えることを特徴とする情報処理システム。   (5) An information processing system having a computer that executes a database management system and a storage device system connected to the computer, wherein the storage device system controls an access request transmitted from the computer A first storage device, a second storage device, and a third storage device, wherein the first storage device stores data accessed by the database management system; A control file including control information of the database management system, and the second storage device stores a journal that is an update history of data stored in the first storage device, and the third storage device The storage device records a log that is generated by the database management system and is an update history of the database file The control unit includes a cache memory in which data and journals transmitted and received between the storage system and the computer are temporarily stored, and is stored in the first storage device. When receiving an update instruction for the updated data, a journal control unit that newly generates the journal as an overwritable state, and when receiving an update instruction for the data stored in the first storage device, A journal for determining whether or not a journal corresponding to the same address generated by updating data at the same address as the address where the data is stored already exists in the cache memory and is in an overwritable state. From the overwrite determination unit and the computer, a checkpoint serving as a recovery point of the database file A journal persistence unit that changes an overwritable state journal stored in the cache memory to a non-overwritable state when notified of the fact that the data has been generated together with the checkpoint identification information, Write to reflect the data stored in the cache memory at the timing in the first storage device, the second storage device, or the third storage device, and the journal control unit When the update instruction for the data stored in the storage device is received, if the journal corresponding to the same address already exists in the cache memory and is overwritable, the newly generated journal Is overwritten on the journal corresponding to the same address, and the journal corresponding to the same address If it does not exist in the cache memory, or if it cannot be overwritten, the newly generated journal is stored in a new area of the cache memory, and the computer notifies that the checkpoint has been generated. After the processing by the journal persistence unit, a non-overwriteable journal corresponding to the generated checkpoint identification information is generated and stored in the cache memory, and the checkpoint identification is performed from the computer. When a restore instruction including information is received, the database file and the journal are recorded using a journal recorded in the second storage device before the journal corresponding to the checkpoint identification information included in the received restore instruction. Data stored in the first storage device including the control file When the checkpoint is generated, the database management system records a log in the log file in association with the generated checkpoint identification information, and stores the generated checkpoint identification information. A management unit that records in the control file and notifies the storage device system together with the checkpoint identification information that the checkpoint has been generated, and is included in the recovery instruction when a recovery instruction including a recovery point is received A log corresponding to the recovery point to be searched is searched from the log file, and a log that is recorded before the time when the log corresponding to the searched recovery point is recorded and includes the identification information of the newest checkpoint is recorded. Obtaining the checkpoint identification information contained in the obtained log A log analysis unit that transmits to the storage device system together with a store instruction, and a log corresponding to the checkpoint identification information recorded in the control file restored by the storage device system to a log corresponding to the recovery time point, And a log application unit that applies the database file restored by the storage system.

(6)前記制御部は、前記計算機から前記チェックポイントが生成されたことを通知されたとき、前記キャッシュメモリに格納された上書き可能状態のジャーナルの量が所定の閾値以上であって、かつ、前記第2の記憶装置の空き容量が所定の閾値以上であるか否か、を判定するジャーナル永続化判定部と、前記ジャーナル永続化判定部による判定結果に基づいて、前記チェックポイント生成の通知を有効又は無効に設定するチェックポイント管理部と、をさらに備え、前記ジャーナル永続化部は、前記ジャーナル永続化判定部による判定結果に基づいて、前記キャッシュメモリに格納された上書き可能状態のジャーナルを上書き不可状態に変更し、前記ジャーナル制御部は、前記計算機から前記リストア指示を受信したとき、前記受信したリストア指示に含まれるチェックポイントの識別情報によって特定されるチェックポイント生成の通知が有効か否かを判定し、前記特定されたチェックポイント生成の通知が有効の場合には、前記受信したリストア指示に含まれるチェックポイントの識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元し、前記特定されたチェックポイント生成の通知が無効の場合には、前記特定されたチェックポイント生成の通知よりも前に受信し、かつ、最も新しい有効なチェックポイント生成の通知に対応するチェックポイントの識別情報を取得し、前記取得されたチェックポイントの識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元する、ことを特徴とする(5)に記載の情報処理システム。   (6) When the control unit is notified by the computer that the checkpoint has been generated, the amount of overwritable journals stored in the cache memory is equal to or greater than a predetermined threshold, and A journal persistence determination unit that determines whether or not the free capacity of the second storage device is greater than or equal to a predetermined threshold, and a notification of the checkpoint generation based on a determination result by the journal persistence determination unit A checkpoint management unit configured to enable or disable, and the journal persistence unit overwrites an overwritable journal stored in the cache memory based on a determination result by the journal persistence determination unit When the journal control unit receives the restore instruction from the computer, the journal control unit receives the restore instruction. It is determined whether or not the checkpoint generation notification specified by the checkpoint identification information included in the store instruction is valid, and if the specified checkpoint generation notification is valid, the received restore instruction Data stored in the first storage device is restored using a journal recorded in the second storage device before a journal corresponding to the identification information of the included checkpoint, and the specified checkpoint If the generation notification is invalid, the checkpoint identification information received prior to the specified checkpoint generation notification and corresponding to the latest valid checkpoint generation notification is obtained, and The journal recorded in the second storage device prior to the journal corresponding to the acquired checkpoint identification information. With Naru information processing system according to the first to restore the data stored in the storage device, and wherein the (5).

1 ホスト
2 記憶装置システム
3 管理端末
10 DBMS
11 トランザクション管理部
16 ログ解析部
17 ログ適用部
20 制御装置
21 キャッシュメモリ
23 ジャーナル制御部
24 記憶装置
25 ジャーナル取得記憶装置
26 ジャーナル記憶装置
30 DBファイル
31 制御ファイル
32 ログファイル
33 一時ファイル
200 ジャーナル上書き判定部
201 ジャーナル永続化部
202 ジャーナル設定部
300 ジャーナル永続化判定部
301 チェックポイント管理部
1 Host 2 Storage System 3 Management Terminal 10 DBMS
DESCRIPTION OF SYMBOLS 11 Transaction management part 16 Log analysis part 17 Log application part 20 Control apparatus 21 Cache memory 23 Journal control part 24 Storage apparatus 25 Journal acquisition storage apparatus 26 Journal storage apparatus 30 DB file 31 Control file 32 Log file 33 Temporary file 200 Journal overwriting determination Section 201 Journal persistence section 202 Journal setting section 300 Journal persistence determination section 301 Checkpoint management section

Claims (9)

計算機に接続される記憶装置システムであって、
前記記憶装置システムは、前記計算機から送信されるアクセス要求を処理する制御部と、データを格納する第1の記憶装置と、前記第1の記憶装置に格納されるデータの更新履歴であるジャーナルを格納する第2の記憶装置と、を備え、
前記制御部は、
前記記憶装置システムと前記計算機との間で送受信されるデータ及び前記ジャーナルが、一時的に格納されるキャッシュメモリを備え、
前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記ジャーナルを上書き可能状態として新たに生成するジャーナル制御部と、
前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記更新対象のデータが格納されたアドレスと同じアドレスのデータが更新されることによって生成された同アドレスに対応するジャーナルが、前記キャッシュメモリに既に存在し、かつ、上書き可能状態であるか否かを判定するジャーナル上書き判定部と、
前記計算機から、前記第1の記憶装置に格納されたデータの復元時点を特定する所定の識別情報を含む所定の指示を受信したとき、前記キャッシュメモリに格納された上書き可能状態のジャーナルを、上書き不可状態に変更するジャーナル永続化部と、を備え、
所定のタイミングに前記キャッシュメモリに格納されているデータを前記第1の記憶装置又は前記第2の記憶装置に反映させるための書き込みを行い、
前記ジャーナル制御部は、
前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記同アドレスに対応するジャーナルが、前記キャッシュメモリに既に存在し、かつ、上書き可能状態である場合には、前記新たに生成されたジャーナルを前記同アドレスに対応するジャーナルに上書きし、前記同アドレスに対応するジャーナルが、前記キャッシュメモリに存在しない場合、又は、上書き不可状態である場合には、前記新たに生成されたジャーナルを前記キャッシュメモリの新たな領域に格納し、
前記計算機から前記所定の指示を受信したとき、前記ジャーナル永続化部による処理の後、前記所定の指示に含まれる所定の識別情報と対応させた上書き不可状態のジャーナルを生成して前記キャッシュメモリに格納し、
前記計算機から前記所定の識別情報を含むリストア指示を受信したとき、前記受信したリストア指示に含まれる所定の識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元する、ことを特徴とする記憶装置システム。
A storage system connected to a computer,
The storage system includes a control unit that processes an access request transmitted from the computer, a first storage device that stores data, and a journal that is an update history of data stored in the first storage device. A second storage device for storing,
The controller is
The data transmitted and received between the storage system and the computer and the journal are provided with a cache memory for temporary storage,
A journal control unit that newly generates the journal as an overwritable state when receiving an update instruction for data stored in the first storage device;
When an update instruction for data stored in the first storage device is received, a journal corresponding to the same address generated by updating the data at the same address as the address where the update target data is stored A journal overwrite determination unit that determines whether or not the cache memory already exists and can be overwritten;
When a predetermined instruction including predetermined identification information for specifying a restoration time point of data stored in the first storage device is received from the computer, an overwritable journal stored in the cache memory is overwritten. A journal persistence unit that changes to a disabled state,
Write to reflect the data stored in the cache memory at a predetermined timing in the first storage device or the second storage device,
The journal control unit
When an update instruction for data stored in the first storage device is received, if a journal corresponding to the same address already exists in the cache memory and is overwritable, The generated journal is overwritten on the journal corresponding to the same address, and if the journal corresponding to the same address does not exist in the cache memory or is not overwritten, the newly generated journal is generated. Store the journal in a new area of the cache memory;
When the predetermined instruction is received from the computer, after the processing by the journal persistence unit, a journal in an overwritable state associated with the predetermined identification information included in the predetermined instruction is generated and stored in the cache memory. Store and
When a restore instruction including the predetermined identification information is received from the computer, a journal recorded in the second storage device before a journal corresponding to the predetermined identification information included in the received restore instruction is used. A storage system that restores data stored in the first storage device.
前記計算機は、データベース管理システムを実行し、
前記データベース管理システムは、
管理するデータを格納するデータベースを前記第1の記憶装置に配置し、
前記データベースの回復の基点となるチェックポイントを生成するとき、前記チェックポイントの識別情報を前記所定の識別情報として、前記所定の指示を前記記憶装置システムに送信し、
前記データベースを回復させるとき、前記チェックポイントの識別情報を前記所定の識別情報として、前記リストア指示を前記記憶装置システムに送信する、ことを特徴とする請求項1に記載の記憶装置システム。
The computer executes a database management system,
The database management system includes:
A database for storing data to be managed is disposed in the first storage device;
When generating a checkpoint serving as a recovery point of the database, the checkpoint identification information is used as the predetermined identification information, and the predetermined instruction is transmitted to the storage device system.
2. The storage device system according to claim 1, wherein when the database is restored, the restore instruction is transmitted to the storage device system using the identification information of the checkpoint as the predetermined identification information.
前記ジャーナル永続化部は、前記制御部によって前記所定のタイミングに前記キャッシュメモリに格納されたジャーナルが第2の記憶装置に書き込まれるとき、前記キャッシュメモリに格納されたジャーナルが上書き可能状態である場合には、前記キャッシュメモリに格納されたジャーナルを上書き不可状態に変更する、ことを特徴とする請求項1に記載の記憶装置システム。   When the journal stored in the cache memory is written to the second storage device at the predetermined timing by the control unit, the journal persistence unit is in a state where the journal stored in the cache memory is overwritable. The storage system according to claim 1, wherein the journal stored in the cache memory is changed to an overwritable state. 前記制御部は、前記記憶装置システムの機能を設定するジャーナル設定部を、さらに備え、
前記ジャーナル設定部は、
前記ジャーナル永続化部及び前記ジャーナル制御部の機能を、有効又は無効に設定する入力を受け付けるインタフェースを提供し、
前記ジャーナル永続化部及び前記ジャーナル制御部の機能を、有効又は無効とする、ことを特徴とする請求項1に記載の記憶装置システム。
The control unit further includes a journal setting unit for setting functions of the storage device system,
The journal setting unit
Providing an interface for accepting an input for setting the function of the journal persistence unit and the journal control unit to be valid or invalid;
The storage system according to claim 1, wherein the functions of the journal persistence unit and the journal control unit are enabled or disabled.
前記制御部は、
前記計算機から前記所定の指示を受信したとき、前記キャッシュメモリに格納された上書き可能状態のジャーナルの量が所定の閾値以上であって、かつ、前記第2の記憶装置の空き容量が所定の閾値以上であるか否か、を判定するジャーナル永続化判定部と、
前記ジャーナル永続化判定部による判定結果に基づいて、前記受信した所定の指示を有効又は無効に設定するチェックポイント管理部と、をさらに備え、
前記ジャーナル永続化部は、前記ジャーナル永続化判定部による判定結果に基づいて、前記キャッシュメモリに格納された上書き可能状態のジャーナルを上書き不可状態に変更し、
前記ジャーナル制御部は、前記計算機から前記リストア指示を受信したとき、前記受信したリストア指示に含まれる所定の識別情報によって特定される所定の指示が有効か否かを判定し、
前記特定された所定の指示が有効の場合には、前記受信したリストア指示に含まれる所定の識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元する、ことを特徴とする請求項1に記載の記憶装置システム。
The controller is
When the predetermined instruction is received from the computer, the amount of overwritable journals stored in the cache memory is greater than or equal to a predetermined threshold, and the free capacity of the second storage device is a predetermined threshold A journal persistence determination unit that determines whether or not the above is satisfied;
A checkpoint management unit that sets the received predetermined instruction to be valid or invalid based on a determination result by the journal persistence determination unit;
The journal persistence unit changes an overwritable state journal stored in the cache memory to an overwritable state based on a determination result by the journal persistence determination unit,
When the journal control unit receives the restore instruction from the computer, the journal control unit determines whether or not a predetermined instruction specified by the predetermined identification information included in the received restore instruction is valid,
When the specified predetermined instruction is valid, the journal stored in the second storage device prior to the journal corresponding to the predetermined identification information included in the received restore instruction is used. The storage device system according to claim 1, wherein the data stored in one storage device is restored.
前記制御部は、前記記憶装置システムの機能を設定するジャーナル設定部を、さらに備え、
前記ジャーナル設定部は、
前記ジャーナル永続化判定部の判定に用いる、前記キャッシュメモリに格納された上書き可能状態のジャーナルの量の閾値と、前記第2の記憶装置の空き容量の閾値と、の入力を受け付けるインタフェースを提供し、
前記キャッシュメモリにある上書き可能状態のジャーナルの量の閾値と、前記第2の記憶装置の空き容量の閾値と、を設定する、ことを特徴とする請求項5に記載の記憶装置システム。
The control unit further includes a journal setting unit for setting functions of the storage device system,
The journal setting unit
Provided is an interface for accepting input of a threshold value for the amount of overwritable journal stored in the cache memory and a threshold value for the free capacity of the second storage device, which are used for determination by the journal persistence determination unit. ,
6. The storage device system according to claim 5, wherein a threshold value for a journal amount in an overwritable state in the cache memory and a free space threshold value for the second storage device are set.
前記チェックポイント管理部は、受信済みの所定の指示に含まれる所定の識別情報、及び前記受信済みの所定の指示が有効又は無効であるか、を通知することを特徴とする請求項5に記載の記憶装置システム。   The said checkpoint management part notifies whether the predetermined | prescribed identification information contained in the received predetermined instruction | indication and the said received predetermined instruction | indication are effective or invalid. Storage system. 前記制御部は、前記記憶装置システムの機能を設定するジャーナル設定部を、さらに備え、
前記ジャーナル設定部は、
前記ジャーナル永続化判定部及び前記チェックポイント管理部の機能を、有効又は無効とする入力を受け付けるインタフェースを提供し、
前記ジャーナル永続化判定部及び前記チェックポイント管理部の機能を、有効又は無効に設定する、ことを特徴とする請求項5に記載の記憶装置システム。
The control unit further includes a journal setting unit for setting functions of the storage device system,
The journal setting unit
Providing an interface for accepting an input for enabling or disabling the functions of the journal persistence determination unit and the checkpoint management unit;
6. The storage system according to claim 5, wherein the functions of the journal persistence determination unit and the checkpoint management unit are set to be valid or invalid.
計算機に接続され、第1の記憶装置と、第1の記憶装置に格納されたデータの更新履歴であるジャーナルを格納する第2の記憶装置と、前記計算機との間で送受信されるデータ又は前記ジャーナルが一時的に格納されるキャッシュメモリと、を有する記憶装置システムにおけるデータ回復方法であって、
前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記ジャーナルを上書き可能状態として新たに生成し、
前記第1の記憶装置に格納されたデータに対する更新指示を受信したとき、前記更新対象のデータが格納されたアドレスと同じアドレスのデータが更新されることによって生成された同アドレスに対応するジャーナルが、前記キャッシュメモリに既に存在し、かつ、上書き可能状態である場合には、前記新たに生成されたジャーナルを前記同アドレスに対応するジャーナルに上書きし、前記同アドレスに対応するジャーナルが、前記キャッシュメモリに存在しない場合、又は、上書き不可状態である場合には、前記新たに生成されたジャーナルを前記キャッシュメモリの新たな領域に格納し、
前記計算機から、前記第1の記憶装置に格納されたデータの復元時点を特定する所定の識別情報を含む所定の指示を受信したとき、前記キャッシュメモリに格納された上書き可能状態のジャーナルを上書き不可状態に変更し、前記所定の指示に含まれる所定の識別情報と対応させた上書き不可状態のジャーナルを生成して前記キャッシュメモリに格納し、
所定のタイミングに前記キャッシュメモリに格納されているデータを前記第1の記憶装置又は前記第2の記憶装置に反映させるための書き込みを行い、
前記計算機から前記所定の識別情報を含むリストア指示を受信したとき、前記受信したリストア指示に含まれる所定の識別情報に対応するジャーナルより前に前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元する、ことを特徴とするデータ回復方法。
Data transmitted / received between the computer connected to the computer, the first storage device, a second storage device storing a journal that is an update history of the data stored in the first storage device, and the computer A data recovery method in a storage system having a cache memory in which a journal is temporarily stored,
When the update instruction for the data stored in the first storage device is received, the journal is newly generated as an overwritable state,
When an update instruction for data stored in the first storage device is received, a journal corresponding to the same address generated by updating the data at the same address as the address where the update target data is stored When the cache memory already exists and is overwritable, the newly generated journal is overwritten on the journal corresponding to the same address, and the journal corresponding to the same address is stored in the cache. If it does not exist in the memory, or if it cannot be overwritten, the newly generated journal is stored in a new area of the cache memory,
When a predetermined instruction including predetermined identification information for specifying a restoration time point of data stored in the first storage device is received from the computer, an overwritable journal stored in the cache memory cannot be overwritten. Change to a state, generate a journal in a non-overwriteable state corresponding to the predetermined identification information included in the predetermined instruction and store it in the cache memory;
Write to reflect the data stored in the cache memory at a predetermined timing in the first storage device or the second storage device,
When a restore instruction including the predetermined identification information is received from the computer, a journal recorded in the second storage device before a journal corresponding to the predetermined identification information included in the received restore instruction is used. A data recovery method for restoring data stored in the first storage device.
JP2011220167A 2011-10-04 2011-10-04 Storage device system and data recovery method Expired - Fee Related JP5291166B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011220167A JP5291166B2 (en) 2011-10-04 2011-10-04 Storage device system and data recovery method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011220167A JP5291166B2 (en) 2011-10-04 2011-10-04 Storage device system and data recovery method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006254067A Division JP4859605B2 (en) 2006-09-20 2006-09-20 Information processing system

Publications (2)

Publication Number Publication Date
JP2012014735A true JP2012014735A (en) 2012-01-19
JP5291166B2 JP5291166B2 (en) 2013-09-18

Family

ID=45600996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011220167A Expired - Fee Related JP5291166B2 (en) 2011-10-04 2011-10-04 Storage device system and data recovery method

Country Status (1)

Country Link
JP (1) JP5291166B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101474843B1 (en) * 2012-12-26 2014-12-19 이화여자대학교 산학협력단 Buffer cache apparatus, journaling file system and journaling method for incorporating journaling features within non-volatile buffer cache
KR20150038290A (en) * 2012-09-28 2015-04-08 애플 인크. Flash translation layer (FTL) database journaling schemes
US10152416B2 (en) 2013-03-29 2018-12-11 Ewha University-Industry Collaboration Foundation Buffer cache apparatus, journaling file system and journaling method for incorporating journaling features within non-volatile buffer cache
US10776044B2 (en) 2018-04-26 2020-09-15 Hitachi, Ltd. Storage apparatus, data management method, and non-transitory computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230342A (en) * 1988-11-17 1990-09-12 Nec Corp Establishment processing system for still point of data base
JPH04130936A (en) * 1990-09-21 1992-05-01 Nec Corp Control system for simultaneous access to file
JPH09282211A (en) * 1996-04-08 1997-10-31 Nec Corp System for sampling journal after updating
JP2004252686A (en) * 2003-02-20 2004-09-09 Hitachi Ltd Information processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230342A (en) * 1988-11-17 1990-09-12 Nec Corp Establishment processing system for still point of data base
JPH04130936A (en) * 1990-09-21 1992-05-01 Nec Corp Control system for simultaneous access to file
JPH09282211A (en) * 1996-04-08 1997-10-31 Nec Corp System for sampling journal after updating
JP2004252686A (en) * 2003-02-20 2004-09-09 Hitachi Ltd Information processing system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150038290A (en) * 2012-09-28 2015-04-08 애플 인크. Flash translation layer (FTL) database journaling schemes
KR101579711B1 (en) * 2012-09-28 2015-12-22 애플 인크. Flash translation layer (FTL) database journaling schemes
KR101474843B1 (en) * 2012-12-26 2014-12-19 이화여자대학교 산학협력단 Buffer cache apparatus, journaling file system and journaling method for incorporating journaling features within non-volatile buffer cache
US10152416B2 (en) 2013-03-29 2018-12-11 Ewha University-Industry Collaboration Foundation Buffer cache apparatus, journaling file system and journaling method for incorporating journaling features within non-volatile buffer cache
US10776044B2 (en) 2018-04-26 2020-09-15 Hitachi, Ltd. Storage apparatus, data management method, and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP5291166B2 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
JP4859605B2 (en) Information processing system
US11157370B2 (en) Consistent backup of a distributed database system
US7865678B2 (en) Remote copy system maintaining consistency
US8024292B2 (en) Creation of a single snapshot using a server job request
US7716185B2 (en) Creation of a single client snapshot using a client utility
US7549028B2 (en) Backup and restore operations using a single snapshot driven by a server job request
US7523278B2 (en) Backup and restore operations using a single snapshot
JP4800056B2 (en) Storage system and control method thereof
US8001344B2 (en) Storage control apparatus, storage control program, and storage control method
JP5124989B2 (en) Storage system and data protection method and program
EP2161661B1 (en) Computer system and backup method therefor
US9927980B1 (en) Accessing point in time versions of a logical device in connection with I/O operations
US7640276B2 (en) Backup system, program and backup method
JP4152373B2 (en) A system that maintains the integrity of logical objects in a remote mirror cache
US20080027998A1 (en) Method and apparatus of continuous data protection for NAS
JP2007226347A (en) Computer system, management device for computer system, and data recovery management method
CN104040481A (en) Method Of And System For Merging, Storing And Retrieving Incremental Backup Data
JP2008225616A (en) Storage system, remote copy system and data restoration method
JP6133396B2 (en) Computer system, server, and data management method
JP5291166B2 (en) Storage device system and data recovery method
JP2008033527A (en) Storage device, disk device and data restoring method
US8677088B1 (en) Systems and methods for recovering primary sites after failovers to remote secondary sites
US11809385B1 (en) Efficient data backup in a distributed storage system
WO2007002795A2 (en) Creation of a single client snapshot using a client utility

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130530

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130606

R150 Certificate of patent or registration of utility model

Ref document number: 5291166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees