(57)【特許請求の範囲】
【請求項１】
データベースをそれぞれ有する複数のデータベースサーバ装置と、当該データベースサーバ装置の前記データベースに蓄積されているデータの検索、蓄積、削除の少なくとも１つを含む処理であるデータマネジメント処理を要求する要求サーバ装置と、複数の前記データベースサーバ装置のうち、前記データマネジメント処理が許可される前記データベースサーバ装置が登録される登録サーバ装置と、がネットワークを介して接続されたデータベースシステムであって、
前記データベースサーバ装置は、
自装置の前記データベースに対する前記データマネジメント処理を許可する場合、自装置を特定する特定情報を前記登録サーバに登録する登録手段と、
前記データマネジメント処理が要求された場合、前記登録サーバ装置に他のデータベースサーバ装置の特定情報が登録されているか否かを判断する登録判断手段と、
前記登録判断手段により前記登録サーバ装置に登録されている他のデータベースサーバ装置があると判断された場合にのみ、前記データマネジメント処理として、前記データベースサーバ装置の前記データベースに蓄積されているデータのインポート及びエクスポートにより、前記データベースに蓄積されているデータのうち削除マークが付されているデータの削除を実行するデータマネジメント実行手段と、
を備えたことを特徴とするデータベースシステム。
【請求項２】
データベースを有するデータベースサーバ装置であって、
前記データベースに蓄積されているデータの検索、蓄積、削除の少なくとも１つを含む処理であるデータマネジメント処理が許可されるデータベースサーバ装置が登録される登録サーバ装置とネットワークを介して接続され、
自装置の前記データベースに対する前記データマネジメント処理を許可する場合、自装置を特定する特定情報を前記登録サーバ装置に登録する登録手段と、
前記データマネジメント処理が要求された場合、前記登録サーバ装置に他のデータベースサーバ装置の特定情報が登録されているか否かを判断する登録判断手段と、
前記登録判断手段により前記登録サーバ装置に登録されている他のデータベースサーバ装置があると判断された場合にのみ、前記データマネジメント処理として、前記データベースサーバ装置の前記データベースに蓄積されているデータのインポート及びエクスポートにより、前記データベースに蓄積されているデータのうち削除マークが付されているデータの削除を実行するデータマネジメント実行手段と、
を備えたことを特徴とするデータベースサーバ装置。
【請求項３】
前記他のデータベースサーバ装置と前記登録サーバ装置間との通信が、Ｊａｖａ（登録商標）ＲＭＩ（Java（登録商標） Remote Method Invocation）を用い、ＸＭＬ（eXtensiblE Markup Language）形式のテキストデータを送信及び受信して行われることを特徴とする請求項２に記載のデータベースサーバ装置。
【請求項４】
前記ネットワークの通信に仮想アドレスが用いられ、前記ネットワークにおいて障害が発生した場合、前記仮想アドレスを前記ネットワーク上において付け替えることにより通信を継続することを特徴とする請求項２または３に記載のデータベースサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースシステム及びデータベースサーバ装置に係り、特に、ノンストップで稼動するデータベースシステム及びデータベースサーバ装置に関する。
【背景技術】
【０００２】
データベースを有するサーバシステムであるデータベースシステムでは、システムの管理者が、データベースに蓄積されるデータやデータベースに対するユーザのアクセスを管理する。従来のデータベースシステムでは、管理側の保守者が介在してデータベースを管理していた。このようなデータベースシステムの従来技術としては、例えば、特許文献１、非特許文献１がある。
【０００３】
ところで、近年、データベースシステムには、データベースの管理を自動化すると共に、データベースを極力停止させることなく稼動させることが要求されるものがある。このようなデータベースシステムは、ノンストップのデータベースシステムとも呼ばれている。
ノンストップのデータベースシステムの構築には、市販ミドルウェアを用いるか、オリジナルのデータベースソフトを開発することが必要であった。このようなデータベースでは、ブロックサイズのチューニングやインデックスの定期的な再構築等のシビアなメンテナンスが必要である上、高額な設備投資をすることが必要であった。
【０００４】
このため、設備投資額を軽減する目的により、フリーのデータベース管理システムを利用したデータベースシステムが普及してきている。フリーのデータベース管理システムとしては、例えば、ＰｏｓｔgreＳＱＬがある。
【特許文献１】特開２００３−１２２６１４号公報
【非特許文献１】ＮＰＯ法人日本ＰｏｓｔｇｒｅＳＱＬ  ユーザ会  理事  安永悟史氏    「ＰｏｓｔｇｒｅＳＱＬ安定運用のコツ」、［ｏｎｌｉｎｅ］、２００７年７月９日、オープンソースカンファレンス  ２００７  Ｔｏｋｙｏ／Ｆａｌｌ、［平成２０年５月１３日検索］、インターネット＜ＵＲＬ：http://www.postgresql.jp/branch/shikoku/openseminar2007_materials/postgresql-snaga.pdf/view＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＰｏｓｔｇｒｅＳＱＬは、追記型データベースとも呼ばれていて、データの削除にあたって実際にデータの削除を行わず、削除対象に該当するレコードに削除マークを付ける。また、ＰｏｓｔｇｒｅＳＱＬの更新の際には、削除マークの付加とデータの挿入とが同時に行われる。このため、ＰｏｓｔｇｒｅＳＱＬにおいて更新、削除が繰り返されると、データベースの論理的な行数が変らなくとも、物理的なファイルサイズが大きくなってパフォーマンスが劣化することも考えられる。
【０００６】
上記のパフォーマンスの劣化を回避するには、データベースを定期的にメンテナンスし、削除マークが付されたレコードを物理的に削除する必要が生じる。しかし、定期的なメンテナンスを行えば、データベースシステムの運用が停止する期間が生じ、ノンストップシステムの意義が失われる。このため、ノンストップシステムでは、ＰｏｓｔｇｒｅＳＱＬを使ったデータベースシステムが適用し難くなる。
本発明は、このような点に鑑みてなされたものであり、ＰｏｓｔｇｒｅＳＱＬ等の追記型データベースを用いながらメンテナンス等による停止時間を低減し、低コストのノンストップシステムを実現できるデータベースシステム及びデータベースサーバ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明の請求項１記載のデータベースシステムは、データベースをそれぞれ有する複数のデータベースサーバ装置と、当該データベースサーバ装置の前記データベースに蓄積されているデータの検索、蓄積、削除の少なくとも１つを含む処理であるデータマネジメント処理を要求する要求サーバ装置と、複数の前記データベースサーバ装置のうち、前記データマネジメント処理が許可される前記データベースサーバ装置が登録される登録サーバ装置と、がネットワークを介して接続されたデータベースシステムであって、前記データベースサーバ装置は、自装置の前記データベースに対する前記データマネジメント処理を許可する場合、自装置を特定する特定情報を前記登録サーバに登録する登録手段と、前記データマネジメント処理が要求された場合、前記登録サーバ装置に他のデータベースサーバ装置の特定情報が登録されているか否かを判断する登録判断手段と、前記登録判断手段により前記登録サーバ装置に登録されている他のデータベースサーバ装置があると判断された場合にのみ、前記データマネジメント処理として、前記データベースサーバ装置の前記データベースに蓄積されているデータのインポート及びエクスポートにより、前記データベースに蓄積されているデータのうち削除マークが付されているデータの削除を実行するデータマネジメント実行手段と、を備えたことを特徴とする。このような発明によれば、データベースサーバ装置が、登録サーバに登録されている他のデータベースサーバ装置があるか否かを判断し、登録サーバに登録されている他のデータベースサーバ装置があると判断された場合にのみデータマネジメント処理を実行する。このため、データメンテナンス処理を実行しても全てのデータベースサーバ装置が使用できない状態になることがない、ノンストップのデータベースシステムを提供することができる。そして、データメンテナンス処理により、追記型データベースの物理的なファイル量の増大を抑えることができるので、ＰｏｓｔｇｒｅＳＱＬ等の追記型データベースを用いながらメンテナンスによる停止時間を低減し、低コストのノンストップシステムを実現できるデータベースシステムを提供することができる。
また、このような発明によれば、データベース上の不必要なレコードが削除され、必要なレコードが、最適な順序で保存されるという作用により、データベースの検索性能を向上させることができる。
【０００８】
また、請求項２に記載のデータベースサーバ装置は、データベースを有するデータベースサーバ装置であって、前記データベースに蓄積されているデータの検索、蓄積、削除の少なくとも１つを含む処理であるデータマネジメント処理が許可されるデータベースサーバ装置が登録される登録サーバ装置とネットワークを介して接続され、自装置の前記データベースに対する前記データマネジメント処理を許可する場合、自装置を特定する特定情報を前記登録サーバ装置に登録する登録手段と、前記データマネジメント処理が要求された場合、前記登録サーバ装置に他のデータベースサーバ装置の特定情報が登録されているか否かを判断する登録判断手段と、前記登録判断手段により前記登録サーバ装置に登録されている他のデータベースサーバ装置があると判断された場合にのみ、前記データマネジメント処理として、前記データベースサーバ装置の前記データベースに蓄積されているデータのインポート及びエクスポートにより、前記データベースに蓄積されているデータのうち削除マークが付されているデータの削除を実行するデータマネジメント実行手段と、を備えたことを特徴とする。このような発明によれば、データベースサーバ装置が、登録サーバに登録されている他のデータベースサーバ装置があるか否かを判断し、登録サーバに登録されている他のデータベースサーバ装置があると判断された場合にのみデータマネジメント処理を実行する。このため、データメンテナンス処理を実行しても全てのデータベースサーバ装置が使用できない状態になることがない、ノンストップのデータベースシステムを提供することができる。そして、データメンテナンス処理により、追記型データベースの物理的なファイル量の増大を抑えることができるので、ＰｏｓｔｇｒｅＳＱＬ等の追記型データベースを用いながらメンテナンスによる停止時間を低減し、低コストのノンストップシステムを実現できるデータベースサーバ装置を提供することができる。
また、このような発明によれば、データベース上の不必要なレコードが削除され、必要なレコードが、最適な順序で保存されるという作用により、データベースの検索性能を向上させることができる。
【００１０】
請求項３に記載のデータベースサーバ装置は、請求項２に記載の発明において、前記他のデータベースサーバ装置と前記登録サーバ装置との通信が、Ｊａｖａ（登録商標）ＲＭＩ（Java（登録商標） Remote Method Invocation）を用い、ＸＭＬ（eXtensible Markup Language）形式のテキストデータを送信及び受信して行われることを特徴とする。このような発明によれば、アプリケーション間の通信透過性が高まり、通信内容の解析も容易になって、データベースサーバ装置及びデータベースサーバ装置を含むシステムの保守性、拡張性が高まるという効果がある。
【００１１】
請求項４に記載のデータベースサーバ装置は、請求項２または３に記載の発明において、前記ネットワークの通信に仮想アドレスが用いられ、前記ネットワークにおいて障害が発生した場合、前記仮想アドレスを前記ネットワーク上において付け替える
ことにより通信を継続することを特徴とする。このような発明によれば、ネットワークの障害発生時にもサーバ間通信を確保することができる。
【発明の効果】
【００１２】
データメンテナンス処理や等化処理の実行時、システムに含まれる全てのデータベースサーバ装置が使用できない状態になることがない、ノンストップのデータベースシステム及びデータベースサーバ装置を提供することができる。そして、データメンテナンス処理により、追記型データベースの物理的なファイル量の増大を抑えることができるので、ＰｏｓｔｇｒｅＳＱＬ等の追記型データベースを用いながらメンテナンスによる停止時間を低減し、低コストのノンストップシステムを実現できるデータベースシステムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図を参照して本発明に係る一実施形態のデータベースシステム及びデータベースサーバ装置を説明する。
・構成
（データベースシステム）
図１は、本実施形態のデータベースシステム及びデータベースサーバ装置を説明するための図である。なお、本実施形態では、全ての図について、図１を使って説明した構成については図１に示した符号により、図１で示した構成との一致を示すものとする。
図示したデータベースシステムは、データ収集・検索サーバ１０１、２つのデータ蓄積サーバ１０２ａ、１０２ｂ、ＤＮＳ（domain name system）サーバ１０３を備えている。以上のデータ収集・検索サーバ１０１、データ蓄積サーバ１０２ａ、１０２ｂ、ＤＮＳサーバ１０３は、互いにネットワークＮによって接続されている。さらに、ネットワークＮには、データ蓄積サーバ１０２ａ、１０２ｂに蓄積されるデータの発生源となる発生源コンピュータ１０５、データ蓄積サーバ１０２ａ、１０２ｂに蓄積されたデータを検索する検索元コンピュータ１０６が接続されている。
【００１４】
以上の構成のうち、データ蓄積サーバ１０２ａ、１０２ｂが本実施形態のサーバ装置である。データ蓄積サーバ１０２ａ、１０２ｂは、いずれもＤＮＳサーバ１０３とネットワークＮによって接続されている。ネットワークの通信のインターフェイスには、Ｊａｖａ（登録商標）ＲＭＩ（Java（登録商標） Remote Method Invocation）が用いられ、ＸＭＬ（eXtensible Markup Language）形式のテキストデータが送信及び受信されることが好ましい。
【００１５】
また、データベースシステムでは、データ蓄積サーバ１０２ａが冗長化されていて、各サーバ間を接続するネットワークＮも、複数通りの経路によってサーバ同士を接続するよう冗長化されている。データ収集・検索サーバ１０１は、ネットワークＮの通信に仮想ＩＰアドレスのような、仮想的なアドレスを用いる。そして、ネットワークＮにおいて障害が発生した場合、仮想ＩＰアドレスをネットワークＮ上において障害が発生していない他のインターフェイスに付け替えることにより、通信を継続することを可能にしている。
【００１６】
（ＤＮＳサーバの構成例）
ＤＮＳサーバ１０３は、ＤＮＳ部１１１を備えたサーバ装置である。ＤＮＳ部１１１は、コンピュータのドメイン名をＩＰアドレスに変換する機能を備えている。ネットワークＮは、ＤＮＳサーバ１０３により、ＩＰアドレスを元にした通信を行っている。
また、ＤＮＳ部１１１には、ＤＢ部１１０に蓄積されているデータの検索、蓄積、削除の少なくとも１つを含む処理（以下、データマネジメント処理）が許可されるデータ蓄積サーバが登録される。
【００１７】
（データ蓄積サーバの構成例）
データ蓄積サーバ１０２ａ、１０２ｂは、同様の構成を有している。ここでは、データ蓄積サーバ１０２ａの構成を説明し、データ蓄積サーバ１０２ｂの説明を省略する。
データ蓄積サーバ１０２ａは、通信部１０７、アプリケーション部１０９、データベース部（以下、ＤＢ部と記す）１１０を有している。
通信部１０７は、アプリケーション部１０９の制御によって他のサーバ装置等とネットワークＮを介した通信を行っている。すなわち、通信部１０７は、アプリケーション部１０９の要求により、他のサーバと通信する。また、アプリケーション部１０９の要求により、ＤＮＳ部１１１にデータ蓄積サーバ１０２ａを特定する情報である特定情報を登録し、登録されている特定情報を削除する機能を有している。さらに、特定情報が書き込まれているか否か、ＤＮＳ部１１１を参照する機能を有している。
【００１８】
本実施形態では、特定情報としてサーバ名を使用するものとする。サーバ名としては、例えば、サーバ装置のドメイン名等を利用することが可能である。なお、本実施形態では、サーバ名を登録する処理を、ＤＮＳ登録と記す。また、ＤＮＳ登録は、自装置が、ＤＢ部１１０のデータマネジメント処理が可能であることを示すためになされる処理である。
アプリケーション部１０９は、通信部１０７が受信したデータ（以下、通信データと記す）を解析し、解析した結果にしたがって必要な処理を実行する。また、実行した処理の結果を通信部１０７が送信可能なデータの形式に変換し、通信部１０７を制御して送信させる。
【００１９】
また、アプリケーション部１０９は、データ収集・検索サーバ１０１から送られたデータ（以下、収録データと記す）を受け取り、自装置のＤＢ部１１０に蓄積し、登録する。また、データ収集・検索サーバ１０１の通知により、自装置が有するＤＢ部１１０に対してデータ（以下、検索データと記す）の検索を実行する。
また、アプリケーション部１０９は、自装置のＤＢ部１１０と、データベースシステムに含まれる他のデータ蓄積サーバとＤＢ部１１０の収録データを同一にするための、等化処理を実行する。等化処理に際し、アプリケーション部１０９は、他のデータ蓄積サーバにあるＤＢ部１１０の収録データを検索し、他のＤＢ部１１０に存在し、自装置のＤＢ部１１０に存在しない収録データ（不足するレコード）を検出する。そして、不足するレコードを自装置のＤＢ部１１０に登録する。このような処理を、本実施形態では、データ等化処理と記す。
【００２０】
さらに、アプリケーション部１０９は、自装置が有するＤＢ部１１０のメンテナンス（以下データベースメンテナンスと記す）を実行する。データベースメンテナンスとは、データ蓄積サーバ１０２ａのＤＢ部１１０に登録されているデータをいったんエクスポート（書き出し）し、データベースをクリアした後に再度インポート（書き込み）する処理をいう。このような処理は、削除マークが付されていたレコードの削除を実行し、ファイルサイズの物理的なサイズが大きくなることを防ぐために実行される処理である。
【００２１】
データ等化処理及びデータベースメンテナンスは、定期的に実行される。データ等化処理及びデータベースメンテナンスの実行タイミングは、例えば、ＤＢ部１１０の起動時であってもよいし、ユーザによって設定された任意のタイミングであってもよい。データ等化処理及びデータベースメンテナンスは、いずれもデータマネジメント処理に該当する。
【００２２】
また、データ等化処理及びデータベースメンテナンス時、ユーザはデータ蓄積サーバ１０２ａに対する検索や収録データの登録ができなくなる。このため、アプリケーション部１０９は、通信部１０７を介してデータ等化処理及びデータベースメンテナンス前にＤＮＳ登録の状況を確認する。そして、自装置以外のデータ蓄積サーバがＤＮＳ登録されている場合に限り、データ等化処理等及びデータベースメンテナンスを実行する。
ＤＢ部１１０は、収録データを登録するデータベースである。以下、収録された収録データを検索可能な状態にすることを登録といい、登録された収録データをレコードとも記す。
【００２３】
（データ収集・検索サーバの構成例）
データ収集・検索サーバ１０１は、通信部１０７、アプリケーション部１０８を有している。アプリケーション部１０８は、データ蓄積サーバ１０２ａ及び１０２ｂ、ＤＮＳサーバ１０３等との通信を制御する通信アプリケーションプログラムである。
アプリケーション部１０８は、通信部１０７が受信した通信データを解析し、解析した結果にしたがって必要な処理を実行する。また、アプリケーション部１０８は、実行した処理の結果を通信部が送信可能な通信データの形式に変換し、通信部１０７を制御して送信する。
【００２４】
さらに、アプリケーション部１０８は、データの検索に係る処理を制御する。すなわち、アプリケーション部１０８は、発生源コンピュータ１０５から発生した収録データを通信部１０７を介して受信し、ＤＮＳ登録がされているデータ蓄積サーバの全てに送って登録させる。また、検索元コンピュータ１０６の要求により、ＤＮＳ登録されているデータ蓄積サーバのうちの一台に、検索データの検索が要求されたことを通知して実行させる。さらに、アプリケーション部１０８は、検索を実行した結果を検索元コンピュータ１０６に通知し、検索の要求に応答する。
【００２５】
以上の構成において、データ蓄積サーバ１０２ａ、１０２ｂがデータベースサーバ装置、ＤＮＳサーバが登録サーバ装置、データ収集・検索サーバ１０１が要求サーバ装置に相当する。また、データ蓄積サーバ１０２ａ、１０２ｂのアプリケーション部１０９が、本実施形態の登録手段及びデータマネジメント実行手段として機能する。また、通信部１０７が登録判断手段として機能する。
【００２６】
・動作
（ＤＮＳ登録及びＤＮＳ登録の削除）
図２（ａ）、（ｂ）は、データ蓄積サーバ１０２ａ、１０２ｂのＤＮＳ登録、ＤＮＳ登録削除の動作を説明するためのフローチャートである。
データ蓄積サーバ１０２ａ、１０２ｂでは、アプリケーション部１０９が起動していないとき、データマネジメント処理をすることができない。本システムでは、以下の処理を行う。すなわち、図２（ａ）に示したように、アプリケーション部１０９は、起動時にＤＮＳサーバ１０３にサーバ名をＤＮＳ登録する（ステップＳ２０１）。また、アプリケーション部１０９が停止するとき、図２（ｂ）に示したように、停止するサーバ名を削除する（ステップＳ２１１）。
このような動作により、本実施形態では、データベースシステムに含まれる複数のデータ蓄積サーバのうち、データマネジメント処理が可能なものの情報を複数のデータ蓄積サーバ間で共有することができる。
【００２７】
（データ蓄積処理）
図３（ａ）は、データ蓄積サーバ１０２ａ、１０２ｂで実行される、ＤＢ部１１０に収録データを蓄積する処理を説明するためのフローチャートである。図３において、データ蓄積サーバ１０２ａと１０２ｂとを区別するため、データ蓄積サーバ１０２ａをサーバａ、データ蓄積サーバ１０２ｂをサーバｂと記す。
図３（ａ）に示すように、データ収集・検索サーバ１０１は、発生源コンピュータ１０５において収録データが発生した場合に処理を開始する。このとき、ＤＮＳ部１１１にデータ蓄積サーバ１０２ａがＤＮＳ登録されているか否か確認し（ステップＳ３０１）、登録の有無を判断する（ステップＳ３０２）。判断の結果、ＤＮＳ登録されていれば（ステップＳ３０２：あり）、データ蓄積サーバ１０２ａを収録先対象、すなわち発生した収録データを蓄積するサーバとする（ステップＳ３０３）。
【００２８】
次に、データ収集・検索サーバ１０１は、ＤＮＳ部１１１にデータ蓄積サーバ１０２ｂがＤＮＳ登録されているか否か確認する（ステップＳ３０４）。確認の結果、ＤＮＳ登録されていれば（ステップＳ３０４：あり）、データ蓄積サーバ１０２ｂを発生した収録データの収録先対象とする（ステップＳ３０５）。以上の処理により、データ収集・検索サーバ１０１は、収録先対象となるデータ蓄積サーバの全てに収録データを送信する。
【００２９】
（データ検索処理）
図３（ｂ）は、データ蓄積サーバ１０２ａ、１０２ｂで実行される、ＤＢ部１１０の収録データを検索する検索処理を説明するためのフローチャートである。図３（ｂ）において、データ蓄積サーバ１０２ａと１０２ｂとを区別するため、データ蓄積サーバ１０２ａをサーバａ、データ蓄積サーバ１０２ｂをサーバｂと記す。
図３（ｂ）に示すように、データ収集・検索サーバ１０１は、検索元コンピュータ１０６により検索要求が発生した場合、検索処理を開始する。このとき、ＤＮＳ部１１１にデータ蓄積サーバ１０２ａがＤＮＳ登録されているか否か確認し（ステップＳ３１１）、登録の有無を判断する（ステップＳ３１２）。判断の結果、ＤＮＳ登録されていれば（ステップＳ３１２：あり）、データ蓄積サーバ１０２ａを検索データの検索対象とする（ステップＳ３１３）。
【００３０】
次に、データ収集・検索サーバ１０１は、ＤＮＳ部１１１にデータ蓄積サーバ１０２ｂがＤＮＳ登録されているか否か確認する（ステップＳ３１４）。確認の結果、ＤＮＳ登録されていれば（ステップＳ３１４：あり）、データ蓄積サーバ１０２ｂを検索対象とする（ステップＳ３１５）。以上の処理により、データ収集・検索サーバ１０１は、検索先対象となるデータ蓄積サーバのうち、任意のデータ蓄積サーバに対する検索を実行する（ステップＳ３１６）。
【００３１】
（データ等化処理）
図４は、本実施形態のデータベースシステムで行われるデータ等化処理を説明するためのフローチャートである。図５は、図４に示したデータ等化処理を起動するトリガーを説明するためのフローチャートである。図６は、データ等化処理に先立って行われる同時メンテナンス、等化の回避処理を説明するためのフローチャートである。なお、図４では、データ蓄積サーバ１０２ａ、１０２ｂのうち、データ蓄積サーバ１０２ａを等化処理する例を挙げて説明する。
【００３２】
等化処理では、図４に示すように、先ず、同時メンテナンス、等化の回避処理が実行される。そして、等化処理が可能であると判断された場合（ステップＳ４０１：実行可能状態）、等化処理が開始される。また、等化処理が不可能であると判断された場合（ステップＳ４０１：実行不可能状態）、等化処理ができないことを示す等化ＮＧがログとして出力されて（ステップＳ４０７）、処理は終了となる。
等化処理の実行が可能な場合、データ収集・検索サーバ１０１が、データ蓄積サーバ１０２ａ（図４中、サーバａと記す）のＤＢ部１１０に登録されているレコードを検索する（ステップＳ４０２）。続いて、データ蓄積サーバ１０２ｂ（図４中、サーバｂと記す）のＤＢ部１１０に登録されているレコードを検索する（ステップＳ４０３）。
【００３３】
そして、データ蓄積サーバ１０２ａのレコードとデータ蓄積サーバ１０２ｂのレコードに差分があるか否か判断する（ステップＳ４０４）。差分がある場合（ステップＳ４０４：あり）、アプリケーション部１０９は、データ蓄積サーバ１０２ｂに存在してデータ蓄積サーバ１０２ａに存在しないレコードを、データ蓄積サーバ１０２ａに追加する（ステップＳ４０５）。また、データ蓄積サーバ１０２ａ、１０２ｂのレコードに差分がない場合（ステップＳ４０４：なし）、データ蓄積サーバ１０２ａの全てのレコードについてデータ蓄積サーバ１０２ｂとの差分の有無を確認したか否か判断する（ステップＳ４０６）。
【００３４】
判断の結果、全てのレコードを確認していない場合（ステップＳ４０６：いいえ）、データ蓄積サーバ１０２ａ、１０２ｂのＤＢ部１１０のレコードを検索する。また、全てのレコードの確認が終了した場合（ステップＳ４０６：はい）、処理を終了する。
以上の等化処理は、図５（ａ）に示すように、データ蓄積サーバ１０２ａ、１０２ｂにおいて、アプリケーション部１０９の起動時、またはＤＢ部１１０の起動時に起動される（ステップＳ４０１）。あるいは、図５（ｂ）のように、ユーザが登録したクーロン（Ｃｒｏｎ）にしたがい（ステップＳ５１１）、登録された時間になる都度、等化処理を起動するものであってもよい（ステップＳ５１２）。
【００３５】
以上のデータ等化処理は、任意のタイミングで自動的にデータの等化処理を実行することができる。ただし、データ蓄積サーバ１０２ａ、１０２ｂを同時に等化すると、等化中はデータ蓄積サーバ１０２ａ、１０２ｂの両方が使用できなくなる。このため、データベースシステムが実質的に停止してしまうことになる。
図６に示した同時メンテナンス、等化の回避処理は、このようなデータベースシステムの停止を回避するための処理である。以下、図６を用い、同時メンテナンス、等化の回避処理を説明する。なお、ここでは、データ蓄積サーバ１０２ａ、１０２ｂのうち、データ蓄積サーバ１０２ａを等化処理する例について説明する。
【００３６】
等化処理をする場合、データ蓄積サーバ１０２ａは、データ蓄積サーバ１０２ｂ（図中サーバｂ）がＤＮＳ登録されているか否か判断する（ステップＳ６０１）。データ蓄積サーバ１０２ｂがＤＮＳ登録されていない場合、自装置が等化処理対象になることによってデータベースシステムが停止してしまうから、実行不可能状態と判断する（ステップＳ６０５）。
【００３７】
また、データ蓄積サーバ１０２ｂがＤＮＳ登録されている場合（ステップＳ６０１：はい）、アプリケーション部１０９が等化の処理（データメンテナンスに先立って行われる場合はデータメンテナンス）を起動し（ステップＳ６０２）、データ蓄積サーバ１０２ａを、データ等化処理（データメンテナンスに先立って行われる場合はデータメンテナンス）の実行が可能な状態にする（ステップＳ６０３）。次に、アプリケーション部１０９が通信部１０７を制御し、データ蓄積サーバ１０２ａのＤＮＳ登録を削除させる（ステップＳ６０４）。以上の処理の後、データ蓄積サーバ１０２ａは、処理を終了する。
以上の動作により、本実施形態のデータベースシステムは、等化処理によってデータベースシステム全体が停止することがないデータベースサーバ装置を提供することができる。
【００３８】
（データメンテナンス処理）
図７（ａ）は、本実施形態のデータベースシステムで行われるデータメンテナンス処理を説明するためのフローチャートである。図７（ｂ）は、図７（ａ）に示したデータメンテナンス処理を起動するトリガーを説明するためのフローチャートである。なお、図７（ａ）、（ｂ）は、いずれもデータ蓄積サーバ１０２ａをデータメンテナンスする例を示している。
データメンテナンス処理では、図７に示すように、図６に示した同時メンテナンス、等化の回避処理が実行される。そして、データメンテナンス処理が可能であると判断した場合（ステップＳ７０１：実行可能状態）、データメンテナンス処理を開始する。また、データメンテナンス処理が不可能であると判断した場合（ステップＳ７０１：実行不可能状態）、データメンテナンス処理ができないことを示すデータメンテナンスＮＧがログとして出力され（ステップＳ７０８）、処理が終了となる。
【００３９】
データメンテナンス処理では、データ収集・検索サーバ１０１が、データ蓄積サーバ１０２ａ（図７中、サーバａと記す）に対し、データメンテナンスを要求する。データ蓄積サーバ１０２ａのアプリケーション部１０９は、ＤＢ部１１０を停止する（ステップＳ７０２）。そして、ＤＢ部１１０に登録されている収録データをエクスポートし（ステップＳ７０３）、エクスポート後のＤＢ部１１０をクリアする（ステップＳ７０４）。
【００４０】
ＤＢ部１１０のクリアにより、ＤＢ部１１０において削除マークが付されたデータが物理的に削除され、ＤＢ部１１０の物理的なファイル容量の増大を抑えることができる。
次に、アプリケーション部１０９は、エクスポートされているデータをクリア後のＤＢ部１１０にインポートする（ステップＳ７０５）。インポート後、アプリケーション部１０９は、ＤＢ部１１０を起動し（ステップＳ７０６）、通信部１０７を介してデータ蓄積サーバをＤＮＳ登録する（ステップＳ７０７）。
【００４１】
以上のデータメンテナンス処理は、図７（ａ）に示すように、ユーザが登録したクーロン（Ｃｒｏｎ）にしたがい（ステップＳ７１１）、登録された時間になる都度、起動される（ステップＳ７１２）。
以上述べた本実施形態によれば、データ蓄積サーバを複数設けて冗長化することにより、データ蓄積サーバに対する検索処理の負荷を分散することができる。また、データベースシステム全体を停止することなく、定期的にデータメンテナンスを行うことができるから、ノンストップのデータベースシステムに、比較的廉価なオープンソースデータベースソフトを使用することができる。このため、高額なミドルウェアの使用を回避することができる。
【００４２】
さらに、等化処理やデータメンテナンス処理により停止しないデータベースシステムが構築できるから、等化処理等の運用がユーザへの使用者に及ぼす影響を低減し、また、データベースシステムを安定して運用することができる。
なお、本実施形態は、このような構成に限定されるものではない。例えば、本実施形態では、データ蓄積サーバが２つあるデータベースサーバシステムについて説明したが、データ蓄積サーバは２つに限定されるものでなく、さらに多数あってもよい。このような場合であっても、データマネジメント処理の対象となったデータ蓄積サーバは、本実施形態と同様に、ＤＮＳ部１１１にＤＮＳ登録されているデータ蓄積サーバが１つ以上あればデータマネジメント処理を実行することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態のデータベースシステムを説明するための図である。
【図２】図１に示したデータ蓄積サーバのＤＮＳ登録、ＤＮＳ登録削除の動作を説明するためのフローチャートである。
【図３】データ蓄積サーバで実行される収録データをＤＢ部に蓄積する処理を説明するためのフローチャートである。
【図４】本発明の一実施形態のデータベースシステムで行われるデータ等化処理を説明するためのフローチャートである。
【図５】図４に示したデータ等化処理を起動するトリガーを説明するためのフローチャートである。
【図６】図４に示したデータ等化処理に先立って行われる同時メンテナンス、等化の回避処理を説明するためのフローチャートである。
【図７】本発明の一実施形態のデータベースシステムで行われるデータメンテナンス処理及びその起動を説明するためのフローチャートである。
【符号の説明】
【００４４】
１０１  データ収集・検索サーバ
１０２ａ，１０２ｂ  データ蓄積サーバ
１０３  ＤＮＳサーバ
１０５  発生源コンピュータ
１０６  検索元コンピュータ
１０７  通信部
１０８，１０９  アプリケーション部
１１０  ＤＢ       部
１１１  ＤＮＳ部
Ｎ  ネットワーク
【図１】
0004777386.tif 000002
【図２】
0004777386.tif 000003
【図３】
0004777386.tif 000004
【図４】
0004777386.tif 000005
【図５】
0004777386.tif 000006
【図６】
0004777386.tif 000007
【図７】
0004777386.tif 000008