JP5222171B2 - Database management method and database management system - Google Patents
Database management method and database management system Download PDFInfo
- Publication number
- JP5222171B2 JP5222171B2 JP2009022267A JP2009022267A JP5222171B2 JP 5222171 B2 JP5222171 B2 JP 5222171B2 JP 2009022267 A JP2009022267 A JP 2009022267A JP 2009022267 A JP2009022267 A JP 2009022267A JP 5222171 B2 JP5222171 B2 JP 5222171B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- backup
- database management
- processing
- database
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データベース管理方法およびデータベース管理システムの技術に関する。 The present invention relates to a technology of the database management method and database management systems.
情報化社会の発展に伴い、多くの企業がデータベースを含むシステムを利用し、様々なオンラインサービスを提供している。例えば、銀行のATM(Automated Teller Machine)や航空券の販売システムがオンラインサービスの例として挙げられる。近年、企業間競争がますます激化する状況下で、各企業はオンラインサービス時間の拡大や、オンラインサービス内容の拡充等を行い他企業との差別化を図っている。 With the development of the information society, many companies provide various online services using systems including databases. For example, bank ATMs (Automated Teller Machines) and air ticket sales systems are examples of online services. In recent years, competition between companies has been intensifying, and each company has been trying to differentiate itself from other companies by expanding online service hours and expanding online service content.
オンラインサービスのシステムを構築する際は、多種多様なハードウェアやミドルウェアを組み合わせることが多い。この場合、各ソフトウェアとハードウェアに対する保守とシステム全体に対する保守が必要となり、システム管理コストは非常に大きい。システム管理コストは、システム稼動中常に発生するコストのため、システム管理コストを削減して利益を確保することは、企業間競争を勝ち抜く上で重要となる。そのため、オンラインサービスの時間外の時間帯を有効活用することにより、システムを有効活用し、システム管理コストに見合った成果を得ることが期待できる(非特許文献1などを参照)。
When constructing an online service system, various hardware and middleware are often combined. In this case, maintenance for each software and hardware and maintenance for the entire system are necessary, and the system management cost is very high. Since system management costs are always incurred during system operation, it is important to reduce system management costs and secure profits in order to win competition between companies. For this reason, it is expected that the system can be effectively used by effectively utilizing the time zone outside the online service, and an outcome corresponding to the system management cost can be obtained (see Non-Patent
データベース管理システムでは、オンライン業務によって蓄積されたデータをバッチ処理として一括処理することによって統計情報などを生成し、生成された統計情報を経営判断などに利用することがある。統計情報を生成するようなバッチ処理では、大量にデータにアクセスする必要があり、バッチ処理の実行中にはシステム負荷が増大しやすい。 In a database management system, statistical information or the like may be generated by batch processing data accumulated through online operations as a batch process, and the generated statistical information may be used for management decisions. In batch processing that generates statistical information, it is necessary to access a large amount of data, and the system load tends to increase during the execution of batch processing.
特に、ディスクドライブなどの外部記憶媒体にデータが格納されている場合には、データの入出力による負荷が大きくなる。このため、バッチ処理は負荷が比較的小さくオンラインサービス時間外である夜間などに実行される場合が多い。従来では、運用更新の有無にかかわらず、バッチ処理時のデータ全てをバックアップしていた。 In particular, when data is stored in an external storage medium such as a disk drive, the load due to data input / output increases. For this reason, batch processing is often executed at night when the load is relatively small and outside the online service time. Conventionally, all data at the time of batch processing is backed up regardless of whether or not there is an operation update.
オンラインサービスの拡充やオンラインサービス利用者の増加に伴うデータ処理量の増加により、バッチ処理時間は長くなる傾向にある。しかし、各企業はオンラインサービス時間を拡大しており、バッチ処理に割り当てられる時間は短くなっている。よって、バッチ処理時間の短縮化が望まれている。 The batch processing time tends to be longer due to the increase in data processing amount accompanying the expansion of online services and the increase in online service users. However, each company has expanded online service time, and the time allocated for batch processing has become shorter. Therefore, shortening of the batch processing time is desired.
次に、データベース管理システムにおけるバッチ処理の運用について、横軸を時間軸とするガントチャート形式の説明図(図12,図13)をもとに、説明する。
図12は、非特許文献1に開示されている、バッチ処理b1とバッチ処理b2および各バッチ処理に対するバックアップ処理(c1,c2)を示す説明図である。複数のバッチ処理を実行する際、障害に備えて各バッチ処理終了時点(t1、t3)のデータベースのデータ内容をバックアップ処理(c1、c2)する。
Next, the operation of batch processing in the database management system will be described with reference to explanatory diagrams (FIGS. 12 and 13) in a Gantt chart format with the horizontal axis as the time axis.
FIG. 12 is an explanatory diagram showing the batch process b1, the batch process b2, and the backup process (c1, c2) for each batch process disclosed in
ここで、各バッチ処理を実行する際の外部記憶装置との入出力によるシステム負荷が非常に大きい。このシステム負荷を低減するため、外部記憶媒体に格納されたデータをメモリ上に記憶させ、メモリ上のデータを読み書きすることによって処理の高速化を図る処理(以後インメモリデータ処理と呼ぶ)を考える。インメモリデータ処理では、外部記憶装置にアクセスする必要がないため、システム負荷低減に大きな効果を得ることができる。 Here, the system load due to input / output with the external storage device when executing each batch process is very large. In order to reduce this system load, a process (hereinafter referred to as in-memory data processing) is considered in which the data stored in the external storage medium is stored in the memory, and the processing speed is increased by reading / writing the data on the memory. . In-memory data processing does not require access to an external storage device, so that a great effect can be obtained in reducing the system load.
図13は、インメモリデータ処理の一例を示す説明図である。
時刻t0〜t1において、外部記憶媒体からデータを読み出してメモリに記憶するロード処理(インメモリ化とも呼ぶ)を実行する。
時刻t1〜t2において、ロード処理がなされたメモリ上のデータに対して、読み書きすることで、バッチ処理b1を実行する。
時刻t2〜t3において、バッチ処理(b1)の処理結果であるメモリ上のデータを、外部記憶媒体に書き出す処理であるバックアップ処理(c1)を実行する。
時刻t3〜t5においても、同様に、バッチ処理(b2)と、そのバックアップ処理(c2)を実行する。
時刻t5〜t6において、DB同期処理として、メモリからデータを読み出して外部記憶媒体に記憶する。
FIG. 13 is an explanatory diagram showing an example of in-memory data processing.
At time t0 to t1, load processing (also referred to as in-memory) for reading data from the external storage medium and storing it in the memory is executed.
At time t1 to t2, the batch process b1 is executed by reading and writing data on the memory on which the load process has been performed.
At times t2 to t3, backup processing (c1), which is processing for writing data on the memory, which is the processing result of batch processing (b1), to an external storage medium is executed.
Similarly, at times t3 to t5, batch processing (b2) and backup processing (c2) are executed.
At times t5 to t6, as DB synchronization processing, data is read from the memory and stored in the external storage medium.
ここで、時刻t5〜t6のDB同期処理が終了するまでは、外部記憶媒体を更新することはできないように制御する必要がある。この待ち時間により、バッチ処理に関する全体時間(時刻t0〜t6)が増大してしまう。 Here, it is necessary to perform control so that the external storage medium cannot be updated until the DB synchronization processing at times t5 to t6 is completed. This waiting time increases the overall time (time t0 to t6) related to batch processing.
そこで、本発明は、前記した問題を解決し、データベース管理システムにおいてデータの同期化に関する処理時間を短縮することを、主な目的とする。 SUMMARY OF THE INVENTION Accordingly, it is a main object of the present invention to solve the above-described problems and to shorten processing time related to data synchronization in a database management system.
前記課題を解決するために、本発明は、記憶装置に格納されたデータベースのデータを管理するとともにメモリを有するデータベース管理装置を備えるデータベース管理システムにおけるデータベース管理方法であって、
前記データベース管理装置が、
前記記憶装置に格納されたデータベースのデータを前記メモリに読み込むロード処理を実行し、
前記ロード処理されたデータに対して、受け付けたアクセス要求を解析し、前記アクセス要求の解析の結果に応じてバッチ処理を実行し、
前記バッチ処理で処理された前記メモリに更新される前記データを、前記バッチ処理の実行後にバックアップデータとしてバックアップ装置に書き出すバックアップ処理を実行し、
前記バックアップ装置が、
前記バックアップデータが複数回格納される毎に前記データベース管理装置から出される指示に応じて、前記格納された前記バックアップデータを、前記記憶装置に格納されるデータベースのデータに反映することで、前記メモリ上のデータと前記記憶装置に格納されるデータとを同一化する同期化処理を実行し、
前記データベース管理装置により新たに前記バッチ処理を行う際には、そのバッチ処理と、そのバッチ処理より前に実行された別のバッチ処理に対して前記バックアップ処理された前記バックアップデータを対象として前記バックアップ装置により実行される前記同期化処理とが、並行処理されることを特徴とする。
その他の手段は、後記する。
The problem to solve, the present invention provides a database management method in a database management system having a database management system having a memory manages the data stored in the storage device a database,
The database management apparatus,
Executing a load process for reading the data of the database stored in the storage device into the memory;
Wherein for the load processed data, analyzes the access request received, it performs batch processing according to the result of the analysis of the access request,
The data that is updated in the memory that has been processed by said batch processing, performs the backup process to write to the backup device as backup data after the execution of the batch process,
The backup device is
In response to an instruction issued from the database management device every time the backup data is stored a plurality of times, the stored backup data is reflected in the data of the database stored in the storage device. A synchronization process for making the above data and the data stored in the storage device identical,
When the database management device newly performs the batch processing , the backup is performed on the backup data that has been backed up with respect to the batch processing and another batch processing executed before the batch processing . and wherein the synchronization process executed by the device, characterized in Rukoto is parallel processing.
Other means will be described later.
本発明によれば、データベース管理システムにおいてデータの同期化に関する処理時間を短縮することができる。 According to the present invention, it is possible to shorten the processing time related to data synchronization in a database management system.
以下、本発明が適用されるデータベース管理システムの一実施形態について、図面を参照しながら説明する。 Hereinafter, an embodiment of a database management system to which the present invention is applied will be described with reference to the drawings.
図1は、データベース管理システムの構成を示す構成図である。データベース管理システムは、データベース管理装置1、ストレージ装置5、端末7、および、バックアップ装置8が、ネットワーク6を通じて互いに接続されるシステムである。
FIG. 1 is a configuration diagram showing the configuration of the database management system. The database management system is a system in which a
データベース管理装置1は、プロセッサ1a、メモリ1b、および、他装置と通信するためのインタフェース1cを備えるコンピュータとして構成される。プロセッサ1aは、メモリ1bに記憶されたプログラムを処理することによって、各種処理を実行するための処理部を構成する。
メモリ1bには、DB業務処理部10と、DB運用処理部20と、を構成するためのプログラムが記憶される。DB業務処理部10は、オンライン要求解析部11と、オンライン処理部12と、バッチ要求解析部13と、バッチ処理部14と、を含めて構成される。DB運用処理部20は、DBロード処理部21と、DBバックアップ処理部22と、DB同期化指示部23と、DB回復処理部24と、を含めて構成される。これらの各処理部の詳細は、後記する。
メモリ1bには、データとしてインメモリデータバッファ15、および、更新管理テーブル16が記憶される。インメモリデータバッファ15は、データベース52のデータ内容をロード処理92(図2参照)するときの、データの格納先である。更新管理テーブル16は、ロード処理92されたデータベース52のデータ内容からの更新内容を、管理するテーブルである。
The
The memory 1b stores a program for configuring the DB
The memory 1b stores an in-
ストレージ装置5は、データベース管理装置1によって管理されるデータを、自装置内の記憶装置51のデータベース52に格納する。なお、ストレージ装置5は、データベース52を記憶する記憶媒体について、HDD(Hard disk drive)やSSD(Solid State Drive)などの記憶媒体が内蔵されている記憶装置51として構成してもよいし、読み書き可能なDVD(Digital Versatile Disc)ドライブなどの記憶媒体が着脱可能な記憶装置51として構成してもよい。
The
バックアップ装置8は、例えば、ストレージ装置であるが、データベース管理装置1に直接接続された外部記憶媒体であってもよいし、テープデバイスなどであってもよい。バックアップ装置8は、データベース管理装置1によって管理されるインメモリデータバッファ15のデータのフルバックアップデータ82aおよび差分バックアップデータ82bを記憶装置81に格納する。フルバックアップデータ82aは、インメモリデータバッファ15の全部のデータを格納するデータであり、差分バックアップデータ82bは、インメモリデータバッファ15の一部のデータ(更新されたデータ)を格納するデータである。
The backup device 8 is, for example, a storage device, but may be an external storage medium directly connected to the
さらに、バックアップ装置8は、DB同期化処理部83を有する。DB同期化処理部83は、差分バックアップデータ82bをデータベース52に差分更新(いわゆるパッチの適用)することで、インメモリデータバッファ15と、データベース52とのデータの同一化状態(同期化状態)を実現する。なお、差分更新処理の契機は、1回の更新が発生するたびに実行してもよいし、複数回の更新をためておいてから、まとめて実行してもよい。
このように、バックアップ装置8のバックアップデータからストレージ装置5の差分更新処理を実行することにより、データベース管理装置1の負荷を軽減することができる。
Further, the backup device 8 has a DB synchronization processing unit 83. The DB synchronization processing unit 83 differentially updates the differential backup data 82b to the database 52 (application of a so-called patch), thereby changing the data identification state (synchronization state) between the in-
Thus, by executing the differential update process of the
端末7は、ユーザからの入力を受け付ける入力手段などを介して、業務処理を実行するための処理要求を受け付ける。業務処理は、主に営業時間内に実行されるオンライン処理91(図2参照)と、主に営業時間外に実行されるバッチ処理93(図2参照)と、に分類される。
オンライン処理91と、バッチ処理93との主な違いは、データのアクセス先である。オンライン処理91では、ストレージ装置5のデータベース52に対してデータアクセスを実行する。バッチ処理93では、データベース管理装置1のインメモリデータバッファ15に対して高速にデータアクセスを実行する。
The
The main difference between the
データベース管理装置1は、各データベース(データベース52、インメモリデータバッファ15、記憶装置81のデータ)に格納されたデータを管理するとともに、端末7からのデータのアクセス要求を受け、管理対象のデータの読み書きを制御する。
まず、オンライン処理91を実行するために、端末7は、データベース管理装置1との間にトランザクションを設ける。オンライン処理実行の過程でストレージ装置5のデータベース52へのデータアクセスが必要になると、そのトランザクションを介して、データベース管理装置1にデータのアクセス要求を送信する。アクセス要求は、例えば、SQL(Structured Query Language)の文法に従って、記述される。
The
First, in order to execute the
アクセス要求を受けたデータベース管理装置1のオンライン要求解析部11は、そのアクセス要求を構文解析して、その結果をオンライン処理部12に通知する。オンライン処理部12は、ストレージ装置5のデータベース52に対して、アクセス要求が示すデータアクセスの内容を処理する。
The online request analysis unit 11 of the
一方、バッチ処理93を実行するために、端末7は、データベース管理装置1にデータのアクセス要求などを送信する。アクセス要求を受けたデータベース管理装置1のバッチ要求解析部13は、そのアクセス要求を構文解析して、その結果をバッチ処理部14に通知する。バッチ処理部14は、自装置のインメモリデータバッファ15に対して、アクセス要求が示すデータアクセスの内容を処理する。このインメモリデータバッファ15へのデータアクセスは、自装置内で完結し、かつ、メモリ装置という高速なアクセスメディアを使用するため、一般的に、ストレージ装置5のデータベース52に対するデータアクセスよりも、高速なアクセスが期待できる。
On the other hand, in order to execute the
DB運用処理部20は、端末7などによって送信された、データベースの運用管理に関する各種要求を受け付ける。各種要求とは、例えば、ロード処理要求、バックアップ処理要求、同期化処理要求、および、回復処理要求が挙げられる。
DBロード処理部21は、データベース52のデータ内容をインメモリデータバッファ15に読み込むための「ロード処理要求」を処理する。
DBバックアップ処理部22は、インメモリデータバッファ15の更新内容を差分バックアップデータ82bに書き出すための「バックアップ処理要求」を処理する。
DB同期化指示部23は、差分バックアップデータ82bをデータベース52に差分更新する指示をDB同期化処理部83に与えるための「同期化処理要求」を処理する。
DB回復処理部24は、インメモリデータバッファ15のデータ内容について、データベース52、フルバックアップデータ82a、および、差分バックアップデータ82bのうちの少なくとも1つのデータから回復するための「回復処理要求」を処理する。
The DB
The DB load processing unit 21 processes a “load processing request” for reading the data contents of the
The DB backup processing unit 22 processes a “backup processing request” for writing the updated contents of the in-
The DB synchronization instruction unit 23 processes a “synchronization processing request” for giving the DB synchronization processing unit 83 an instruction to update the differential backup data 82 b to the
The DB recovery processing unit 24 processes a “recovery processing request” for recovering from at least one of the
図2は、データベース管理システムの処理について、主なデータの流れを示す説明図である。
業務処理のオンライン処理91は、端末7からのアクセス要求をデータベース52に反映する処理であり、オンライン処理部12によって実行される。
ロード処理92(インメモリ化処理)は、オンライン処理91されたデータベース52のデータ内容をインメモリデータバッファ15にそのまま読み込む処理であり、DBロード処理部21によって実行される。
業務処理のバッチ処理93は、端末7からのアクセス要求をロード処理92されたインメモリデータバッファ15に反映する処理であり、バッチ処理部14によって実行される。
FIG. 2 is an explanatory diagram showing the main data flow in the processing of the database management system.
The
The load process 92 (in-memory process) is a process for reading the data contents of the
The business
バックアップ処理94(差分データ送信処理)は、インメモリデータバッファ15のデータ内容のうちのバッチ処理93によって更新された差分データを、差分バックアップデータ82bとして書き出す処理であり、DBバックアップ処理部22によって実行される。
同期化処理95(差分データ反映処理)は、バックアップ処理94された差分バックアップデータ82bをデータベース52に反映する処理であり、DB同期化指示部23の指示を受けたDB同期化処理部83によって実行される。
回復処理96は、障害などでインメモリデータバッファ15のデータ内容が消失したときに、バックアップ処理94された差分バックアップデータ82bなどをもとに、インメモリデータバッファ15のデータ内容を回復する処理であり、DB回復処理部24によって実行される。
The backup process 94 (difference data transmission process) is a process of writing the difference data updated by the
The synchronization process 95 (difference data reflection process) is a process for reflecting the differential backup data 82b subjected to the
The
図3は、図2で説明した各処理の実行順序を示す説明図である。なお、この説明図は、横軸を時間軸とするガントチャート形式で記述しており、縦方向には、各処理を実線矢印または点線矢印で示している。各処理の実行順序について、適宜図4〜図7を参照しつつ、説明する。 FIG. 3 is an explanatory diagram showing the execution order of the processes described in FIG. This explanatory diagram is described in a Gantt chart format with the horizontal axis as the time axis, and in the vertical direction, each process is indicated by a solid line arrow or a dotted line arrow. The execution order of each process will be described with reference to FIGS. 4 to 7 as appropriate.
時刻t0までに実行されるオンライン処理91(O1)は、オンライン処理部12が営業時間内に実行する処理であり、その処理結果がデータベース52に書き込まれる。なお、図中の各データ構造の内部に記載されている「(O1)」などの表記は、そのデータ構造がどの処理の結果であるかを示す。
The online processing 91 (O1) executed up to time t0 is processing executed by the
時刻t0〜時刻t1に実行されるバックアップ処理(O1)は、DBバックアップ処理部22が、オンライン処理91(O1)の結果であるデータ内容を、データベース52からフルバックアップデータ82aへと書き出す処理である。例えば、図4では、ページID=1〜8のデータが、すべて書き出されている。
なお、インメモリデータバッファ15、フルバックアップデータ82a、および、差分バックアップデータ82b(図5参照)は、それぞれデータベースのデータ内容が記憶される記憶領域であり、ページ単位でそのページを特定する「ページID」と、その「ページ内容」とを対応づけて管理する。ここで、図4では、ページ内容として1ページに1つの整数値(例えば「50」)としたが、これはあくまで説明用の一例であり、実際には1ページには固定長または可変長のデータベースが扱う各種データ(バイナリデータ、テキストデータなど)が記憶される。また、更新管理テーブル16は、インメモリデータバッファ15の各ページについての更新の有無を示す「フラグ」を格納する。
The backup process (O1) executed at time t0 to time t1 is a process in which the DB backup processing unit 22 writes the data content as a result of the online process 91 (O1) from the
The in-
時刻t1〜時刻t2に実行されるロード処理92(O1)は、DBロード処理部21が、オンライン処理91(O1)の結果であるデータ内容を、データベース52からインメモリデータバッファ15へと読み出す処理である。例えば、図4では、ページID=1〜8のデータが、すべて読み出されている。このインメモリデータバッファ15へのロード処理92に伴い、DBロード処理部21は、更新管理テーブル16のフラグをすべて「未更新」に初期化する(図4参照)。
The load process 92 (O1) executed from time t1 to time t2 is a process in which the DB load processing unit 21 reads the data content as a result of the online process 91 (O1) from the
時刻t2〜時刻t3に実行されるバッチ処理93(B1)は、バッチ処理部14が、端末7からのアクセス要求のバッチ要求解析部13による解析結果を受けて、インメモリデータバッファ15のデータ内容を更新する処理である。例えば、図5では、ページID=P2,P4,P5,P7の4つのページが、バッチ処理93により更新されている。バッチ処理部14は、ページの更新に伴い、更新管理テーブル16の更新されたページに該当するフラグを「更新」へと変更する。
In the batch process 93 (B1) executed from time t2 to time t3, the
時刻t3〜時刻t4に実行されるバックアップ処理94(B1)は、DBバックアップ処理部22が、バッチ処理93(B1)によるインメモリデータバッファ15の更新内容を、差分バックアップデータ82bに書き出す処理である。例えば、図5では、更新されたページID=P2,P4,P5,P7の4つのページのページ内容が、差分バックアップデータ82bへと書き出されている。
The backup process 94 (B1) executed from time t3 to time t4 is a process in which the DB backup processing unit 22 writes the updated contents of the in-
時刻t4〜時刻t5に実行される同期化処理95(B1)は、DB同期化指示部23およびDB同期化処理部83が、バッチ処理93(B1)の差分バックアップデータ82bを、オンライン処理91(O1)の結果であるデータベース52のデータ内容に反映する処理である。例えば、図6では、ページID=P2,P4,P5,P7の4つのページのページ内容が、データベース52へと反映されている。
In the synchronization process 95 (B1) executed from time t4 to time t5, the DB synchronization instruction unit 23 and the DB synchronization processing unit 83 use the online backup 91 (B1) to store the differential backup data 82b of the batch process 93 (B1). This is a process of reflecting the data contents of the
時刻t4〜時刻t6に実行されるバッチ処理93(B2)は、バッチ処理部14が、インメモリデータバッファ15のデータ内容を更新する処理である。例えば、図5では、ページID=P5,P7,P8の3つのページが、バッチ処理93(B2)により更新されている。バッチ処理部14は、ページの更新に伴い、更新管理テーブル16の更新されたページに該当するフラグを「更新」へと変更する。
Batch processing 93 (B2) executed from time t4 to time t6 is processing in which the
ここで、図6を参照すると、同期化処理95(B1)と、バッチ処理93(B2)とは、互いにデータアクセスする対象となるデータが異なるため、データ衝突が発生せず、並行処理が可能である。つまり、同期化処理95(B1)と、バッチ処理93(B2)とを互いに時刻t4を起点とする並行処理をすることにより、この両処理を並行処理せずに直列に処理する方式と比べ、処理時間の総和を短縮することができる。 Here, referring to FIG. 6, the synchronization processing 95 (B1) and the batch processing 93 (B2) are different in data to be accessed from each other, so that data collision does not occur and parallel processing is possible. It is. In other words, the synchronization process 95 (B1) and the batch process 93 (B2) are processed in parallel with each other starting from time t4, so that both processes are processed in series without parallel processing. The total processing time can be shortened.
時刻t6〜時刻t7に実行されるバックアップ処理94(B2)は、DBバックアップ処理部22が、バッチ処理93(B2)によるインメモリデータバッファ15の更新内容を、差分バックアップデータ82bに書き出す処理である。例えば、図6では、更新されたページID=P5,P7,P8の3つのページのページ内容が、差分バックアップデータ82bへと書き出されている。
The backup process 94 (B2) executed from time t6 to time t7 is a process in which the DB backup processing unit 22 writes the updated contents of the in-
時刻t7〜時刻t8に実行される同期化処理95(B2)は、DB同期化指示部23およびDB同期化処理部83が、バッチ処理93(B2)の差分バックアップデータ82bを、バッチ処理93(B1)の結果であるデータベース52のデータ内容に反映する処理である。例えば、図7では、ページID=P5,P7,P8の3つのページのページ内容が、データベース52へと反映されている。
In the synchronization process 95 (B2) executed from time t7 to time t8, the DB synchronization instructing unit 23 and the DB synchronization processing unit 83 store the differential backup data 82b of the batch process 93 (B2) in the batch process 93 ( This is a process of reflecting the data content of the
時刻t8から実行されるオンライン処理91(O2)は、オンライン処理部12が営業時間内に実行する処理であり、その処理結果がデータベース52に書き込まれる。
Online processing 91 (O2) executed from time t8 is processing executed by the
なお、図6、図7を参照すると、差分バックアップデータ82bは、バッチ処理93(B1,B2)ごとに作成されている。よって、DB同期化処理部83は、複数のバッチ処理93に対応する差分バックアップデータ82bを比較し、更新が互いに重複するページ(例えば、ページID=P5,P7)を発見したときには、データの上書きの発生を抑制するために、時間帯が前に該当するページの更新(例えば、P5=40,P7=10)を省略してもよい。 6 and 7, the differential backup data 82b is created for each batch process 93 (B1, B2). Therefore, the DB synchronization processing unit 83 compares the differential backup data 82b corresponding to a plurality of batch processes 93, and when it finds a page in which the updates overlap (for example, page ID = P5, P7), it overwrites the data. In order to suppress the occurrence of this, updating of the page corresponding to the previous time zone (for example, P5 = 40, P7 = 10) may be omitted.
図8は、データ回復処理96の概要を示す説明図である。この説明図は、図3と同様に、横軸を時間軸とするガントチャート形式で記述される。図8の時刻t0〜t5の時間帯での処理は、図3と同じである。
FIG. 8 is an explanatory diagram showing an outline of the
時刻t12において、バッチ処理93(B2)を実行しているときに、そのバッチ処理93(B2)に障害が発生する。DBバックアップ処理部22は、オンライン処理部12から障害発生の通知を受け、インメモリデータバッファ15の内容を、バッチ処理93(B1)の結果の時点まで、回復処理96を行う。
At time t12, when the batch process 93 (B2) is being executed, a failure occurs in the batch process 93 (B2). The DB backup processing unit 22 receives the notification of the occurrence of the failure from the
図9では、例えば、回復処理96(1)〜(3)の例が示されている。
回復処理96(1)では、フルバックアップデータ82aをそのままインメモリデータバッファ15にコピーすることで、オンライン処理91(O1)の結果の時点まで回復する。
回復処理96(2)では、回復処理96(1)の後に、バッチ処理93(B1)の実行結果である差分バックアップデータ82bを、インメモリデータバッファ15に反映することで、バッチ処理93(B1)の結果の時点まで回復する。
回復処理96(3)では、回復処理96(2)の後に、バッチ処理93(B2)の実行結果である差分バックアップデータ82bを、インメモリデータバッファ15に反映することで、バッチ処理93(B2)の結果の時点まで回復する。
In FIG. 9, for example, examples of the recovery processes 96 (1) to (3) are shown.
In the recovery process 96 (1), the full backup data 82a is copied to the in-
In the recovery process 96 (2), after the recovery process 96 (1), the differential backup data 82b, which is the execution result of the batch process 93 (B1), is reflected in the in-
In the recovery process 96 (3), after the recovery process 96 (2), the differential backup data 82b, which is the execution result of the batch process 93 (B2), is reflected in the in-
このように、DBバックアップ処理部22は、フルバックアップデータ82aおよび各時点での差分バックアップデータ82bを用いて、インメモリデータバッファ15のデータ内容を回復する。
例えば、図8の時刻t12〜時刻t13では、DBバックアップ処理部22は、回復処理96(1)の後に回復処理96(2)を実施することにより、インメモリデータバッファ15の内容を、バッチ処理93(B1)の結果の時点まで、回復処理96を行う。
そして、図8に戻り、回復処理後、時刻t13〜t14において、バッチ処理部14は、再度バッチ処理93(B2)を回復後のインメモリデータバッファ15に対して実施する。その後の図8の動作は、図3と同じである。
In this way, the DB backup processing unit 22 recovers the data contents of the in-
For example, from time t12 to time t13 in FIG. 8, the DB backup processing unit 22 performs the recovery process 96 (2) after the recovery process 96 (1), thereby processing the contents of the in-
Returning to FIG. 8, after the recovery process, at times t <b> 13 to t <b> 14, the
図10は、DBバックアップ処理部22が実行する、各バッチ処理結果のバックアップ処理を示すフローチャートである。
S101において、更新管理テーブル16のページIDを順に選択するループを開始する。以下、このループにおいて選択されているページを、選択ページと呼ぶ。
S102において、更新管理テーブル16における選択ページの「フラグ」が「更新」か否かを判定する。S102でYesならS103へ、NoならS104へ進む。
S103において、インメモリデータバッファ15の選択ページにおける「ページ内容」を、差分バックアップデータ82bとして書き出すとともに、更新管理テーブル16における選択ページの「フラグ」を「未更新」へと戻す。
S104において、S101からのループを終了する。
以上の図10の処理では、書き出すページを更新が行われたページに限定する差分形式のバックアップ処理94により、全てのページを書き出す方式に比べ、ディスク書き出し量を削減することができる。
FIG. 10 is a flowchart showing backup processing of each batch processing result executed by the DB backup processing unit 22.
In S101, a loop for sequentially selecting page IDs in the update management table 16 is started. Hereinafter, the page selected in this loop is referred to as a selected page.
In S102, it is determined whether or not the “flag” of the selected page in the update management table 16 is “update”. If Yes in S102, the process proceeds to S103, and if No, the process proceeds to S104.
In S103, “page content” in the selected page of the in-
In S104, the loop from S101 is terminated.
In the processing of FIG. 10 described above, the amount of disk writing can be reduced compared to the method of writing all pages by the differential
図11は、DB回復処理部24が実行する、障害発生時の回復処理96を示すフローチャートである。
S201において、障害発生時のバッチ処理93と並行処理されている同期化処理95が完了したか否かを判定する。S201でYesならS211へ、S201でNoならS221へ、それぞれ移行する。
S211において、同期化されたデータベース52のデータ内容をそのままインメモリデータバッファ15へとロード処理92することにより、インメモリデータバッファ15のデータ内容を回復する。そして、処理をS231へ進める。
S221において、フルバックアップデータ82aのデータ内容をそのままインメモリデータバッファ15へとロード処理92することにより、インメモリデータバッファ15のデータ内容を、バッチ処理前の時点まで回復する。
S222において、差分バックアップデータ82bのデータ内容を、時刻が古い順にインメモリデータバッファ15へと差分反映処理することにより、インメモリデータバッファ15のデータ内容を、障害発生時に実行していたバッチ処理93より1つ前のバッチ処理93の終了時点まで回復する。そして、処理をS231へ進める。
S231において、障害発生時のバッチ処理93を、最初から再開するように、バッチ処理部14に指示する。
FIG. 11 is a flowchart showing the
In S201, it is determined whether or not the
In S211, the data content in the in-
In S221, the data content of the full backup data 82a is loaded 92 into the in-
In S222, the data contents of the differential backup data 82b are subjected to differential reflection processing to the in-
In S231, the
以上説明した本実施形態によれば、所定のバッチ処理93(例えば、B2)と、その前のバッチ処理結果(例えば、B1)の同期化処理95とを互いに並行処理することにより、処理時間の総和を短縮することができる。
さらに、バッチ処理結果を差分バックアップデータ82bという差分形式で管理することにより、同期化処理95の処理時間を短縮することができる。
According to the present embodiment described above, the predetermined batch process 93 (for example, B2) and the previous batch process result (for example, B1)
Furthermore, the processing time of the
1 データベース管理装置
1a プロセッサ
1b メモリ
1c インタフェース
5 ストレージ装置
6 ネットワーク
7 端末
8 バックアップ装置
10 DB業務処理部
11 オンライン要求解析部
12 オンライン処理部
13 バッチ要求解析部
14 バッチ処理部
15 インメモリデータバッファ
16 更新管理テーブル
20 DB運用処理部
21 DBロード処理部
22 DBバックアップ処理部
23 DB同期化指示部
24 DB回復処理部
51 記憶装置
52 データベース
81 記憶装置
82a フルバックアップデータ
82b 差分バックアップデータ
83 DB同期化処理部
91 オンライン処理
92 ロード処理
93 バッチ処理
94 バックアップ処理
95 同期化処理
96 回復処理
DESCRIPTION OF
Claims (5)
前記データベース管理装置は、
前記記憶装置に格納されたデータベースのデータを前記メモリに読み込むロード処理を実行し、
前記ロード処理されたデータに対して、受け付けたアクセス要求を解析し、前記アクセス要求の解析の結果に応じてバッチ処理を実行し、
前記バッチ処理で処理された前記メモリに更新される前記データを、前記バッチ処理の実行後にバックアップデータとしてバックアップ装置に書き出すバックアップ処理を実行し、
前記バックアップ装置は、
前記バックアップデータが複数回格納される毎に前記データベース管理装置から出される指示に応じて、前記格納された前記バックアップデータを、前記記憶装置に格納されるデータベースのデータに反映することで、前記メモリ上のデータと前記記憶装置に格納されるデータとを同一化する同期化処理を実行し、
前記データベース管理装置により新たに前記バッチ処理を行う際には、そのバッチ処理と、そのバッチ処理より前に実行された別のバッチ処理に対して前記バックアップ処理された前記バックアップデータを対象として前記バックアップ装置により実行される前記同期化処理とが、並行処理されることを特徴とする
データベース管理方法。 A database management method in a database management system comprising a database management device for managing data of a database stored in a storage device and having a memory ,
The database management device includes :
Executing a load process for reading the data of the database stored in the storage device into the memory;
Wherein for the load processed data, analyzes the access request received, it performs batch processing according to the result of the analysis of the access request,
The data that is updated in the memory that has been processed by said batch processing, performs the backup process to write to the backup device as backup data after the execution of the batch process,
The backup device is
In response to an instruction issued from the database management device every time the backup data is stored a plurality of times, the stored backup data is reflected in the data of the database stored in the storage device. A synchronization process for making the above data and the data stored in the storage device identical,
When the database management device newly performs the batch processing , the backup is performed on the backup data that has been backed up with respect to the batch processing and another batch processing executed before the batch processing . wherein the synchronization process and are database management method comprising Rukoto is a parallel processing executed by the device.
請求項1に記載のデータベース管理方法。 The backup device , when there is an update content at the same location for a plurality of the backup data generated by the backup processing multiple times, among the update content at the same location, the backup whose time comes first The database management method according to claim 1, wherein the data synchronization process is omitted.
請求項1または請求項2に記載のデータベース管理方法。 The database management equipment, said a newly performs batch processing, in parallel processing of the synchronization process, before Fang Tsu failure occurs to blood processing, and the pre-synchronization in Kiba pitch processing 2. The load process for reading data contents stored in the storage device identified by the completed synchronization process into the memory when the process is completed is executed. Or the database management method of Claim 2.
請求項1または請求項2に記載のデータベース管理方法。 The database management equipment, said a newly performs batch processing, in parallel processing of the synchronization process, before Fang Tsu failure occurs to blood processing, and the pre-synchronization in Kiba pitch processing 3. The database management method according to claim 1, wherein when the conversion process is not completed, the backup data already written in the backup process is reflected in the memory.
前記データベース管理装置は、
前記記憶装置に格納されたデータベースのデータを前記メモリに読み込むロード処理を実行し、
前記ロード処理されたデータに対して、受け付けたアクセス要求を解析し、前記アクセス要求の解析の結果に応じてバッチ処理を実行し、
前記バッチ処理で処理された前記メモリに更新される前記データを、前記バッチ処理の実行後にバックアップデータとしてバックアップ装置に書き出すバックアップ処理を実行し、
前記バックアップ装置は、
前記バックアップデータが複数回格納される毎に前記データベース管理装置から出される指示に応じて、前記格納された前記バックアップデータを、前記記憶装置に格納されるデータベースのデータに反映することで、前記メモリ上のデータと前記記憶装置に格納されるデータとを同一化する同期化処理を実行し、
前記データベース管理装置により新たに前記バッチ処理を行う際には、そのバッチ処理と、そのバッチ処理より前に実行された別のバッチ処理に対して前記バックアップ処理された前記バックアップデータを対象として前記バックアップ装置により実行される前記同期化処理とが、並行処理されることを特徴とする
データベース管理システム。 A database management system comprising a database management device for managing data of a database stored in a storage device and having a memory ,
The database management device includes :
Executing a load process for reading the data of the database stored in the storage device into the memory;
Wherein for the load processed data, analyzes the access request received, it performs batch processing according to the result of the analysis of the access request,
The data that is updated in the memory that has been processed by said batch processing, performs the backup process to write to the backup device as backup data after the execution of the batch process,
The backup device is
In response to an instruction issued from the database management device every time the backup data is stored a plurality of times, the stored backup data is reflected in the data of the database stored in the storage device. A synchronization process for making the above data and the data stored in the storage device identical,
When the database management device newly performs the batch processing , the backup is performed on the backup data that has been backed up with respect to the batch processing and another batch processing executed before the batch processing . database management system and the synchronization process to be performed, characterized by Rukoto is parallel processing by the device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009022267A JP5222171B2 (en) | 2009-02-03 | 2009-02-03 | Database management method and database management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009022267A JP5222171B2 (en) | 2009-02-03 | 2009-02-03 | Database management method and database management system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010181924A JP2010181924A (en) | 2010-08-19 |
JP5222171B2 true JP5222171B2 (en) | 2013-06-26 |
Family
ID=42763491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009022267A Expired - Fee Related JP5222171B2 (en) | 2009-02-03 | 2009-02-03 | Database management method and database management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5222171B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5180399B2 (en) * | 2012-08-24 | 2013-04-10 | 株式会社東芝 | Information processing apparatus, information processing method, and program |
JP5692829B1 (en) * | 2013-07-11 | 2015-04-01 | 株式会社東芝 | System, client terminal, and method for processing virtual disk image |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07311700A (en) * | 1994-05-18 | 1995-11-28 | Fujitsu Ltd | Parallel processing system |
JPH08194638A (en) * | 1995-01-19 | 1996-07-30 | Fujitsu Ltd | Method and device for backing up data base at designated time |
JP2006114058A (en) * | 2000-06-26 | 2006-04-27 | Fujitsu Ltd | File management device and its method |
JP2002351720A (en) * | 2001-05-24 | 2002-12-06 | Sharp Corp | System/method for network data management, network management program and recording medium with network management program recorded thereon |
JP2003006020A (en) * | 2001-06-26 | 2003-01-10 | Hitachi Ltd | Duplicate data base access device and its accessing method |
JP2003085021A (en) * | 2001-09-07 | 2003-03-20 | Nippon Soken Holdings:Kk | Batch processing system equipped with recovery/restart function, program for batch processing system equipped with recovery/restart function, and recording medium for recording program |
JP4483342B2 (en) * | 2004-02-27 | 2010-06-16 | 株式会社日立製作所 | System recovery method |
JP2006004129A (en) * | 2004-06-17 | 2006-01-05 | Hitachi Ltd | Daily batch processing interlocking transaction mediation system |
JP2006139696A (en) * | 2004-11-15 | 2006-06-01 | Nippon Telegr & Teleph Corp <Ntt> | Data restoration method and data restoration program |
GB0616257D0 (en) * | 2006-08-16 | 2006-09-27 | Ibm | Storage management system for preserving consistency of remote copy data |
JP2008198153A (en) * | 2007-02-16 | 2008-08-28 | Nomura Research Institute Ltd | Continuous operation system carrying out batch processing while continuing online processing |
-
2009
- 2009-02-03 JP JP2009022267A patent/JP5222171B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010181924A (en) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4764472B2 (en) | Database management method, database management program, and database management apparatus | |
JP6362685B2 (en) | Replication method, program, and apparatus for online hot standby database | |
CN102934114B (en) | For the checkpoint of file system | |
US8904225B2 (en) | Stream data processing failure recovery method and device | |
US20110252426A1 (en) | Processing batch transactions | |
US20130173545A1 (en) | File-backed in-memory structured storage for service synchronization | |
JP5619179B2 (en) | Computer system, job execution management method, and program | |
US20080141235A1 (en) | System and Method for Transparent Hard Disk Drive Update | |
CN102667720A (en) | Consistency without ordering dependency | |
CN110597663A (en) | Transaction processing method and device | |
JP4432087B2 (en) | Database update management system, program and method | |
CN102891879A (en) | Method and device for supporting cluster expansion | |
US11762688B2 (en) | Systems and methods for batch job execution in clustered environments using execution timestamp granularity between service instances having different system times | |
CN110955719B (en) | Data access processing equipment, system and method | |
JP5222171B2 (en) | Database management method and database management system | |
WO2014136172A1 (en) | Database device, program, and data processing method | |
CN105808451B (en) | Data caching method and related device | |
JP2012155634A (en) | Information processing program, information processing device and information processing method | |
CN102597995A (en) | Synchronizing database and non-database resources | |
CN113297231A (en) | Database processing method and device | |
JP2010009195A (en) | Batch processing method, batch processing program, request execution device and database system | |
JP6372350B2 (en) | Definition file generation program, definition file generation method, and information processing apparatus | |
JP2021189719A (en) | Information processing apparatus and reception processing program | |
JP2008257410A (en) | System design verification device | |
JP5035237B2 (en) | Server management program, server management apparatus, and server management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130208 |
|
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: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130308 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |