JP4589427B2 - データベース管理方法、データベース管理装置及びデータベース管理プログラム - Google Patents

データベース管理方法、データベース管理装置及びデータベース管理プログラム Download PDF

Info

Publication number
JP4589427B2
JP4589427B2 JP2008202920A JP2008202920A JP4589427B2 JP 4589427 B2 JP4589427 B2 JP 4589427B2 JP 2008202920 A JP2008202920 A JP 2008202920A JP 2008202920 A JP2008202920 A JP 2008202920A JP 4589427 B2 JP4589427 B2 JP 4589427B2
Authority
JP
Japan
Prior art keywords
memory
backup
database
pointer
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008202920A
Other languages
English (en)
Other versions
JP2010039819A (ja
Inventor
信男 河村
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 JP2008202920A priority Critical patent/JP4589427B2/ja
Priority to US12/370,942 priority patent/US8161006B2/en
Publication of JP2010039819A publication Critical patent/JP2010039819A/ja
Application granted granted Critical
Publication of JP4589427B2 publication Critical patent/JP4589427B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データベースの運用業務の所要時間を短縮する技術に関する。
企業では、情報を管理するためにデータベースを含むシステムが一般的に利用されている。また、データベースを含むシステムでは、データのバックアップを取得するなどの運用業務が定期的に行われている。
また、データベースを含むシステムでは、オンライン業務によって蓄積及び更新されたデータをバッチ業務で一括して処理することによって集計し、集計された情報を経営判断などに利用することがある。
蓄積された情報を集計するようなバッチ業務では、大量のデータにアクセスする必要があるため、バッチ業務の実行中にはシステムの負荷が増大しやすい。特に、ディスクドライブなどの外部記憶媒体にデータが格納されている場合には、データの入出力による負荷が大きくなる。このため、バッチ業務は、負荷が比較的小さい夜間などに実行される場合が多い。
そこで、データの入出力による負荷を低減させるために、外部記憶媒体に対するデータの入出力回数を少なくする技術が提案されている。例えば、データベースに対する複数の全件検索要求を受け付けた場合に、メモリ上に読み出されたデータを再利用することによって、外部記憶媒体に対するデータの入出力回数を減少させ、応答時間の短縮及びスループットの向上を図る技術が開示されている(特許文献1参照)。
また、近年、大容量のメモリをシステムに搭載可能になったため、不揮発性の記憶装置に格納されたデータをメモリ上に記憶させ、当該データを読み書きすることによって処理の高速化を図るインメモリデータベースが登場している。特に、バッチ業務を実行する場合には、処理中に外部記憶媒体にアクセスする必要がないため、システムの負荷の低減に大きな効果を得ることができる。
特開平08−6829号公報
インメモリデータベースでは、データベースの運用業務、例えば、データのバックアップを取得する場合には、バックアップ中にデータが更新されることを防止するために、オンライン業務を停止させる。また、バックアップを取得する手順としては、まず、オンライン業務を停止し、メモリ上に記憶されているデータを外部記憶媒体に書き出す。その後、外部記憶媒体に格納されたデータを読み出し、バックアップを格納する記憶媒体に読み出されたデータを書き込む。
したがって、オンライン業務の終了時に外部記憶媒体にデータが書き込まれ、さらに、バックアップを取得する場合に外部記憶媒体からデータが読み出される。また、バッチ業務を実行するためにインメモリデータ処理を実行するためには、データをインメモリ化する際に、さらに、外部記憶媒体からデータを読み出してメモリに記憶する必要がある。
以上のように頻繁に外部記憶媒体に格納されたデータを読み書きすると、システムの負荷が増大してしまう。また、データベースの容量が大きければ、バックアップの取得及びデータのインメモリ化によってさらに負荷が増大し、データベースの運用業務及びバッチ業務の所要時間、すなわち、オンライン業務の停止時間が増大してしまう。
本発明では、外部記憶媒体にアクセスする頻度を低減することによって、バックアップなどの運用業務に必要な時間を短縮し、オンライン業務の停止時間を短縮するための技術を提供する。
本発明は、ストレージ装置に格納されたデータベースを管理するデータベース管理装置におけるデータベース管理方法であって、前記データベース管理装置は前記ストレージ装置に接続されるインターフェース、前記インターフェースに接続されるプロセッサ及び前記プロセッサに接続されるメモリを備え、前記データベースに格納されたデータの複製を格納するバックアップ装置に接続され、前記方法は、前記データベース管理装置が、前記ストレージ装置の前記データベースに格納されたデータを前記メモリに順次記憶するロード処理を実行し、前記ストレージ装置にアクセスすることなく、前記メモリに記憶されたデータを読み書きすることによってバッチ業務を実行し、前記バッチ業務の終了後に、前記メモリに記憶されたデータを前記ストレージ装置に順次書き込むアンロード処理を実行し、前記ロード処理及び前記アンロード処理を実行する少なくともいずれか一方のタイミングで、前記メモリに記憶されたデータを利用して、前記データベースの運用処理を実行し、前記運用処理として、前記ロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第1バックアップ処理を実行する場合には、前記ストレージ装置から読み出されたデータを書き込む前記メモリ上の位置を示すポインタを第1のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第1のバックアップポインタとし、当該第1のカレントポインタを当該第1のバックアップポインタが追い越さないように制御しながら、前記ロード処理と前記第1のバックアップ処理とを並行して実行し、前記運用処理として、前記アンロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第2バックアップ処理を実行する場合には、前記ストレージ装置に格納するデータを前記メモリから読み出す位置を示すポインタを第2のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第2のバックアップポインタとし、当該第2のカレントポインタを当該第2のバックアップポインタが追い越さないように制御しながら、前記アンロード処理と前記第2のバックアップ処理とを並行して実行し、前記運用処理として、前記アンロード処理実行時に前記データベースに格納されたデータを再配置する再編成処理を実行する場合には、前記メモリに格納されたデータをレコード単位で順次読み出し、前記メモリに割り当てられた詰め替えバッファに格納し、当該詰め替えバッファに格納されたデータをページ単位で前記ストレージ装置に格納する
本発明の代表的な一形態によれば、メモリに記憶されたデータを利用してバックアップなどのデータベースの運用処理を実行することによって、外部記憶媒体からデータを読み出す時間を削減することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の実施の形態の計算機システムの構成を示す図である。
本発明の実施の形態の計算機システムは、データベース管理装置100、ストレージ装置150、端末170、及びバックアップ装置180を含む。データベース管理装置100、ストレージ装置150、端末170、及びバックアップ装置180は、ネットワークを介して互いに接続される。
データベース管理装置100は、ストレージ装置150に格納されたデータを管理する。また、データベース管理装置100は、端末170からデータのアクセス要求を受け付け、管理対象のデータの読み書きを制御する。また、データベース管理装置100によって管理されるデータは、バックアップ装置180にバックアップデータが格納される。
また、データベース管理装置100は、インメモリデータ処理を実行することが可能である。インメモリデータ処理とは、ストレージ装置150に格納されている管理対象のデータをメモリ120に格納し、データのアクセス要求を受け付けた場合にはメモリ120に記憶されているデータにアクセスするように制御する処理である。ストレージ装置150にアクセスする必要がなくなるため、データアクセスの応答性能を向上させることができる。
ストレージ装置150は、前述したように、データベース管理装置100によって管理されるデータを格納する。なお、ストレージ装置150にデータを格納せずに、データベース管理装置100にディスクドライブなどの記憶装置を搭載し、当該記憶装置にデータを格納するようにしてもよい。また、データベース管理装置100とストレージ装置150とは、イーサネット(「イーサネット」は登録商標、以下同じ)などによって接続されてもよいし、SAN(Storage Area Network)などによって接続されてもよい。
端末170は、利用者からの入力を受け付け、データベース管理装置100にデータのアクセス要求などを送信する。
バックアップ装置180は、前述したように、データベース管理装置100によって管理されるデータのバックアップを格納する。バックアップ装置180は、例えば、ストレージ装置であるが、データベース管理装置100に直接接続された外部記憶媒体であってもよいし、テープデバイスなどであってもよい。
ここで、データベース管理装置100の構成について説明する。データベース管理装置100は、プロセッサ110、メモリ120、及びインターフェース140を含む。
プロセッサ110は、メモリ120に記憶されたプログラムを処理することによって、各種業務処理を実行する。メモリ120は、プロセッサ110によって処理されるプログラム及び当該プログラムによって利用されるデータを記憶する。なお、メモリ120に記憶されたプログラム及びデータについては後述する。
インターフェース140は、ネットワーク160に接続し、端末170及びバックアップ装置180に接続する。
ここで、メモリ120に記憶されたプログラム及びデータについて説明する。メモリ120には、プログラムとして、DBアクセス要求解析部121、DBアクセス処理部122、インメモリ要求解析部123、インメモリ処理部124、及びDB運用処理部125が記憶される。さらに、インメモリ管理テーブル131が記憶される。データベースに格納されたデータ又は一時的にデータを格納するための記憶領域として、インメモリデータバッファ132、グローバルバッファ133、ログ用バッファ134、及びワークエリア135がメモリ120に割り当てられる。
DBアクセス要求解析部121は、端末170などによって送信されたデータアクセス要求を受け付け、要求された内容を解析する。DBアクセス処理部122は、端末170によって送信されたデータアクセス要求の解析結果に基づいて、データベース152に格納されたデータを読み書きする。
インメモリ要求解析部123は、前述したインメモリデータ処理の実行又は解除などのコマンドを受け付け、解析する。インメモリ処理部124は、インメモリ要求解析部123が受け付けたコマンドの解析結果に基づいて、インメモリデータ処理を制御する。
DB運用処理部125は、バックアップなどの運用に必要な処理を実行するためのプログラム群である。DB運用処理部125には、一例として、DBバックアップ処理部126、DB再編成処理部127及びDB最適化情報取得処理部128を含む。
DBバックアップ処理部126は、ストレージ装置150に格納されたDB定義情報151、データベース152及びログ153をバックアップする。本発明の実施の形態では、バックアップ装置180に格納されたバックアップ185にバックアップデータが格納される。
DB再編成処理部127は、データベースに格納されたデータの物理的な格納順序を再編成する。データベースは、データの削除及び追加が繰り返し実行されると、各レコードが格納された物理的な領域が断片化される。データベースの再編成とは、レコードの物理的な格納順序と論理的な格納順序とを整合させてDB領域にデータを再格納することによって断片化を解消することである。
DB最適化情報取得処理部128は、データベースの性能を最適化するために、当該データベースを構成するオブジェクトの統計情報などを含む最適化情報を取得する。データベースの性能の最適化は、例えば、データの検索処理の高速化である。また、データベースを構成するオブジェクトには、データを格納する表及び検索を高速化するための索引情報などが含まれる。オブジェクトの統計情報には、例えば、オブジェクトが表の場合、レコード数及びデータ容量などが含まれる。したがって、データの更新などにともなって最適化情報が変化するため、データベースの性能を維持するためには、定期的に最適化情報を取得し、データベースをチューニングする必要がある。
インメモリ管理テーブル131は、インメモリデータバッファ132を管理するためのテーブルである。インメモリ管理テーブル131の詳細については、図2にて後述する。
インメモリデータバッファ132は、データベース152に格納されたデータがDB領域単位(例えば、ファイルなど)に記憶される領域である。グローバルバッファ133には、データベース152に格納されたデータがページ単位で記憶される。メモリ120とストレージ装置150との間のデータの入出力はページ単位で管理される。
ログ用バッファ134は、データが更新される場合にログ情報を一時的に記憶する領域である。ワークエリア135は、一時的にデータを格納するための領域である。例えば、データをソート場合などに使用され、処理中に一時的に使用されるポインタなどの変数が格納される。
ストレージ装置150は、コントローラ154、インターフェース155及び記憶装置156を含む。
コントローラ154は、データベース管理装置100からの要求に基づいて、データの入出力を制御する。インターフェース155は、ネットワークを介してデータベース管理装置100と接続する。
記憶装置156は、データベース(DB)定義情報151、データベース152、及びログ153を格納する。
DB定義情報151は、管理されているデータベースのスキーマ情報などが格納される。例えば、データが表形式で格納されている場合には、表を格納するフィールド名、データ型などの定義情報が格納される。
データベース152は、管理対象であるデータそのものが格納される。ログ153は、データベース152に格納されたデータの更新履歴が格納される。ログ153に格納されたログ情報によって、障害発生時などにデータを回復させることができる。
バックアップ装置180は、コントローラ181、インターフェース182及び記憶装置183を含む。
コントローラ181は、データベース管理装置100からの要求に基づいて、データの入出力を制御する。インターフェース182は、ネットワークを介してデータベース管理装置100と接続する。記憶装置183は、データベース管理装置100で管理されるデータのバックアップデータを格納する。
図2は、本発明の実施の形態のインメモリ管理テーブル131の一例を示す図である。
インメモリ管理テーブル131は、前述したように、インメモリデータバッファ132を管理する。具体的には、ストレージ装置150においてデータが物理的に格納されている領域(ファイル)と、インメモリデータバッファ132に格納された領域との対応を管理する。
インメモリ管理テーブル131は、データベース(DB)領域名201、ファイル名202、サイズ203、更新有無フラグ204、インメモリバッファアドレス205、及びカレントポインタ206を含む。
DB領域名201は、データを記憶する領域(DB領域)を識別する名前である。DB領域は、1以上のファイルによって提供される。DB領域には、ページ単位でデータが格納される。ファイル名202は、DB領域を提供するファイルの名前である。サイズ203は、DB領域のサイズ(容量)である。
更新有無フラグ204は、DB領域がインメモリデータバッファ132に存在する場合に、格納されたデータが更新されたか否かを示すフラグである。DB領域に格納されたデータが更新された場合には「ON」を設定し、更新されていない場合には「OFF」を設定する。なお、データベース152に更新が反映された場合には、更新有無フラグ204を「ON」に設定する。
インメモリバッファアドレス205は、DB領域が割り当てられたインメモリデータバッファ132上のアドレスである。カレントポインタ206は、データが順次読み出される場合に、現在読み出されている領域のアドレスである。
なお、インメモリ管理テーブル131は、データベースが起動されたタイミングで作成されてもよいし、インメモリデータ処理の実行の際に作成するようにしてもよい。
ここで、図3から図7を参照しながらデータベース管理装置100による運用手順について説明する。ここで説明する運用手順では、まず、オンライン業務を停止し、バッチ業務1及びバッチ業務2を実行する。バッチ業務終業後、オンライン業務を再開する。本発明の実施の形態では、バッチ業務の開始又は終了時に運用業務を行うことによって、運用業務に要する時間を低減させる。
バッチ業務では、インメモリデータバッファ132にデータベース152に格納されたデータをすべて読み出して処理を実行する。一方、オンライン業務では、データベース152に格納されたデータを、グローバルバッファにページごとに読み出して処理を実行する。
バッチ業務のように、大量のデータを読み書きする処理を実行する場合には、ストレージ装置150に対するデータの入出力によって、パフォーマンスが悪化してしまう。データをすべてメモリ上にロードすることによって、ストレージ装置150に対するデータの入出力を最小限に抑えることができる。
また、通常、データをバックアップする場合には、データベース152に格納されたデータを読み出し、読み出されたデータがバックアップ先に書き込まれる。データベース152に格納されたデータを読み出す処理は、ストレージ装置150に対して大量のデータ入出力が行われるため、システムに大きな負荷を与える。
本発明の実施の形態では、インメモリデータ処理の実行時に、データをインメモリデータバッファ132にデータを読み出すタイミングでデータベースのバックアップなどの運用処理を実施することによって、ストレージ装置150に対するデータ入出力による負荷の増大を抑制する。
図3は、本発明の実施の形態のデータベース管理装置100による運用手順を示す図である。図3では、オンライン業務を停止させ、グローバルバッファに格納されたデータとデータベース152に格納されたデータとを同期させる処理について説明する。
オンライン業務では、データがデータベース152から読み出され、グローバルバッファに格納される。図3を参照すると、一例として、DB領域「DBAREA1」からグローバルバッファプール1にテーブル301に読み出される。このとき、テーブル301のインデクス302がグローバルバッファプール2に読み出される(図3左側)。その後、オンライン業務停止時には、オンライン業務によって、テーブル301及びインデクス302の内容が更新されている。
オンライン業務停止後、データベース管理装置100のプロセッサ110は、グローバルバッファに格納されているデータとデータベース152に格納されているデータとを同期させる(手順1、図3右側)。
図4は、本発明の実施の形態のデータベース管理装置100による運用手順を示す図である。図4では、オンライン業務停止後、バッチ業務を開始する前にバックアップを取得する処理について説明する。
バッチ業務は、前述したように、インメモリデータ処理で実行される。したがって、バッチ業務を開始する前に、まず、データベース管理装置100のプロセッサ110によって、インメモリ処理部124が実行され、データベース152に格納されたデータがインメモリデータバッファ132に読み出される(手順2)。
インメモリデータバッファ132及びデータベース152は、インメモリデータバッファ132にデータが読み出された時点で、同期された状態になっている。したがって、インメモリデータバッファ132に読み出されたデータを利用して運用業務を実行することによって、ストレージ装置150から別途データを読み出さずに運用業務を実行することが可能となる。
また、バッチ業務を開始する前に運用業務を実行する場合には、バッチ業務と運用業務とを並行して実行することによって、オンライン業務の停止時間を短縮することが可能となる。
図5は、本発明の実施の形態のデータベース管理装置100による運用手順を示す図である。図5では、バッチ業務1によって更新されたインメモリデータバッファ132に格納されたデータと、データベース152に格納されたデータとを同期させるとともに、運用業務を実行する手順について説明する。
データベース152に格納されたデータがインメモリデータバッファ132に読み出されると、バッチ業務1が開始される(手順3、図5左側)。バッチ業務1に更新処理が含まれていると、インメモリデータバッファ132に格納されたデータと、データベース152に格納されたデータとが一致しない非同期状態になる。
バッチ業務1が終了した時点では、インメモリデータバッファ132と、データベース152とが非同期状態になっているため、インメモリデータバッファ132とデータベース152とを同期させる(手順4−1、図5右側)。このとき、並行してインメモリデータバッファ132に格納された更新済みデータを利用してバックアップなどの運用業務を実行することができる。
なお、バッチ業務1終了後に継続して他のバッチ業務を実施する場合には、インメモリデータバッファ132とデータベース152とを同期させずに、バッチ業務を継続して実施してもよい。この場合には、さらにストレージ装置150に対するデータ入出力を削減することができるため、バッチ業務に要する時間を削減することが可能となる。しかし、後続のバッチ業務における処理が失敗した場合には、データベース152に格納されたデータ又は最新のバックアップデータをインメモリ化し、バッチ業務を再実行する必要がある。
図6は、本発明の実施の形態のデータベース管理装置100による運用手順を示す図である。図6では、バッチ業務2の開始から、終了後にインメモリデータバッファ132に格納されたデータによって、データベース152を再編成させる手順について説明する。
バッチ業務1が終了した後、インメモリデータバッファ132とデータベース152との同期が完了すると、バッチ業務2が開始される(図6左側)。
バッチ業務2が完了すると、インメモリデータバッファ132に格納されたデータをデータベース152に反映させる。図6に示す場合には、インメモリデータバッファ132に格納されたデータをそのままデータベース152に反映させるのではなく、運用業務の一つであるデータベース再編成を実行する(手順4−2、図6右側)。データベースの再編成とは、前述したように、DB領域の断片化が解消されるように、データを再格納することである。具体的には、インメモリデータバッファ132に格納されたデータをレコード単位でバッファ(ワークエリア135)に格納し、格納されたデータ容量が1ページの容量になった場合にデータベース152に書き込む。
さらに、この時点で、インメモリデータバッファ132に格納されたデータを利用して、バックアップを取得したり、前述したデータベースを構成するオブジェクトの統計情報を含む最適化情報を取得したりしてもよい。
図7は、本発明の実施の形態のデータベース管理装置100による運用手順を示す図である。図7では、バッチ業務2の終了後、オンライン業務を再開する手順について説明する。
本発明の実施の形態では、一連のバッチ業務がすべて終了し、オンライン業務を再開する場合には、まず、インメモリデータバッファ132をメモリ120から削除する(手順5)。その後、グローバルバッファ133を使用してオンライン業務を再開する(手順6)。
以上に示したように、オンライン業務を停止した後、バッチ業務の実行前又は実行後のタイミングで運用業務としてデータベース運用処理が実行される。そこで、バッチ業務の実行するコマンドにオプションとして、当該バッチ業務の実行前又は実行後にデータベース運用処理を実行するように指定することが可能である。
また、データベース運用処理がバックアップの取得であって、バッチ業務に更新処理が含まれている場合には、バッチ業務の実行前にバックアップを取得しても直後に更新されてしまう。この場合には、バッチ業務の実行後にバックアップを取得すれば最新のバックアップを取得することができる。一方、バッチ業務に更新処理が含まれていなければ、バッチ業務と並行してバックアップを取得することができるため、バッチ業務及びデータベース運用処理の処理時間の合計を短縮することが可能となる。また、バッチ業務に更新処理が含まれる場合には、バッチ業務の失敗に備えてバッチ業務の実行前及び実行後にバックアップを取得するようにしてもよい。
さらに、バッチ業務の内容を解析し、バッチ業務に更新処理が含まれているか否かを判定し、判定結果に基づいてバックアップを実行するタイミングを自動的に決定するようにしてもよい。
続いて、メモリロード時及びメモリアンロード時にバックアップなどのデータベース運用処理を実行する処理の概要について説明する。メモリロード時及びメモリアンロード時にバックアップ処理を実行する処理の概要について、図8及び図9を参照しながら説明する。さらに、図10を参照しながらメモリアンロード時にデータベースを再編成する処理の概要について説明する。
図8は、本発明の実施の形態のメモリロード処理におけるバックアップ処理の概要を説明する図である。
メモリロード処理は、バッチ業務を開始する前に、データベース152からインメモリデータバッファ132にデータをロードする処理である。
メモリロード処理におけるデータベース運用処理は、前述したように、実行されるバッチ業務に更新処理が含まれない場合に特に有効である。バッチ業務と並行してバックアップを取得できるため、バッチ業務及びデータベース運用処理の処理時間の合計を短縮することが可能となる。
図8に示す処理では、データベース152からインメモリデータバッファ132にデータがロードされた後、ロードされたデータをページごとにバックアップ185に書き込むことによってバックアップを取得する。
データベース152は、ページごとに領域が分割され、データが格納されている。データベース管理装置100のプロセッサ110は、インメモリ処理部124を実行することによって、データベース152に格納されたデータを先頭アドレスから順次インメモリデータバッファ132にロードする。カレントポインタ801は、インメモリデータバッファ132にロードが完了したページのアドレスである。
データベース管理装置100のプロセッサ110は、DB運用処理部125のDBバックアップ処理部126を実行することによって、インメモリデータバッファ132にロードされたデータをページごとに順次バックアップ185に書き込む。バックアップポインタ802は、インメモリデータバッファ132からバックアップ185にデータが書き込まれたページのアドレスである。
カレントポインタ801及びバックアップポインタ802は、インメモリデータバッファ132内のアドレスを示しており、データベース152からデータの読み出し、及びバックアップ185へのデータの書き込みの進捗に応じて値が更新される。また、バックアップポインタ802がカレントポインタ801を追い越すことはなく、バックアップポインタ802がカレントポインタ801に追いついた場合には、インメモリデータバッファ132にデータがロードされるまで待機する。
図9は、本発明の実施の形態のメモリアンロード処理におけるバックアップ処理の概要を説明する図である。
メモリアンロード処理は、バッチ業務が終了した後、インメモリデータバッファ132に格納されたデータをデータベース152に反映させる処理である。バッチ業務に更新処理が含まれる場合に、更新後のデータに基づいてデータベース運用処理が実行される場合に本処理が実行される。
図9に示す処理では、インメモリデータバッファ132に格納されたデータをデータベース152に反映させた後、ページごとにバックアップ185にデータを書き込む。
データベース管理装置100のプロセッサ110は、インメモリ処理部124を実行することによって、インメモリデータバッファ132格納されたデータを先頭アドレスから順次データベース152に書き込む。カレントポインタ801は、データベース152に書き込みが終了したページのアドレスである。
データベース管理装置100のプロセッサ110は、メモリロード処理におけるバックアップ処理と同様に、DB運用処理部125のDBバックアップ処理部126を実行することによって、インメモリデータバッファ132にロードされたデータをページごとに順次バックアップ185に書き込む。バックアップポインタ802は、インメモリデータバッファ132からバックアップ185にデータが書き込まれたページのアドレスである。
図10は、本発明の実施の形態のメモリアンロード処理におけるデータベース再編成処理の概要を説明する図である。
データベース再編成処理では、断片化して格納されたデータを再編成することによって、断片化を解消する。インデクスについても同様に断片化を解消する。
本発明の実施の形態のデータベース再編成処理では、バッチ業務終了後、インメモリデータバッファ132に格納されたデータを、一旦、詰め替えバッファにレコードごとに格納し、ページごとにデータベース152に書き込む。なお、詰め替えバッファは、メモリ120のワークエリア135に作成され、データベース再編成処理が終了すると削除される。
データベース管理装置100のプロセッサ110は、DB運用処理部125のDB再編成処理部127を実行することによって、インメモリデータバッファ132に格納されたデータを再編成し、ページごとにデータベース152に書き込む。カレントポインタ801は、詰め替えバッファにレコードの書き込みが終了したページのアドレスである。
データベース管理装置100のプロセッサ110は、DB再編成処理部127を実行し、再編成されたデータのインデクスについても再編成を実行する。再編成されたインデクスは、インデクス情報ファイルに書き込まれる。インデクス情報ファイルは、ワークエリア135に作成される。DB再編成ポインタ901は、インデクス情報ファイルにインデクス情報の書き込みが終了したページのアドレスである。
カレントポインタ801及びDB再編成ポインタ901は、インメモリデータバッファ132内のアドレスを示している。インデクスの再編成は、データの再編成の後に行われるため、カレントポインタ801がDB再編成ポインタ901よりも常に先行するように制御される。
データベース管理装置100のプロセッサ110は、データベース152に対する再編成が終了すると、インデクス情報ファイルに基づいて、インデクスの再編成を実行する。インデクスの再編成が終了すると、ワークエリア135に作成されたインデクス情報ファイルを削除し、データベース再編成処理を終了する。
ここで、メモリロード処理及びメモリアンロード処理の詳細について説明する。
図11は、本発明の実施の形態のメモリロード処理の手順を説明するフローチャートである。
データベース管理装置100のプロセッサ110は、インメモリデータ処理の要求を受け付けると、まず、インメモリ要求解析部123によって、受け付けた要求に基づいてインメモリ化する対象のデータベース領域を解析する(S1101)。インメモリデータ処理は、例えば、バッチ業務の開始前などに要求される。データベース領域の解析には、インメモリ化する対象のデータベース領域の妥当性の判定、指定されたデータベース領域のサイズの取得などが含まれる。
続いて、データベース管理装置100のプロセッサ110は、インメモリ処理部124を実行することによって、S1101の解析処理の結果に基づいて、インメモリデータバッファ132をメモリ120に割り当てる(S1102)。さらに、カレントポインタを割り当てられたインメモリデータバッファ132の先頭アドレスに設定することによって初期化する(S1103)。
その後、データベース管理装置100のプロセッサ110は、DB運用処理部125を実行し、データベース運用処理を開始する(S1104)。DB運用処理部125には、前述したように、DBバックアップ処理部126などが含まれる。DB運用処理部125の詳細については、図13から図15にて説明を後述する。
データベース管理装置100のプロセッサ110は、インメモリ処理部124によって、データベース152からデータを読み出し、ページごとにインメモリデータバッファ132に格納する(S1105)。インメモリデータバッファ132にデータが格納されると、カレントポインタが格納されたデータのアドレスに更新される(S1106)。
さらに、データベース管理装置100のプロセッサ110は、データが最後まで読み出された否かを判定する(S1107)。データの読み出しが完了した場合には(S1107の結果が「Yes」)、メモリロード処理を完了する。データの読み出しが完了していない場合には(S1107の結果が「No」)、データの読み出しを継続する(S1105)。
図12は、本発明の実施の形態のメモリアンロード処理の手順を説明するフローチャートである。
データベース管理装置100のプロセッサ110は、インメモリデータバッファ132に格納されたデータをデータベース152に書き込む場合には、まず、インメモリ処理部124によって、インメモリ化されたデータベース領域を解析する(S1201)。さらに、カレントポインタを割り当てられたインメモリデータバッファ132の先頭アドレスに設定することによって初期化する(S1202)。
その後、データベース管理装置100のプロセッサ110は、DB運用処理部125を実行し、データベース運用処理を開始する(S1203)。
データベース管理装置100のプロセッサ110は、インメモリ処理部124を実行し、インメモリデータバッファ132に格納されたデータが、インメモリデータ処理によって更新されたか否かを判定する(S1204)。インメモリデータバッファ132に格納されたデータの更新の有無は、インメモリ管理テーブル131の更新有無フラグ204を参照することによって判定することができる。
データベース管理装置100のプロセッサ110は、インメモリデータバッファ132に格納されたデータが更新された場合には(S1204の結果が「Yes」)、データベース152に更新内容を反映させる必要があるため、データベース152にデータを書き込む必要がある。データベース管理装置100のプロセッサ110は、まず、DB再編成が要求されているか否かを判定する(S1205)。
データベース管理装置100のプロセッサ110は、DB再編成が要求されていない場合には(S1205の結果が「No」)、更新されたデータをデータベース152に書き込む(S1206)。
データベース管理装置100のプロセッサ110は、DB再編成が要求されていた場合(S1205の結果が「Yes」)、又は更新されたデータをデータベース152に書き込みが終了した場合には、書き込みが完了したデータのアドレスにカレントポインタを更新する(S1207)。なお、DB再編成を実行する場合には、S1203の処理で本処理と並行して実行されているDB再編成処理によってデータベース152にデータが書き込まれるため、S1206の処理を実行しない。データベース再編成処理については、図14にて後述する。なお、DB再編成処理が失敗した場合に備えて、S1203の処理でバックアップを取得するようにしてもよい。
データベース管理装置100のプロセッサ110は、カレントポインタがDB領域の終端に到達したか否かを判定する(S1208)。カレントポインタがDB領域の終端に到達していない場合には(S1208の結果が「No」)、インメモリデータバッファ132に格納された未処理のデータに対してS1205からS1207の処理を継続する。
データベース管理装置100のプロセッサ110は、カレントポインタがDB領域の終端に到達した場合には(S1208の結果が「Yes」)、再度、DB再編成が要求されているか否かを判定する(S1209)。DB再編成が要求されている場合には(S1209の結果が「Yes」)、並行して実行されているDB再編成処理の実行が完了するまで待機する(S1210)。
データベース管理装置100のプロセッサ110は、DB再編成が要求されていない場合(S1209の結果が「No」)、又はDB再編成処理の実行が完了した場合には、メモリ120に割り当てられたインメモリデータバッファ132を解放し、メモリアンロード処理を終了する。
以上、データベース運用処理を実行するタイミングであるデータロード処理及びデータアンロード処理について説明した。続いて、データロード処理及びデータアンロード処理において実行されるデータベース運用処理の詳細について、図13から図15を参照しながら説明する。
図13は、本発明の実施の形態のDBバックアップ処理の手順を説明するフローチャートである。
DBバックアップ処理は、前述したように、DBバックアップ処理部126がデータベース管理装置100のプロセッサ110に処理されることによって実行される。
データベース管理装置100のプロセッサ110は、データロード処理又はデータアンロード処理によって、DBバックアップ処理の実行が要求されると、まず、バックアップを格納するためのバックアップファイルを初期化する(S1301)。バックアップファイルの初期化とは、例えば、バックアップ装置180の記憶装置183にバックアップを格納するためのファイルを新たに生成することである。
データベース管理装置100のプロセッサ110は、続いて、バックアップポインタを初期化する(S1302)。バックアップポインタは、前述したように、バックアップの格納が完了したページのアドレスである。バックアップポインタの初期化とは、バックアップポインタをインメモリデータバッファ132の先頭アドレスに設定することである。
データベース管理装置100のプロセッサ110は、カレントポインタがバックアップポインタよりも先行しているか否かを判定する(S1303)。カレントポインタは、前述したように、データロード時にデータベース152からインメモリデータバッファ132に格納されたデータのアドレス又はデータアンロード時にインメモリデータバッファ132からデータベース152に格納されたデータのアドレスである。
データベース管理装置100のプロセッサ110は、カレントポインタがバックアップポインタよりも先行していない場合(S1303の結果が「No」)、すなわち、バックアップポインタがカレントポインタに追いついている場合には、データのロード済み又はアンロード済みのデータが存在しないため、現時点でバックアップ可能なデータが存在しないこととなるため、データがロード又はアンロードされるまで待機する。
一方、データベース管理装置100のプロセッサ110は、カレントポインタがバックアップポインタよりも先行している場合には(S1303の結果が「Yes」)、バックアップ可能なデータが存在するため、S1301の処理で初期化されたバックアップファイルにデータを書き込む(S1304)。バックアップファイルにバックアップ可能なデータを書き込むと、バックアップポインタの値をカレントポインタの値に更新する(S1305)。
データベース管理装置100のプロセッサ110は、すべてのバックアップ対象のデータがバックアップファイルに書き込まれたか否かを判定する(S1306)。すべてのバックアップ対象のデータがバックアップファイルに書き込まれていない場合には(S1306の結果が「No」)、バックアップ処理を継続する。
一方、データベース管理装置100のプロセッサ110は、バックアップ対象のデータがすべてバックアップファイルに書き込まれた場合には(S1306の結果が「Yes」)、バックアップファイル終了処理を実行する(S1307)。バックアップファイル終了処理は、例えば、バックアップファイルをクローズする処理などである。
図14は、本発明の実施の形態のDB再編成処理の手順を説明するフローチャートである。
DB再編成処理は、前述したように、DB再編成処理部127がデータベース管理装置100のプロセッサ110に処理されることによって実行される。
本発明の実施の形態では、インメモリデータバッファ132からレコードを読み出し、詰め替え用バッファに順次格納することによって、レコードを物理的に整列させる。詰め替え用バッファに格納されたデータをページ単位でDB領域に格納することによってデータベースを再編成する。詰め替え用バッファは、レコードを整列するために読み出されたレコードを一時的に格納するためにメモリ120に割り当てられた記憶領域である。
データベース管理装置100のプロセッサ110は、データロード処理又はデータアンロード処理によって、DB再編成処理の実行が要求されると、まず、レコードを再編成するための、詰め替え用バッファを初期化する(S1401)。詰め替え用バッファの初期化とは、ワークエリア135に詰め替え用バッファを割り当てることである。なお、詰め替え用バッファのサイズは、1ページのサイズ以上であればよい。
データベース管理装置100のプロセッサ110は、次に、DB再編成ポインタを初期化する(S1402)。DB再編成ポインタとは、インメモリデータバッファ132上で、データベースの再編成が完了した領域のアドレスを示す。DB再編成ポインタの初期化とは、DB再編成ポインタをインメモリデータバッファ132の先頭アドレスに設定することである。
続いて、データベース管理装置100のプロセッサ110は、カレントポインタがDB再編成ポインタよりも先行しているか否かを判定する(S1403)。カレントポインタがDB再編成ポインタよりも先行していない場合には(S1403の結果が「No」)、詰め替え用バッファに書き込むデータが存在しないため、カレントポインタが更新されるまで待機する。
データベース管理装置100のプロセッサ110は、カレントポインタがDB再編成ポインタよりも先行している場合には(S1403の結果が「Yes」)、DB詰め替え処理を実行する(S1404)。DB詰め替え処理とは、前述したように、DB詰め替え用バッファに順次レコードを格納することである。
データベース管理装置100のプロセッサ110は、さらに、DB詰め替え処理が実行されたレコードに対応するインデクス情報を作成する(S1405)。作成されたインデクス情報は、ワークエリア135に一時的に格納される。
データベース管理装置100のプロセッサ110は、続いて、DB詰め替え用バッファが満杯であるか否かを判定する(S1406)。DB詰め替え用バッファが満杯でない場合には(S1406の結果が「No」)、DB再編成ポインタの値をカレントポインタの値に更新し(S1409)、DB再編成処理を継続する。
一方、データベース管理装置100のプロセッサ110は、DB詰め替え用バッファが満杯の場合には(S1406の結果が「Yes」)、DB詰め替え用バッファに格納されたデータをページごとにデータベース152に書き込む(S1407)。さらに、S1405の処理で作成されたインデクス情報をインデクス情報ファイルに書き込む(S1408)。そして、DB再編成ポインタの値をカレントポインタの値に更新し(S1409)、DB再編成処理を継続する。
データベース管理装置100のプロセッサ110は、インメモリデータバッファ132に格納されたデータの再編成がすべて終了したか否かを判定する(S1410)。すべてのデータの再編成が終了していない場合には(S1410の結果が「No」)、DB再編成処理を継続する。
一方、データベース管理装置100のプロセッサ110は、すべてのデータの再編成が終了した場合には(S1410の結果が「Yes」)、インデクス情報ファイルに格納されたインデクス情報に基づいて、インデクスを作成する(S1411)。その後、DB再編成処理を終了する。
図15は、本発明の実施の形態のDB最適化情報取得処理の手順を説明するフローチャートである。
多くのデータベースは、表の大きさ及びインデクスのキー値の分布などの統計情報に基づいて検索処理などを最適化する機能を有している。DB最適化情報取得処理は、この統計情報(最適化情報)を取得するための処理である。また、最適化情報は、前述したように、データの更新などによって変化するため、定期的に取得する必要がある。最適化情報は、DB定義情報151に格納される。
DB最適化情報取得処理は、前述したように、DB最適化情報取得処理部128がデータベース管理装置100のプロセッサ110に処理されることによって実行される。
データベース管理装置100のプロセッサ110は、DB最適化情報取得処理の実行が要求されると、まず、最適化情報を一時的に格納するための最適化情報ファイルを初期化する(S1501)。最適化情報ファイルは、ワークエリア135に一時的に作成され、最適化情報の集計が完了すると、DB定義情報151に格納される。最適化情報ファイルの初期化とは、例えば、ワークエリア135に領域を割り当て、ファイルを新たに作成することである。
データベース管理装置100のプロセッサ110は、続いて、情報取得ポインタを初期化する(S1502)。情報取得ポインタは、最適化情報の作成が完了したデータのアドレスである。情報取得ポインタの初期化とは、情報取得ポインタをインメモリデータバッファ132の先頭アドレスに設定することである。
続いて、データベース管理装置100のプロセッサ110は、カレントポインタが情報取得ポインタよりも先行しているか否かを判定する(S1503)。カレントポインタが情報取得ポインタよりも先行していない場合には(S1503の結果が「No」)、最適化情報を作成する対象のデータが存在しないため、カレントポインタが更新されるまで待機する。
データベース管理装置100のプロセッサ110は、カレントポインタが情報取得ポインタよりも先行している場合には(S1503の結果が「Yes」)、最適化情報抽出処理を実行する(S1504)。最適化情報抽出処理とは、読み出されたデータに基づいて、データ量、当該データ及びインデクスの分布などの情報を抽出する。さらに、抽出された最適化情報を最適化情報ファイルに書き込み(S1505)、情報取得ポインタの値をカレントポインタの値に更新する(S1506)。
データベース管理装置100のプロセッサ110は、インメモリデータバッファ132に格納されたすべてのデータについて最適化情報を抽出し、最適化情報ファイルに書き込んだか否かを判定する(S1507)。すべてのデータについて最適化情報の抽出が完了していない場合には(S1507の結果が「No」)、最適化情報取得処理を継続する。
一方、データベース管理装置100のプロセッサ110は、すべてのデータについて最適化情報の抽出が完了し、最適化情報ファイルに書き込まれた場合には(S1507の結果が「Yes」)、最適化情報ファイル集計処理を実行する(S1508)。最適化情報ファイル集計処理とは、データごとに抽出されたデータ量及びデータの分布などを処理することによって、統計情報を集計する処理である。最適化情報ファイル集計処理が完了すると、集計結果をDB定義情報151に反映させる最適化情報更新処理を実行する(S1508)。最後に、最適化情報ファイルを削除し、ワークエリア135内の領域を解放し、DB最適化情報取得処理を終了する。
最後に、インメモリデータ処理におけるデータアクセス手順について説明する。
図16は、本発明の実施の形態のインメモリデータ処理におけるDBアクセス処理の手順を説明するフローチャートである。
本発明の実施の形態では、オンライン業務が停止された後、バッチ業務においてインメモリデータ処理が実行される。図16に示す処理は、バッチ業務において要求されたDBアクセス処理を実行するための処理である。
データベース管理装置100のプロセッサ110は、DBアクセス要求を受け付けると、DBアクセス要求解析部121によって、要求内容を解析する。そして、DBアクセス処理部122を実行し、解析結果に基づいて、要求された処理が検索処理か否かを判定する(S1601)。
データベース管理装置100のプロセッサ110は、要求された処理が検索処理の場合には(S1601の結果が「Yes」)、DB検索処理を実行し(S1602)、DBアクセス処理を終了する。
データベース管理装置100のプロセッサ110は、要求された処理が検索処理でない場合には(S1601の結果が「No」)、要求された処理が更新処理か否かを判定する(S1603)。要求された処理が更新処理でない場合には(S1603の結果が「No」)、DBアクセス処理を終了する。
データベース管理装置100のプロセッサ110は、要求された処理が更新処理の場合には(S1603の結果が「Yes」)、DB更新処理を実行する(S1604)。さらに、更新されたデータベース領域に対応するインメモリ管理テーブル131の更新有無フラグを「ON」に設定する(S1605)。S1605の処理によって、インメモリデータバッファ132に格納されたデータが格納されたか否かをメモリアンロード処理において判定することができる。
本発明の実施の形態では、外部記憶媒体に対する多量のデータ入出力が発生するバッチ業務を実行する際に、すべての処理対象のデータをメモリに格納するインメモリデータ処理を実行する。本発明の実施の形態によれば、バッチ業務を実行する際に、メモリに格納されたデータを利用してバックアップなどの運用業務を実行することによって、外部記憶媒体からデータを読み出すための時間を削減することができる。したがって、バッチ業務及び運用業務の総所要時間が短縮され、オンライン業務を再開するまでの時間を短縮することができる。
本発明の実施の形態の計算機システムの構成を示す図である。 本発明の実施の形態のインメモリ管理テーブルの一例を示す図である。 本発明の実施の形態のデータベース管理装置による運用手順を示す図であって、オンライン業務を停止させ、グローバルバッファに格納されたデータとデータベースに格納されたデータとを同期させる処理について説明する図である。 本発明の実施の形態のデータベース管理装置による運用手順を示す図であって、オンライン業務停止後、バッチ業務を開始する前にバックアップを取得する処理について説明する図である。 本発明の実施の形態のデータベース管理装置による運用手順を示す図であって、バッチ業務1によって更新されたインメモリデータバッファに格納されたデータと、データベースに格納されたデータとを同期させるとともに、運用業務を実行する手順について説明する図である。 本発明の実施の形態のデータベース管理装置による運用手順を示す図であって、バッチ業務2の開始から、終了後にインメモリデータバッファに格納されたデータによって、データベースを再編成させる手順について説明する図である。 本発明の実施の形態のデータベース管理装置による運用手順を示す図であって、バッチ業務2の終了後、オンライン業務を再開する手順について説明する図である。 本発明の実施の形態のメモリロード処理におけるバックアップ処理の概要を説明する図である。 本発明の実施の形態のメモリアンロード処理におけるバックアップ処理の概要を説明する図である。 本発明の実施の形態のメモリアンロード処理におけるデータベース再編成処理の概要を説明する図である。 本発明の実施の形態のメモリロード処理の手順を説明するフローチャートである。 本発明の実施の形態のメモリアンロード処理の手順を説明するフローチャートである。 本発明の実施の形態のDBバックアップ処理の手順を説明するフローチャートである。 本発明の実施の形態のDB再編成処理の手順を説明するフローチャートである。 本発明の実施の形態のDB最適化情報取得処理の手順を説明するフローチャートである。 本発明の実施の形態のインメモリデータ処理におけるDBアクセス処理の手順を説明するフローチャートである。
符号の説明
100 データベース管理装置
110 プロセッサ
120 メモリ
121 DBアクセス要求解析部
122 DBアクセス処理部
123 インメモリ要求解析部
124 インメモリ処理部
125 DB運用処理部
126 DBバックアップ処理部
127 DB再編成処理部
128 DB最適化情報取得処理部
131 インメモリ管理テーブル
132 インメモリデータバッファ
133 グローバルバッファ
134 ログ用バッファ
135 ワークエリア
140 インターフェース
150 ストレージ装置
151 DB定義情報
152 データベース
153 ログ
160 ネットワーク
170 端末
180 バックアップ装置

Claims (3)

  1. ストレージ装置に格納されたデータベースを管理するデータベース管理装置におけるデータベース管理方法であって、
    前記データベース管理装置は
    前記ストレージ装置に接続されるインターフェース、前記インターフェースに接続されるプロセッサ及び前記プロセッサに接続されるメモリを備え、
    前記データベースに格納されたデータの複製を格納するバックアップ装置に接続され、
    前記方法は、前記データベース管理装置が、
    前記ストレージ装置の前記データベースに格納されたデータを前記メモリに順次記憶するロード処理を実行し、
    前記ストレージ装置にアクセスすることなく、前記メモリに記憶されたデータを読み書きすることによってバッチ業務を実行し、
    前記バッチ業務の終了後に、前記メモリに記憶されたデータを前記ストレージ装置に順次書き込むアンロード処理を実行し、
    前記ロード処理及び前記アンロード処理を実行する少なくともいずれか一方のタイミングで、前記メモリに記憶されたデータを利用して、前記データベースの運用処理を実行し、
    前記運用処理として、前記ロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第1バックアップ処理を実行する場合には、前記ストレージ装置から読み出されたデータを書き込む前記メモリ上の位置を示すポインタを第1のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第1のバックアップポインタとし、当該第1のカレントポインタを当該第1のバックアップポインタが追い越さないように制御しながら、前記ロード処理と前記第1のバックアップ処理とを並行して実行し、
    前記運用処理として、前記アンロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第2バックアップ処理を実行する場合には、前記ストレージ装置に格納するデータを前記メモリから読み出す位置を示すポインタを第2のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第2のバックアップポインタとし、当該第2のカレントポインタを当該第2のバックアップポインタが追い越さないように制御しながら、前記アンロード処理と前記第2のバックアップ処理とを並行して実行し、
    前記運用処理として、前記アンロード処理実行時に前記データベースに格納されたデータを再配置する再編成処理を実行する場合には、前記メモリに格納されたデータをレコード単位で順次読み出し、前記メモリに割り当てられた詰め替えバッファに格納し、当該詰め替えバッファに格納されたデータをページ単位で前記ストレージ装置に格納することを特徴とするデータベース管理方法。
  2. データベースを格納するストレージ装置及び前記データベースに格納されたデータの複製を格納するバックアップ装置に接続され、前記データベースを管理するデータベース管理装置であって、
    前記データベースを記憶するメモリと、
    前記メモリに格納されたデータを処理するインメモリ処理部と、
    前記データベースの運用処理を行うデータベース運用処理部と、を備え、
    前記インメモリ処理部は、
    前記ストレージ装置の前記データベースに格納されたデータを前記メモリに順次記憶するロード処理を実行し、
    前記ストレージ装置にアクセスすることなく、前記メモリに記憶されたデータを読み書きすることによってバッチ業務を実行し、
    前記バッチ業務の終了後に、前記メモリに記憶されたデータを前記ストレージ装置に順次書き込むアンロード処理を実行し、
    前記データベース運用処理部は、
    前記ロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第1バックアップ処理を実行する場合には、前記ストレージ装置から読み出されたデータを書き込む前記メモリ上の位置を示すポインタを第1のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第1のバックアップポインタとし、当該第1のカレントポインタを当該第1のバックアップポインタが追い越さないように制御しながら、前記ロード処理と前記第1のバックアップ処理とを並行して実行し、
    前記アンロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第2バックアップ処理を実行する場合には、前記ストレージ装置に格納するデータを前記メモリから読み出す位置を示すポインタを第2のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第2のバックアップポインタとし、当該第2のカレントポインタを当該第2のバックアップポインタが追い越さないように制御しながら、前記アンロード処理と前記第2のバックアップ処理とを並行して実行し、
    前記アンロード処理実行時に前記データベースに格納されたデータを再配置する再編成処理を実行する場合には、前記メモリに格納されたデータをレコード単位で順次読み出し、前記メモリに割り当てられた詰め替えバッファに格納し、当該詰め替えバッファに格納されたデータをページ単位で前記ストレージ装置に格納することを特徴とするデータベース管理装置。
  3. ストレージ装置に格納されたデータベースを管理するデータベース管理装置で実行されるデータベース管理プログラムであって、
    前記ストレージ装置の前記データベースに格納されたデータを前記データベース管理装置に備えられたメモリに順次記憶するロード処理を実行する手順と、
    前記ストレージ装置にアクセスすることなく、前記メモリに記憶されたデータを読み書きすることによってバッチ業務を実行する手順と、
    前記バッチ業務の終了後に、前記メモリに記憶されたデータを前記ストレージ装置に順次書き込むアンロード処理を実行する手順と、
    前記ロード処理及び前記アンロード処理を実行する少なくともいずれか一方のタイミングで、前記メモリに記憶されたデータを利用して、前記データベースの運用処理を実行する手順と、
    前記運用処理として、前記ロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第1バックアップ処理を実行する場合には、前記ストレージ装置から読み出されたデータを書き込む前記メモリ上の位置を示すポインタを第1のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第1のバックアップポインタとし、当該第1のカレントポインタを当該第1のバックアップポインタが追い越さないように制御しながら、前記ロード処理と前記第1のバックアップ処理とを並行して実行する手順と、
    前記運用処理として、前記アンロード処理実行時に前記データベースに格納されたデータを前記バックアップ装置に格納する第2バックアップ処理を実行する場合には、前記ストレージ装置に格納するデータを前記メモリから読み出す位置を示すポインタを第2のカレントポインタとし、前記バックアップ装置に書き込むデータを前記メモリから読み出す位置を示すポインタを第2のバックアップポインタとし、当該第2のカレントポインタを当該第2のバックアップポインタが追い越さないように制御しながら、前記アンロード処理と前記第2のバックアップ処理とを並行して実行する手順と、
    前記運用処理として、前記アンロード処理実行時に前記データベースに格納されたデータを再配置する再編成処理を実行する場合には、前記メモリに格納されたデータをレコード単位で順次読み出し、前記メモリに割り当てられた詰め替えバッファに格納し、当該詰め替えバッファに格納されたデータをページ単位で前記ストレージ装置に格納する手順と、を含むことを特徴とするデータベース管理プログラム。
JP2008202920A 2008-08-06 2008-08-06 データベース管理方法、データベース管理装置及びデータベース管理プログラム Expired - Fee Related JP4589427B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008202920A JP4589427B2 (ja) 2008-08-06 2008-08-06 データベース管理方法、データベース管理装置及びデータベース管理プログラム
US12/370,942 US8161006B2 (en) 2008-08-06 2009-02-13 Database management method, database management apparatus, and database management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008202920A JP4589427B2 (ja) 2008-08-06 2008-08-06 データベース管理方法、データベース管理装置及びデータベース管理プログラム

Publications (2)

Publication Number Publication Date
JP2010039819A JP2010039819A (ja) 2010-02-18
JP4589427B2 true JP4589427B2 (ja) 2010-12-01

Family

ID=41653887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008202920A Expired - Fee Related JP4589427B2 (ja) 2008-08-06 2008-08-06 データベース管理方法、データベース管理装置及びデータベース管理プログラム

Country Status (2)

Country Link
US (1) US8161006B2 (ja)
JP (1) JP4589427B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180728B2 (en) * 2009-09-21 2012-05-15 Bmc Software, Inc. Area-specific reload of database
US8266125B2 (en) * 2009-10-01 2012-09-11 Starcounter Ab Systems and methods for managing databases
US9251214B2 (en) * 2010-04-08 2016-02-02 Microsoft Technology Licensing, Llc In-memory database system
US8938480B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for fast loading of data from an external distributed file system to a database management system
CN104137100B (zh) * 2013-03-04 2017-11-24 株式会社东芝 数据库装置、程序及数据处理方法
JP5836422B2 (ja) * 2014-04-14 2015-12-24 株式会社Tkc データ一致化のための方法およびシステム
US9984118B2 (en) * 2014-07-10 2018-05-29 Sap Se Data loading techniques for an in-memory database
JP2016184272A (ja) * 2015-03-26 2016-10-20 日本電気株式会社 データベース管理システム、そのバッファリング方法およびコンピュータ・プログラム
US11086832B2 (en) * 2015-10-16 2021-08-10 Sap Se Out of memory error handling for data definition language operations
US10013214B2 (en) * 2015-12-29 2018-07-03 International Business Machines Corporation Adaptive caching and dynamic delay scheduling for in-memory data analytics
US11163616B2 (en) 2017-03-07 2021-11-02 Polyjuice Ab Systems and methods for enabling interoperation of independent software applications
JP2019191909A (ja) * 2018-04-25 2019-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
JP7421078B2 (ja) * 2020-01-20 2024-01-24 富士通株式会社 情報処理装置、情報処理システムおよびデータ再配置プログラム
CN113656362B (zh) * 2021-08-20 2024-02-23 中国银行股份有限公司 Spark流文件存储方法及装置
WO2023218541A1 (ja) * 2022-05-10 2023-11-16 ファナック株式会社 情報記録装置及び情報記録方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04163638A (ja) * 1990-10-29 1992-06-09 Toshiba Corp 二重化ディスク制御方式
JPH086829A (ja) * 1994-06-17 1996-01-12 Hitachi Ltd データベースの同時全件検索方法
JPH0926906A (ja) * 1995-07-10 1997-01-28 Hitachi Ltd メモリデータベースの回復方法
JP2004178035A (ja) * 2002-11-25 2004-06-24 Hitachi Ltd データベース運用管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164318A (ja) * 2002-11-13 2004-06-10 Hitachi Ltd バックアップデータの世代管理方法およびこの方法に用いる記憶制御装置
US7958091B2 (en) * 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04163638A (ja) * 1990-10-29 1992-06-09 Toshiba Corp 二重化ディスク制御方式
JPH086829A (ja) * 1994-06-17 1996-01-12 Hitachi Ltd データベースの同時全件検索方法
JPH0926906A (ja) * 1995-07-10 1997-01-28 Hitachi Ltd メモリデータベースの回復方法
JP2004178035A (ja) * 2002-11-25 2004-06-24 Hitachi Ltd データベース運用管理方法

Also Published As

Publication number Publication date
JP2010039819A (ja) 2010-02-18
US20100036890A1 (en) 2010-02-11
US8161006B2 (en) 2012-04-17

Similar Documents

Publication Publication Date Title
JP4589427B2 (ja) データベース管理方法、データベース管理装置及びデータベース管理プログラム
US8316065B2 (en) Data migration system and data migration method
US7325110B2 (en) Method for acquiring snapshot
JP7050034B2 (ja) ストレージシステム及びノード管理方法
US7765189B2 (en) Data migration apparatus, method, and program for data stored in a distributed manner
US9355098B2 (en) Restore of full system backup and incremental backups using multiple simultaneous device streams
US7827368B2 (en) Snapshot format conversion method and apparatus
US9632949B2 (en) Storage management method, storage management system, computer system, and program
US20140040331A1 (en) Computer system, file management method and metadata server
US8682941B2 (en) Database apparatus
JP4916892B2 (ja) トランザクション処理のためのログ情報管理システムおよび方法
US20070233753A1 (en) Database system management method, database system, database device, and backup program
JP2010134522A (ja) データベース管理方法、データベース管理プログラム、および、データベース管理装置
US6658541B2 (en) Computer system and a database access method thereof
US10599359B2 (en) Data migration system and method thereof
JP5547814B2 (ja) 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体
CN108475201A (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
US11442663B2 (en) Managing configuration data
JP2000330729A (ja) オンラインバックアップ機能を持つディスクアレイシステム
JP2013088920A (ja) 計算機システム及びデータ管理方法
JP6707754B2 (ja) データベース管理システム及び方法
WO2016001959A1 (ja) ストレージシステム
JP2004062781A (ja) 情報管理装置
US12007842B2 (en) Database node soft restart
US20210034580A1 (en) Method, apparatus and computer program product for maintaining metadata

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100909

R150 Certificate of patent or registration of utility model

Ref document number: 4589427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees