(57)【要約】【課題】データファイルの差分データをバックアップするための更新情報を効率よく集めること。【解決手段】実施形態によれば、情報処理装置は、データファイルが格納される第1の記憶装置と、第２の記憶装置と、前記データファイルの更新が要求された場合、前記データファイル内の更新位置を示す位置情報と更新されるデータとを含む更新情報を、複数の更新情報が前記第２の記憶装置の連続した記憶領域に各更新情報の要求順に記憶されるように、前記第２の記憶装置に格納する第１の格納手段と、第３の記憶装置と、前記第２の記憶装置に格納されている更新情報の容量が設定量を超えた場合に、前記第２の記憶装置に格納されている更新情報を前記第２の記憶装置に格納された順に第３の記憶装置のアドレスが連続する空き領域に格納する第２の格納手段とを具備する。【選択図】図４
2014127015.tif 000002
【特許請求の範囲】
【請求項１】
データファイルが格納される第1の記憶装置と、
第２の記憶装置と、
前記データファイルの更新が要求された場合、前記データファイル内の更新位置を示す位置情報と更新されるデータとを含む更新情報を、複数の更新情報が前記第２の記憶装置の連続した記憶領域に各更新情報の要求順に記憶されるように、前記第２の記憶装置に格納する第１の格納手段と、
第３の記憶装置と、
前記第２の記憶装置に格納されている更新情報の容量が設定量を超えた場合に、前記第２の記憶装置に格納されている更新情報を前記第２の記憶装置に格納された順に第３の記憶装置のアドレスが連続する空き領域に格納する第２の格納手段と
を具備する情報処理装置。
【請求項２】
復元ポイントを示す復元ポイント情報を受信した場合、前記第２の記憶装置に最後に要求された更新情報が格納されている前記第２の記憶装置の記憶領域の後の前記第２の記憶装置の記憶領域から連続する記憶領域に、前記復元ポイント情報を格納する第３の格納手段を更に具備する請求項１に記載の情報処理装置。
【請求項３】
前記第２の記憶装置に格納されているデータの量が設定量を超えた場合に、前記第２の格納手段は、前記第２の記憶装置に格納されている更新情報および前記復元ポイント情報を前記第２の記憶装置に格納された順に前記第３の記憶装置の前記第３の記憶装置のアドレスが連続する空き領域に格納する
請求項２に記載の情報処理装置。
【請求項４】
前記第２の記憶装置に格納されている更新情報の容量または個数が設定値を超えた場合に、前記第２の格納手段は、前記データファイルに基づいた情報を第４の記憶装置に格納する
請求項１に記載の情報処理装置。
【請求項５】
前記第２の記憶装置のランダムアクセス速度は、前記第１の記憶装置のランダムアクセス速度および前記第１の記憶装置のランダムアクセス速度より速く
前記第２の記憶装置のランダムアクセス速度は、前記第１の記憶装置のランダムアクセス速度より遅い
請求項１に記載の情報処理装置。
【請求項６】
ネットワークに接続され、分散データベースを構成するための複数の情報処理装置を有する分散データベースシステムであって、
各情報処理装置は、
前記データファイルは、データベースファイルの全体が、パーティションとして分割された分散データベースファイルが格納される第1の記憶装置と、
第２の記憶装置と、
前記データファイルの更新が要求された場合、前記データファイル内の更新位置を示す位置情報と更新されるデータとを含む更新情報を、複数の更新情報が前記第２の記憶装置の連続した記憶領域に各更新情報の要求順に記憶されるように、前記第２の記憶装置に格納する第１の格納手段と、
第３の記憶装置と、
前記第２の記憶装置に格納されている更新情報の容量が設定量を超えた場合に、前記第２の記憶装置に格納されている更新情報を前記第２の記憶装置に格納された順に第３の記憶装置のアドレスが連続する空き領域に格納する第２の格納手段と
を具備する分散データベースシステム。
【請求項７】
復元ポイントを示す復元ポイント情報を受信した場合、前記第２の記憶装置に最後に要求された更新情報が格納されている前記第２の記憶装置の記憶領域の後の前記第２の記憶装置の記憶領域から連続する記憶領域に、前記復元ポイント情報を格納する第３の格納手段を更に具備する請求項６に記載の分散データベースシステム。
【請求項８】
前記第２の記憶装置に格納されているデータの量が設定量を超えた場合に、前記第２の格納手段は、前記第２の記憶装置に格納されている更新情報および前記復元ポイント情報を前記第２の記憶装置に格納された順に前記第３の記憶装置の前記第３の記憶装置のアドレスが連続する空き領域に格納する
請求項７に記載の分散データベースシステム。
【請求項９】
前記第２の記憶装置に格納されている更新情報の容量または個数が設定値を超えた場合に、前記第２の格納手段は、前記データファイルに基づいた情報を第４の記憶装置に格納する
請求項６に記載の分散データベースシステム。
【請求項１０】
前記第２の記憶装置のランダムアクセス速度は、前記第１の記憶装置のランダムアクセス速度および前記第１の記憶装置のランダムアクセス速度より速く
前記第２の記憶装置のランダムアクセス速度は、前記第１の記憶装置のランダムアクセス速度より遅い
請求項６に記載の分散データベースシステム。
【請求項１１】
ネットワークに接続され、分散データベースを構成するための複数の情報処理装置を有する分散データベースシステムにおいて、各情報処理装置によって実行されるバックアップ方法であって、
前記データファイルの更新が要求された場合、前記データファイル内の更新位置を示す位置情報と更新されるデータとを含む更新情報を、複数の更新情報が前記第２の記憶装置の連続した記憶領域に各更新情報の要求順に記憶されるように、前記第２の記憶装置に格納し、
前記第２の記憶装置に格納されている更新情報の容量が設定量を超えた場合に、前記第２の記憶装置に格納されている更新情報を前記第２の記憶装置に格納された順に第３の記憶装置のアドレスが連続する空き領域に格納する
バックアップ方法。
【請求項１２】
復元ポイントを示す復元ポイント情報を受信した場合、前記第２の記憶装置に最後に要求された更新情報が格納されている前記第２の記憶装置の記憶領域の後の前記第２の記憶装置の記憶領域から連続する記憶領域に、前記復元ポイント情報を格納する
請求項１１に記載のバックアップ方法。
【請求項１３】
前記第２の記憶装置に格納されているデータの量が設定量を超えた場合に、前記第２の記憶装置に格納されている更新情報および前記復元ポイント情報を前記第２の記憶装置に格納された順に前記第３の記憶装置の前記第３の記憶装置のアドレスが連続する空き領域に格納する
請求項１２に記載のバックアップ方法。
【請求項１４】
前記第２の記憶装置に格納されている更新情報の容量が設定量を超えた場合に、前記データファイルに基づいたパーティショニング情報を第４の記憶装置に格納する
請求項１１に記載のバックアップ方法。
【請求項１５】
前記第２の記憶装置のランダムアクセス速度は、前記第１の記憶装置のランダムアクセス速度および前記第１の記憶装置のランダムアクセス速度より速く
前記第２の記憶装置のランダムアクセス速度は、前記第１の記憶装置のランダムアクセス速度より遅い
請求項１１に記載のバックアップ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、本発明の実施形態は、例えば分散データベースに好適なデータバックアップ技術に関する。
【背景技術】
【０００２】
データを大量に格納し、かつ、データの書き込み／読み出しを高速に処理するためのストレージシステムが種々開発されている。この種のストレージシステムにおいては、データを保全するためのデータバックアップが非常に重要である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１６８５５５号公報
【特許文献２】特開平９−２１２４０１号公報
【特許文献３】特開２００３−３４５６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
分散データベースは、複数のノードにデータを分散し、並列度を上げることで、データの書き込み／読み出しの性能を向上させるストレージシステムである。通常、分散データベースに対してデータの書き込み／読み出しを要求するホストマシンは、分散データベースを構成する各ノードを意識することはない。なお、ここでは、分散データベースに対してデータの書き込み／読み出しを要求するマシンをホストマシンと称しており、分散データベースの管理を司るマシンを表すものではない。
【０００５】
アクセス速度が異なる複数の階層の記憶装置を用いて、分散データベースファイルを格納する場合がある。バックアップを行う場合、アクセス速度が不均質な各階層の速度差のため差分バックアップするための更新情報を効率よく集めることが困難で、データ領域全体をまとめてバックアップする必要があった。
【０００６】
本発明の目的は、データファイルの差分データをバックアップするための更新情報を効率よく集めることが可能な情報処理装置、分散データベースファイル、およびバックアップ方法を提供することにある。
【課題を解決するための手段】
【０００７】
実施形態によれば、情報処理装置は、データファイルが格納される第1の記憶装置と、第２の記憶装置と、前記データファイルの更新が要求された場合、前記データファイル内の更新位置を示す位置情報と更新されるデータとを含む更新情報を、複数の更新情報が前記第２の記憶装置の連続した記憶領域に各更新情報の要求順に記憶されるように、前記第２の記憶装置に格納する第１の格納手段と、第３の記憶装置と、前記第２の記憶装置に格納されている更新情報の容量が設定量を超えた場合に、前記第２の記憶装置に格納されている更新情報を前記第２の記憶装置に格納された順に第３の記憶装置のアドレスが連続する空き領域に格納する第２の格納手段とを具備する。
【図面の簡単な説明】
【０００８】
【図１】実施形態の分散データベースシステムの構成の一例を示す模式図。
【図２】実施形態の情報処理装置の構成を示すブロック図。
【図３】図２の分散データベースシステムアプリケーションプログラムの構成を示すブロック図。
【図４】データベース管理システムアプリケーションプログラムによる処理の説明に用いる模式図。
【図５】データベース管理システムアプリケーションプログラムによる処理の説明に用いる模式図。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。
【００１０】
図１は、本実施形態の情報処理装置をノード１０として適用した分散データベースシステム１００の一構築例を示す図である。図１に示すように、分散データベースシステム１００は、データ通信路Ａに接続された複数のノード１０によって構成される。なお、分散データベースシステム１００の構成方法として、（ａ）複数のノード１０の中のいずれか１つがマスタとなって分散データベースシステム１００全体の制御を司る、（ｂ）複数のノード１０が同等の立場で予め定められた規則に沿って分散データベースシステム１００の一員として自立的に動作する、（ｃ）複数のノード１０とは別に分散データベースシステム１００全体の制御を司る上位ノードを設ける等、種々の方法を採用し得るが、後述するデータバックアップの仕組みは、いずれの方法にも限定されない。
【００１１】
いま、分散データベースシステム１００に対してホストマシンからデータの読み出しが要求されたと想定する。上記（ａ）の場合、ホストマシンからの要求は、マスタとなっているノード１０によって受け付けられ、そのデータを保持するノード１０が判断されて、（自ノードでなければ）該ノード１０に伝達される。上記（ｂ）の場合、各ノード１０が、ホストマシンからの要求を受け付け、そのデータが自ノードに保持されるデータか否かを判断し、自ノードに保持されるデータであると判断したいずれか１つのノード１０が、その読み出し処理を実行する。また、上記（ｃ）の場合、ホストマシンからの要求は、上位ノードによって受け付けられ、そのデータを保持するノード１０が判断されて、該ノード１０に伝達される。
【００１２】
また、図２に示すように、ノード１０は、通信＆Ｉ／Ｏコントローラ１１、キャッシュ記憶装置１２、通常記憶装置１３、およびバックアップ記憶装置１４を具備している。通信＆Ｉ／Ｏコントローラ１１は、ノード１０の制御を司るデバイスであり、第１に、他のノード１０との間の通信を実行する機能を有する。また、ノード１０は、データベース管理システムアプリケーションプログラム２０を実行するためのＣＰＵ（Central Processing Unit）を有する。データベース管理システムアプリケーションプログラム２０は、分散データベースを管理するためのプログラムである。
【００１３】
データベース管理システムアプリケーションプログラム２０は、通信＆Ｉ／Ｏコントローラ１１が受信したホストマシン１からの要求に基づいて、分散データベースファイルの更新を行う。また、データベース管理システムアプリケーションプログラム２０は、通信＆Ｉ／Ｏコントローラ１１が受信したホストマシン１からの要求に基づいて、分散データベースファイルからのデータの読み出し、および読み出されたデータの送信を行う。
【００１４】
キャッシュ記憶装置１２、通常記憶装置１３、およびバックアップ記憶装置１４によって、３つの階層が構成される。キャッシュ記憶装置１２のランダムアクセス速度は、３種類の記憶装置の内で一番速い。通常記憶装置１３のランダムアクセス速度はキャッシュ記憶装置１２より低速である。バックアップ記憶装置１４はランダムアクセスできなくてもよく、ランダムアクセス可能な装置であっても通常記憶装置１３より低速である。通常記憶装置１３やバックアップ記憶措置１５のシーケンシャルアクセス速度は、キャッシュ記憶装置１２に比べて同程度かそれ以上、低速であってもランダムアクセス性能ほどは低速ではない。
【００１５】
通常記憶装置１３には、分散データベースファイルと、パーティショニング情報が格納されている。データベースファイルの全体が、パーティションとして分割される。分散データベースファイルは、パーティションとして分割されたデータベースファイルである。分散データベースファイルは、データベースファイルの一部である。パーティショニング情報は、分割されたそれぞれのパーティション（分散データベースファイル）が格納されているノードを示す情報を有する。
【００１６】
各ノード１０は、分散データベースシステム１００全体のステータス情報やパーティショニング情報を保有しており、通信＆Ｉ／Ｏコントローラ１１の通信機能により、これらの情報を分散データベースシステム１００内において同期させている。パーティショニング情報は、分散データベースシステム１００全体の記憶領域を区分けして作成される各パーティションがどのノード１０に配置されているかを示す情報である。
【００１７】
また、パーティショニング情報内に、分散データベースファイル（表）内の中の１個以上の列を対象に作成され、ランダムな参照処理や一定の順序でのレコードへのアクセスの効率を高めるための索引を有していても良い。索引は、分散データベースファイルへの処理を高速化するためのデータ構造を有する。
また、パーティショニング情報内に、分散データベース、索引の特性（データサイズやデータの分布等）をまとめた統計情報が含まれていても良い。統計情報は、表のサイズ、行数、１行当たりの平均サイズ等の表に対する統計を含む。また、統計情報は、列データの種類数、データ分布（ヒストグラム）等の表内の列に対する統計を含む。また、統計情報は、索引のサイズ、階層数、クラスタ化係数等の索引に対する統計を含む。また、統計情報は、サーバのＩ／ＯやＣＰＵの処理能力等のシステム（ノード）に対する統計を含む。
【００１８】
また、通信＆Ｉ／Ｏコントローラ１１は、第２に、キャッシュ記憶装置１２、通常記憶装置１３、およびバックアップ記憶装置１４に対するデータ入出力を制御する機能を有する。
【００１９】
より具体的には、通信＆Ｉ／Ｏコントローラ１１は、データベース管理システムアプリケーションプログラム２０からの要求に基づいて、キャッシュ記憶装置１２、通常記憶装置１３、およびバックアップ記憶装置１４に対するデータの書き込み／読み出しを実行する。
【００２０】
図３は、データベース管理システムアプリケーションプログラム２０の構成を示すブロック図である。  
データベース管理システムアプリケーションプログラム２０は、データ領域更新部２１、パーティショニング情報更新部２２、バックアップ部２３、および復元ポイント挿入部２４等を有する。
【００２１】
図４は、データベース管理システムアプリケーションプログラム２０による処理の説明に用いる模式図である。  
データ領域更新部２１は、ホストマシン１からの更新要求に応じて、通常記憶装置１３内の分散データベースファイル１０１を更新する。データ領域更新部２１は、更新要求を更新情報１０２としてキャッシュ記憶装置１２内に格納する。更新情報は、自ノードの分散データベースファイルに対して、分散データベースファイル内のデータの更新を要求するアクセスがあった場合に、キャッシュ記憶装置に書き込まれる。データ更新情報は、分散データベースファイル内の更新位置を示す位置情報と更新されるデータとを有する。
【００２２】
データ領域更新部２１は、キャッシュ記憶装置１２のアドレスが連続する空き領域に更新情報１０２を格納する。データ領域更新部２１は、キャッシュ記憶装置１２内のデータが格納されていない領域の内のアドレス番号が小さいアドレスから連続するアドレスの記憶領域に情報を書き込むことが好ましい。キャッシュ記憶装置１２内のデータが格納されていない領域の内のアドレス番号が小さいアドレスから連続するアドレスの記憶領域に更新情報を書き込むことで、キャッシュ記憶装置内に複数の更新情報がアクセス順に連続して格納される。
【００２３】
パーティショニング情報更新部２２は、定期的に分散データベースファイルに応じてパーティショニング情報１０３を更新する。
【００２４】
キャッシュ記憶装置１２内の複数の更新情報１１２の容量または更新情報の数が設定値より大きくなった場合、バックアップ部２３は、キャッシュ記憶装置１２内の複数の更新情報１１２をバックアップ記憶装置１４にコピーする（図４の符号１２２）。バックアップ部２３は、キャッシュ記憶装置１２内の複数の更新情報１１２が格納されている記憶領域の先頭アドレスから順に更新情報を読み出して、バックアップ記憶装置１４にコピーする。更新情報は、アクセス順に格納されるので、バックアップ部２３は、アクセス順を知らなくても、更新情報のアクセス順にアクセスすることが可能になる。
【００２５】
コピーの際、バックアップ部２３は、バックアップ記憶装置１４のアドレスが連続する空き領域に更新情報をコピーする。バックアップ部２３は、バックアップ記憶装置１４内のデータが格納されていない領域の内のアドレス番号が小さいアドレスから連続するアドレスの記憶領域に更新情報を書き込むことが好ましい。バックアップ記憶装置１４内のデータが格納されていない領域の内のアドレス番号が小さいアドレスから連続するアドレスの記憶領域に更新情報を書き込むことで、バックアップ記憶装置１４内に複数の更新情報が連続して格納される。
【００２６】
コピー後、バックアップ部２３は、高速キャッシュ領域内の更新情報１１２を消去する。消去の際に、バックアップ部２３は、パーティショニング情報１０３をバックアップ記憶装置１４にコピーすることによって、パーティショニング情報のバックアップファイル１１３を作成する。
【００２７】
なお、バックアップ記憶装置１４に複数のパーティションを設定し、パーティショニング情報１１３が格納されるパーティションと複数の更新情報１２２が格納されるパーティションとを別のパーティションにしても良い。また、パーティショニング情報１１３用の別のバックアップ記憶装置を用意し、パーティショニング情報１１３を別のバックアップ記憶装置に格納するようにしても良い。
【００２８】
図５は、データベース管理システムアプリケーションプログラム２０による処理の説明に用いる模式図である。  
また、復元ポイントを指定するために、定期的、または、管理者の指定により、例えばホストマシン１、または、マスターとなっているノード、または、上位ノードなどから、復元ポイント情報が各ノードに送られる。
【００２９】
復元ポイント情報を受信した場合、各ノードの復元ポイント挿入部２４は、キャッシュ記憶装置１２内のアドレスが連続する空き領域に復元ポイント情報１０４を書き込む。バックアップ記憶装置１４内のデータが格納されていない領域の内のアドレス番号が小さいアドレスから連続するアドレスの記憶領域に復元ポイント情報１０４を書き込むことが好ましい。
【００３０】
バックアップ部２３は、キャッシュ記憶装置１２内の更新情報をバックアップ記憶装置１４にコピーする際、復元ポイント情報もコピーする。バックアップ部２３は、バックアップ記憶装置１４のアドレスが連続する空き領域に復元ポイント情報をコピーする。バックアップ部２３は、キャッシュ記憶装置１２内の複数の更新情報１１２および復元ポイント情報１０４が格納されている記憶領域の先頭アドレスから順に更新情報を読み出して、バックアップ記憶装置１４にコピーする。更新情報１１２および復元ポイント情報１０４は、アクセス順に格納されるので、バックアップ部２３は、アクセス順を知らなくても、更新情報１１２および復元ポイント情報１０４をアクセス順にアクセスすることが可能になる。
【００３１】
バックアップ部２３は、バックアップ記憶装置１４内のデータが格納されていない領域の内のアドレス番号が小さいアドレスから連続するアドレスの記憶領域に更新情報及び復元ポイント情報を書き込むことが好ましい。バックアップ記憶装置１４内のデータが格納されていない領域の内のアドレス番号が小さいアドレスから連続するアドレスの記憶領域に復元ポイント情報を書き込むことで、バックアップ記憶装置１４内に複数の更新情報および復元ポイント情報が連続して格納される。
【００３２】
上記の手順で、キャッシュ記憶装置１２から更新情報１１２および復元ポイント情報１０４が格納されている記憶領域の先頭アドレスから順に更新情報を読み出して、バックアップ記憶装置１４にコピーしてバックアップを取ることで、階層を持つ記憶装置の高速性を生かしたまま、差分バックアップを効率的に取ることが可能になる。
【００３３】
また、バックアップ時によりキャッシュ記憶装置に格納されているデータを変化させないため、分散データベースシステム１００のパフォーマンスを変化させないバックアップ方法が行えるようになる。
【００３４】
バックアップ記憶装置１４内に格納されているバックアップデータに基づいて分散データベースファイルを復元する手順は、バックアップ記憶装置１４に連続する領域に格納されている更新情報を指定した復元ポイントまで逐次適用することで再現する。
【００３５】
なお、更新情報すべてを記憶するのではなく、通常記憶装置１３内での記憶場所のみをキャッシュ記憶装置１２に記憶しておき、バックアップ記憶装置１４にコピーする代わりに、記憶場所に基づいて当該データを通常記憶装置１３からバックアップ記憶装置１４にコピーしても良い。これによりキャッシュ記憶装置１２の容量を節約した差分バックアップを可能にする。
【００３６】
なお、本実施形態のデータの更新要求に応じてデータを格納する手順及びデータバックアップの手順は全てソフトウェアによって実現することができるので、このソフトウェアをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータに導入することにより、本実施形態と同様の効果を容易に実現することができる。
【００３７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３８】
Ａ…データ通信路、１…ホストマシン、１０…ノード、１１…Ｉ／Ｏコントローラ、１２…キャッシュ記憶装置、１３…通常記憶装置、１４…バックアップ記憶装置、２０…データベース管理システムアプリケーションプログラム、２１…データ領域更新部、２２…パーティショニング情報更新部、２３…バックアップ部、２４…復元ポイント挿入部、１００…分散データベースシステム。
【図１】
2014127015.tif 000003
【図２】
2014127015.tif 000004
【図３】
2014127015.tif 000005
【図４】
2014127015.tif 000006
【図５】
2014127015.tif 000007