(57)【要約】【課題】  大容量データを扱うデータベース検索システムに対して、１つのデータベースでデータの検索を１度に行えるようにする。【解決手段】  データ領域管理手段は、現在データ領域と過去データ領域を１つのデータベース内で持つことができるようにする。これにより、現在データサーバに蓄積されたデータの他に、システム外に退避してある過去のデータを同じデータベースシステム内にリストアし、現在データと同列に管理することができる。【選択図】  図１
2008269408.tif 000002
【特許請求の範囲】
【請求項１】
大容量データの累積を行うデータサーバと、保存期間の過ぎたデータを長期間に渡り蓄積するバックアップサーバを有し、
保存期間が過ぎたデータをバックアップデータとして退避するバックアップ手段と、前記バックアップしたデータを検索するために、データベースに戻すリストア手段と、
データサーバに累積されたデータを検索するための通常検索可能データ領域、並びに前記リストア手段によってデータサーバにリストアするデータを格納する過去データ領域とを管理するデータ領域管理手段と、
データサーバに累積されたデータと保存期間が過ぎたデータを同時に検索するために、前記通常検索可能データ領域と前記過去データ領域を結合するデータ領域結合手段とをそれぞれ有して過去データ及び現在データの複合検索をすることを特徴とするデータ検索システム。
【請求項２】
前記通常検索可能データ領域と前記過去データ領域は、同じデータ構造を持つことを特徴とする請求項１に記載のデータ検索システム。
【請求項３】
前記データ領域管理手段は、1日又はそれ以上の予め定めた期間を単位としてデータを管理することを特徴とする請求項１に記載のデータ検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、毎日オンラインで即時に大容量のデータが登録される、大容量のデータ検索システムに関し、特に保存期間内の通常検索可能なデータと保存期間が過ぎた過去データを検索できるデータ検索システムに関するものである。
【背景技術】
【０００２】
従来、この種のデータ検索システムは、大容量のデータが登録されるため、データ容量が大きくなり長期間に渡って蓄積することができないという問題点があった。大容量のデータとは例えば画像データのことである。
【０００３】
データサイズが大きなデータを大量にデータベースに蓄積するためには、蓄積量に比例してディスク容量が必要となる。データ容量が小さいデータ検索システムでは、データが蓄積できなくなり検索も行えなくなるといった問題はなかった。しかし、データ容量が大きいデータが登録されるデータ検索システムは、検索できるデータは蓄積できる期間のみとなり、データ容量が小さいデータ検索システムに比べると検索できる期間は少なくなってしまう。検索期間の短縮しないようにするため、ディスクを増設しデータベースのストレージ容量を増やすことも考えられるが、ハードウエア増設に伴うコストアップとなるため容易ではない。
【０００４】
例えば、データベースサーバの最大ディスク容量が３０ＧＢの場合を考える。１日のデータ合計容量が１０ＭＢの場合、データベースに蓄積することができる日数は３０００日となる。しかし１日のデータ合計容量が１ＧＢの場合はデータベースに蓄積することができる日数は３０日となりデータ容量が小さい場合とくらべ少ないことがわかる。またこの場合、３０日分しかデータベースに蓄積することができず、３１日目になると１日目に登録されたデータは削除していた。そして検索が行えるのもデータベースに蓄積された３０日分に限られ、削除されたデータを同時に検索することはできなかった。
【０００５】
ディスク容量によってデータを保存できる期間は決まる。そのため保存期間を過ぎたデータは削除する必要がある。削除されたデータ（システムの外に追い出されたデータ）を検索するためには、データベースをもうひとつ用意する必要があった。そして削除されたデータを、用意したデータベースにリストアすることによって削除されたデータを検索することが可能であった。
【０００６】
例えば１日のデータ合計容量が１ＧＢ、蓄積できる容量が３０ＧＢのデータベースＡ、蓄積できる容量が３０ＧＢのデータベースＢがある場合を考える。初めはデータベースＡに対してデータを蓄積していき、３０日が経過すると１日目に格納されたデータはデータベースＡから削除されてシステムの外にバックアップデータＣとして保存される。バックアップデータＣを検索する場合はデータベースＢにリストアを行い、データベースＢに対して検索を実行しなければならない。データベースAには空き容量がないのでバックアップデータCをリストアすることができないからである。
【０００７】
ここでデータベースＡに蓄積されたデータとデータベースＢに蓄積されたデータを同時に参照することはできない問題がある。データベースAとデータベースBは物理的に分かれているため、検索する場合も、データベースAを検索し次にデータベースBを検索する必要があるためである。
【０００８】
ところで特許文献1によると、保存期間を変更して不要なデータを自動的に削除する技術はあった。しかし、当該先行例は通常データを格納するための通常検索データ領域を確保する目的であり、システム外に追い出されたデータをリストアして同時に検索することはできなかった。
【特許文献１】特開２００３−６００７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
この種の従来の大容量のデータ検索システムは、次のような問題点があった。
【００１０】
大容量のデータが登録されるため、データ容量が大きくなり長期間に渡って蓄積することができない。蓄積できる期間を過ぎたデータについてはシステム外に追い出されてしまう。そのためデータを蓄積できる期間が限定され、検索できる期間は蓄積されたデータのみになる。
【００１１】
削除されたデータ（システムの外に追い出されたデータ）を検索するためには、削除されたデータを新しいデータベースにリストアして検索する必要があった。よってシステム外に追い出されたデータを検索するためにはデータベースを２つ用意しなければならない問題がある。加えて、このことによりシステム外に追い出されたデータとデータベースに格納されているデータを一度の検索クエリーを指定する処理で探すことができなかった。
【課題を解決するための手段】
【００１２】
上記課題を解決するため本発明にかかる過去データ及び現在データの複合検索を行えるデータ検索システムは次の構成を有している。すなわち、
大容量データの累積を行うデータサーバと、保存期間の過ぎたデータを長期間に渡り蓄積するバックアップサーバを有し、保存期間が過ぎたデータをバックアップデータとして退避するバックアップ手段と、前記バックアップしたデータを検索するために、データベースに戻すリストア手段と、
データサーバに累積されたデータを検索するための通常検索可能データ領域、並びに前記リストア手段によってデータサーバにリストアするデータを格納する過去データ領域とを管理するデータ領域管理手段と、
データサーバに累積されたデータと保存期間が過ぎたデータを同時に検索するために、前記通常検索可能データ領域と前記過去データ領域を結合するデータ領域結合手段で構成される。
【００１３】
（発明の作用）
以上のように構成されたデータ検索システムにおいて、データ領域管理手段は、現在データ領域と過去データ領域を１つのデータベース内で持つことができるようになる。これにより、現在データサーバに蓄積されたデータの他に、システム外に退避してある過去のデータを同じデータベースシステム内にリストアし、現在データと同列に管理することができるようになる。
【００１４】
データ結合手段は、仮想表を構成し管理することができるので現在データと過去データ（システムから追い出されたデータ）をデータベースの外部に対して一つのデータとして見せることができる。よって仮想表に対する一度の検索処理を実行することで、現在データと過去データを一度に検索の対象とすることができる。
【発明の効果】
【００１５】
以上説明したように、本発明にかかる過去データ及び現在データの複合検索を行えるデータ検索システムによれば、現在蓄積してあるデータに加えて、システム外に退避してある過去データを一つのデータベースシステムに格納することができる。
【００１６】
現在データと過去データを一度の検索クエリーで検索処理することが可能となり、ユーザは検索処理を複数実行する必要がなくなり利便性の向上が期待できる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００１８】
図１は、ネットワーク構成を示す図である。ネットワーク構成として、検索サーバ１１、データベースサーバ１２、バックアップサーバ１３の３つにより成り立っている。データベースサーバ１２にデータを蓄積していく。扱うデータはイメージデータでJPEG圧縮されたPDF画像データである。イメージデータはデータ容量が大きいため、蓄積できる容量（期間）は通常のデータベースシステムに比べると限定される。蓄積できる容量の例として、蓄積できる期間が３０日（蓄積できる容量がイメージデータ３０日分）だった場合、３１日目になると１日目に登録されたデータは削除される。削除されたデータはシステムの外に追い出される。そのため日単位で蓄積されていったデータをバックアップサーバにバックアップする。バックアップされたデータは外部記憶媒体１４に保存される。そして検索サーバ１１によってデータベースサーバ１２上にあるイメージデータの検索を行う。データの検索はデータベースサーバ１２に蓄積された期間のみ行え、システム外に追い出されたデータについてはバックアップサーバ１３よりリストアすることによって検索が可能となる。
【００１９】
図２はデータベースサーバH/W構成を示す図である。データベース２０はコントローラ２１とSCSI２７で接続された外部メモリ（HDD）２６で成り立っている。CPU２２がROM24にあるデータベースプログラムをRＡM２３に展開して外部メモリ２６にデータの更新を行う。外部メモリに登録されているデータを検索サーバ１１が検索し、バックアップサーバ１３がバックアップを行う場合はとネットワーク２８によって通信する。
【００２０】
図３はデータベースソフトウェアモジュール構成を示す図である。データ操作モジュール３１によってデータ登録、データ検索、データ削除、データ更新が行われる。データ検索は検索サーバ１１より検索要求がきた場合に動作し、データの検索を行う。データ登録は登録要求のあった場合に動作しデータの登録を行う。データ削除は蓄積できる期間（保存期間）が過ぎた場合にデータの削除要求があり動作し、データの削除を行う。データの更新は表管理情報（図５）の処理基準日５１と表の番号５２のデータを更新する際に動作し、データの更新を行う。表管理情報（図５）については後述説明する。データ領域管理モジュール３２は、通常検索可能データ領域と過去データ領域を所定の期間を単位としてデータを管理する。ジョブ管理モジュール３３は日単位で実行される、バックアップモジュール３５の管理を行っている。バックアップ対象となる表、実行時間がジョブとして管理されている。データベース基本制御モジュール３４は、データベースの基本的な処理、排他処理、トランザクション管理を行っている。バックアップモジュール３５は蓄積されたデータをバックアップする際に動作する。リストアモジュール３６は、システム外に追い出されたデータを再びデータベースサーバに戻す際に動作する。データ領域結合モジュール３７は仮想表の定義が動作する。ここで定義された仮想表を使って、検索サーバ１１はデータ検索を行う。仮想表の定義については後述説明する。
【００２１】
図４はデータベース領域構成を示す図である。本発明ではデータを格納する際に通常用領域４１と過去データ用領域４２に対して行う。通常のデータ登録は通常用領域４１に対して行われ、システム外に追い出された過去データのリストアは過去データ用表領域に対して行われる。それぞれの領域のＡ０００１からＡ０００３はイメージデータを日単位で格納しているデータベースの表である。前述の通り、イメージデータは容量が大きいため、１つの表で管理するとデータを削除する際に断片化の問題が発生する。そこで表を日単位で分割して、１日分のデータが書きこまれる表を１つにする。例を挙げるとＡ０００１が当日分のデータが格納され、Ａ０００２は翌日分のデータが格納される。そしてＡ０００３は３日目のデータを表す。この１日分の表を図５の表番号管理情報によって管理している。表番号管理情報（図５）については後述説明する。データの登録先が日によって変化するため、データ検索を行う際に、複数の表から検索を行う必要がある。これを解決するために通常データ仮想表Ａ４３を作成し、データ検索は通常データ仮想表Ａ４３から行うものとする。通常データ仮想表Ａは蓄積可能な期間（保存期間）分の表を結合したものである。図４を例にすると、今保存期間が３日としてＡ０００１からＡ０００３の３つの表を１つの仮想表として定義し、データ検索は仮想表に対して行う。すると３日分のデータを検索が可能となる。過去データ用領域４２については通常用領域にある表と同じ構造をもつ表が存在する。表Ａ０００１に対して表Ａ´０００１は同一の表定義である。理由としてリストアを行いやすくするためとなる、通常データ領域４１の表Ａ０００１をバックアップして、過去データ領域４２にリストアする際に表Ａ０００１のデータを全て表Ａ´０００１にリストアするためリストアの手間がかからない。
【００２２】
図５はデータベース表番号管理情報を示す図である。表番号管理情報は、データ登録処理を考えた際に日単位でデータ格納先の表が変わり、当日どの表にデータを格納するかを決定するために必要な情報である。処理基準日５１は、データを登録する際に基準となる日付である。登録されたデータがどの日のデータかを判断する。表の番号５２は、データを登録する際にデータ格納対象である表の番号を表す。図３のジョブ管理モジュール３３によって、処理基準日５１を日単位で変化させ、表の番号５２もそれに伴い変化させる。例えば今、処理基準日５１が２００６１１０７（２００６年１１月７日）として、表の番号５２が０００５とすると、データ登録先は表Ａ０００５となる。翌日になると処理基準日５１が２００６１１０８（２００６年１１月８日）に更新され、表の番号５２が０００６更新され、データ登録先の表はＡ０００６となる。また保存期間５３によってデータを蓄積できる期間が決定する。図５の例より保存期間について説明すると、保存期間５３が５なので５日分データが蓄積できる。このときデータが格納されている表はＡ０００１からＡ０００５となる。保存期間５３は、図３のデータ領域管理モジュール３２によって管理されており、ユーザーの指定によって運用中に任意に変更することができる。また図３のデータ操作モジュール３１のデータ削除処理によって保存期間を減らすことで、ディスクの空き容量を増加させ、過去データ領域の容量を増加させることができる。
【００２３】
図６はデータベース制御フローを示す図である。図６を参照して、データベース制御フローに関して詳細に説明する。初めに１日分通常データの格納、データ登録処理工程Ｓ６１が行われる。この処理は１日単位を区切りとして行われる。データ登録処理工程Ｓ６１は、通常データ領域の表に対して行われる。この表に関しては前述した通り、表番号管理情報より決定される。ここでデータ登録処理工程Ｓ６１とバックアップ処理工程Ｓ６２の間で日付をまたぐこととする。バックアップ処理工程Ｓ６２ではデータ登録処理工程Ｓ６１で登録された１日分のデータが過去データとしてバックアップされる。バックアップ処理工程Ｓ６２については後述詳細に説明する。次に表番号管理情報更新処理工程Ｓ６３が行われる。表番号管理情報更新処理工程Ｓ６３では、図５の表番号管理情報の処理基準日５１を当日の日付に更新し、表の番号５２も次の番号に更新する。例えばデータ登録処理工程Ｓ６１を行っていた日付（処理基準日５１）を２００６１１２１として、表の番号５２が０００８だった場合を考える。表番号情報更新処理工程Ｓ６３によって、日付（処理基準日５１）は２００６１１２２と更新され、表の番号５２は０００９と更新される。通常データ仮想表作成処理工程Ｓ６４では、通常データが検索サーバよりデータが検索可能な状態にするために、仮想表を作成する。例えば蓄積できる期間が５日で、日付（処理基準日５１）が２００６１１２２、表の番号５２が０００９だった場合、仮想表は表Ａ０００５からＡ０００９によって構成される。この場合検索できる日付としては２００６年１１月２２日から２００６年１１月２２日までとなる。仮想表の作成は仮想表定義処理（図１０）を参照する。仮想表定義処理（図１０）については後述説明する。次のステップで過去データをリストアしない場合の工程Ｓ６５は、以上で通常データ検索可能工程Ｓ６９となる。過去データをリストアする場合は、リストア処理工程Ｓ６６を実行する。リストア処理工程Ｓ６６については後述詳細に説明する。過去データのリストア処理工程Ｓ６６が完了すると通常過去仮想表作成処理工程Ｓ６７が実行され、通常データ領域と過去データ領域の表を結合して、通常データと過去データ、両方のデータを検索可能工程Ｓ６８となる。過去データと通常データを結合した仮想表についてはデータベースデータ結合仮想表（図９）を参照する。データベースデータ結合仮想表（図９）については後述説明する。
【００２４】
図７はデータベースバックアップ処理フローを示す図である。バックアップ処理工程Ｓ６２の詳細を表している。初めに表番号管理情報より処理基準日５１と表番号５２を取得して、バックアップ対象の確定工程Ｓ７１を行う。次にバックアップ対象となった表をバックアップ処理工程Ｓ７２する。例えば、データ登録処理工程Ｓ６１を行った際の処理基準日５１が２００６１１２１で、表の番号が０００８の場合、バックアップ対象は表Ａ０００８となる。さらにバックアップデータのファイル名を確定する。例えば処理基準日５１が２００６１１２１で表番号５２が０００８の場合、バックアップファイル名は「２００６１１２１＿０００８.ＤＭＰ」となる。最後に保存期間外のデータ削除処理工程Ｓ７３を行う。保存期間が過ぎた表Ａの対象の番号を、表全体で削除する。例えば、保存期間が３日で現在の表の番号が０００８だった場合、表Ａ０００６、Ａ０００７、Ａ０００８の３つが保存期間内で仮想表として定義され、検索データとして検索可能となる。表Ａ０００５は保存期間外のデータとなり、表ごと（表の定義は残ったまま）削除される。
【００２５】
図８はデータベースリストア処理フローを示す図である。リストア処理工程Ｓ６６の詳細を表している。初めにデータベースサーバのディスクの容量が不足しているか判定工程Ｓ８１を行う。不足している場合は過去データが既にデータベースに存在しているか確認工程Ｓ８２する。存在する場合は過去データの削除工程Ｓ８３を行ってディスクの空き容量を増やす。存在しない場合は通常データの保存期間を変更工程Ｓ８４して不要データ削除処理工程Ｓ８５を実施してディスクの空き容量を増やす。ディスクに空き容量ができたところで、過去データ領域にデータを格納できるスペースが確保さる。そしてバックアップデータが保存期間内か判定Ｓ８６する。この際図７で説明したバックアップデータのバックアップファイルと表番号管理情報（図５）の処理基準日５１、表番号５２、保存期間５３とを比較する。そして過去データ領域にリストアするか、通常データ領域にリストアするか判定する。バックアップデータが保存期間５３の範囲内にある場合は通常データ領域にリストア処理工程Ｓ８７によって、通常データ領域にバックアップデータがリストアされる。またバックアップデータが保存期間５３の範囲外にある場合は過去データ領域にリストア処理工程Ｓ８８によって、過去データ領域にバックアップデータがリストアされる。例えば、バックアップファイル名が２００６１１２１＿０００８.ＤＭＰ、処理基準日５１が２００６１１２５、表番号５２が００１２、保存期間５３が３の場合を考える。バックアップファイルは、処理基準日５１と表番号５２から計算すると５日前のデータとわかる。ここで保存期間５３は３日なので、５日前のデータは過去データとなる。よって過去データ領域にリストアされる。
【００２６】
図９はデータベースデータ結合仮想表を示す図である。通常検索可能データの格納された表９１と過去データの格納された表９２がデータ領域結合モジュール３７によって結合されて、通常過去仮想表９３を構成している。通常過去仮想表９３を定義する処理として仮想表定義処理（図１０）を参照する。仮想表定義処理（図１０）については後述説明する。データ領域結合モジュール３７が行う過去データと通常データの結合について、図９を例にして説明する。通常検索可能データの格納された表９１として表Ａ０００１からＡ０００６の６つの表にそれぞれ通常データが格納され、過去データの格納された表９２としてＡ０８０１、Ａ０９００、Ａ０６００の３つにリストアされた過去データがある。これら９つの表を全て結合してひとつの仮想表とする。検索サーバ１１は図３のデータ操作モジュールのデータ検索処理によって、仮想表に検索を行うことで、現在と過去両方のデータを検索することができる。例えば図９についてデータ検索クエリ（ＳＱＬ）で考える。仮想表を使用しない場合は、通常データ領域の表６つと過去データ領域の表３つ合計９つの表に対して検索を行う。仮想表を使用する場合は通常データ領域と過去データ領域をまとめた仮想表１つに対してだけ検索を行うこととなる。
【００２７】
図１０は仮想表定義処理を示す図である。通常過去仮想表作成処理工程Ｓ６７をＳＱＬ文で行った場合の実行例である。ＳＱＬ文の集合演算（ＵＮＩＯＮ）によって仮想表定義を行うことを表す。現在データの表と過去データの表をすべてＵＮＩＯＮで結合して仮想表定義を行う。この処理はリストア処理工程Ｓ６６が実行される毎に再定義される。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施例における、ネットワーク構成を示す図である。
【図２】本発明の一実施例における、データベースサーバH/W構成を示す図である。
【図３】本発明の一実施例における、データベースソフトウェアモジュール構成を示す図である。
【図４】本発明の一実施例における、データベース領域構成を示す図である。
【図５】本発明の一実施例における、データベース表番号管理情報を示す図である。
【図６】本発明の一実施例における、データベース制御フローを示す図である。
【図７】本発明の一実施例における、データベースバックアップ処理フローを示す図である。
【図８】本発明の一実施例における、データベースリストア処理フローを示す図である。
【図９】本発明の一実施例における、データベースデータ結合仮想表を示す図である。
【図１０】本発明の一実施例における、仮想表定義処理を示す図である。
【図１】
2008269408.tif 000003
【図２】
2008269408.tif 000004
【図３】
2008269408.tif 000005
【図４】
2008269408.tif 000006
【図５】
2008269408.tif 000007
【図６】
2008269408.tif 000008
【図７】
2008269408.tif 000009
【図８】
2008269408.tif 000010
【図９】
2008269408.tif 000011
【図１０】
2008269408.tif 000012