(57)【要約】【課題】本発明は、使用頻度が低いデータを退避することによってデータベース容量を削減できるデータベース処理装置、システム、方法およびプログラムを提供する。【解決手段】本発明の一実施形態に係るサーバ１００は、第１の記憶装置に記録されている第１のデータベースおよび第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部と、検索条件において射影によって第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部と、使用頻度が所定の条件を満たすデータを、第１のデータベースから第２のデータベースへ退避するデータ移動部と、を備える。【選択図】図２
2018147357.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避するデータ移動部と、
を備えるデータベース処理装置。
【請求項２】
前記検索実行部は、既に前記第１のデータベースから前記第２のデータベースに退避された前記データが前記検索条件において射影によって前記第１のデータベースの中で指定された場合に、前記第２のデータベースの前記データを前記第１のデータベースに結合して前記検索の結果とすることを特徴とする、請求項１に記載のデータベース処理装置。
【請求項３】
前記使用頻度計数部は、前記検索条件において射影によって前記第２のデータベースの中で指定された前記データの前記使用頻度を計数し、
前記データ移動部は、前記使用頻度が所定の条件を満たす前記データを、前記第２のデータベースから前記第１のデータベースへ書き戻すことを特徴とする、請求項２に記載のデータベース処理装置。
【請求項４】
前記第１のデータベースおよび前記第２のデータベースは、それぞれ前記データを格納する複数のフィールドからなるテーブルを含み、
前記使用頻度計数部は、１つの前記フィールドごとに前記使用頻度を計数することを特徴とする、請求項１〜３のいずれか一項に記載のデータベース処理装置。
【請求項５】
前記使用頻度は前記データが射影によって指定されない回数であり、
前記使用頻度計数部は、前記検索条件において射影によって指定されない前記データの前記回数に所定の値を加算することによって、前記使用頻度を計数することを特徴とする、請求項１〜４のいずれか一項に記載のデータベース処理装置。
【請求項６】
前記データ移動部は、前記回数が所定の値以上又は所定の値より大きい前記データを、前記第１のデータベースから前記第２のデータベースへ退避することを特徴とする、請求項５に記載のデータベース処理装置。
【請求項７】
前記使用頻度は前記データが射影によって最後に指定された時間であり、
前記使用頻度計数部は、前記検索条件において射影によって最後に指定された前記データの前記時間を、前記検索が行われる時間に更新することによって、前記使用頻度を計数することを特徴とする、請求項１〜４のいずれか一項に記載のデータベース処理装置。
【請求項８】
前記時間が所定の値以前又は所定の値より前である前記データを、前記第１のデータベースから前記第２のデータベースへ退避することを特徴とする、請求項７に記載のデータベース処理装置。
【請求項９】
データベース処理装置と、
前記データベース処理装置に接続されている第１の記憶装置と、
前記データベース処理装置に接続されており、前記第１の記憶装置とは異なる第２の記憶装置と、
を備え、
前記データベース処理装置は、
前記第１の記憶装置に記録されている第１のデータベースおよび前記第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避するデータ移動部と、
を備えることを特徴とする、データベース処理システム。
【請求項１０】
第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う工程と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する工程と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避する工程と、
を備えるデータベース処理方法。
【請求項１１】
コンピュータに、
第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う工程と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する工程と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避する工程と、
を実行させるデータベース処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに対して処理を行う装置、システム、方法およびプログラムに関する。
【背景技術】
【０００２】
一般的なデータベース（特にリレーショナルデータベース）システムにおいて、データベースは１つ以上のテーブル（表）から構成され、各テーブルは行および列の組み合わせによって特定されるフィールドにデータを格納する。データベースには、文字列や数値だけでなく、音楽、画像、動画等のマルチメディアデータも格納される。近年の計算速度および通信速度の向上にともなってデータベースに格納されるデータは増加しているため、データベースの容量を削減することが求められている。
【０００３】
特許文献１には、１つのテーブルに含まれる複数の列について、各列の使用頻度情報に基づいて、各列を複数のテーブルに振り分ける技術が記載されている。特許文献１における使用頻度は、値が入力されるか否か（すなわち空欄か否か）を示しており、管理者によって予め設定される。振り分け後のテーブルでは空欄のみを含む行は省略されるため、使用頻度が低い（すなわち空欄が多い）列が振り分けられるテーブルでは行の数が少なくなる。このような構成によって、データベースの容量を削減することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−０５３２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術は、値が入力されるか否かに基づいて列そのものの使用頻度を規定するものであり、フィールドに入力されたデータの使用頻度を考慮していない。そのため、フィールドに入力されているデータのアクセス頻度（使用頻度）に基づいて振り分けを行うことはできない。使用頻度の低いデータはデータベース容量を圧迫して無駄であるため、データベースが記録されている記憶装置から退避されることが望ましい。
【０００６】
データベース容量を削減するために、管理者が手作業で使用頻度の低いデータを他の記憶装置に移動することが考えられるが、このような作業には大きな手間が掛かる。また、移動されたデータが再び必要になった際には該データを書き戻す必要があり、さらに手間が掛かる。
【０００７】
本発明は、上述の問題に鑑みて行われたものであって、使用頻度が低いデータを退避することによってデータベース容量を削減できるデータベース処理装置、システム、方法およびプログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、データベース処理装置であって、第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部と、前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部と、前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避するデータ移動部と、を備える。
【０００９】
本発明の第２の態様は、データベース処理システムであって、データベース処理装置と、前記データベース処理装置に接続されている第１の記憶装置と、前記データベース処理装置に接続されており、前記第１の記憶装置とは異なる第２の記憶装置と、を備え、前記データベース処理装置は、前記第１の記憶装置に記録されている第１のデータベースおよび前記第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部と、前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部と、前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避するデータ移動部と、を備えることを特徴とする。
【００１０】
本発明の第３の態様は、データベース処理方法であって、第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う工程と、前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する工程と、前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避する工程と、を備える。
【００１１】
本発明の第４の態様は、データベース処理プログラムであって、コンピュータに、第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う工程と、前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する工程と、前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避する工程と、を実行させる。
【発明の効果】
【００１２】
本発明によれば、主たる記憶装置において使用頻度が低いデータを異なる記憶装置内のデータベースに退避することによって、主たる記憶装置におけるデータベース容量を削減することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るデータベース処理システムの模式図である。
【図２】第１の実施形態に係るサーバのブロック図である。
【図３】第１の実施形態に係るデータベース処理システムにおける情報授受の流れを示す模式図である。
【図４】第１の実施形態に係るデータベース処理方法の模式図である。
【図５】第１の実施形態に係るデータベース処理方法の模式図である。
【図６】第１の実施形態に係るデータベース処理方法の模式図である。
【図７】第１の実施形態に係るデータベース処理方法の模式図である。
【図８】第１の実施形態に係るサーバの例示的な機器構成を示す概略構成図である。
【図９】第１の実施形態に係るデータベース処理方法のフローチャートを示す図である。
【図１０】第１の実施形態に係るデータベース処理方法のフローチャートを示す図である。
【図１１】第２の実施形態に係るデータベース処理方法の模式図である。
【図１２】第３の実施形態に係るデータベース処理方法の模式図である。
【図１３】第４の実施形態に係るデータベース処理方法の模式図である。
【図１４】各実施形態に係るサーバの概略構成図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
【００１５】
（第１の実施形態）
図１は、本実施形態に係るデータベース処理システム１の模式図である。データベース処理システム１は、データベースに対して処理を行うサーバ１００と、利用者からの入力を受け付けるとともに利用者に情報を表示する端末１０とを備える。サーバ１００および端末１０は、インターネット等のネットワーク２０を介して、有線接続又は無線接続によって接続される。データベース処理システム１は、その他のサーバ、端末等の機器を含んでよい。
【００１６】
端末１０は、サーバ１００に対して検索の指示を送信し、サーバ１００から受信した検索結果を表示する。端末１０は、利用者からの指示を入力する入力装置および利用者に対して情報を表示する表示装置を備えるコンピュータである。端末１０は、有線通信又は無線通信によってネットワーク２０を介してサーバ１００と通信可能に構成される。
【００１７】
サーバ１００（データベース処理装置）は、端末１０から受信した検索の指示に応じてデータベースを検索し、検索結果を端末１０に送信する。サーバ１００は、基本記憶装置２００（第１の記憶装置）およびバックアップ記憶装置３００（第２の記憶装置）に接続されており、例えば単一のコンピュータ、又はコンピュータ資源の集合であるクラウドである。
【００１８】
基本記憶装置２００およびバックアップ記憶装置３００は、それぞれデータベースを記録するハードディスクドライブやフラッシュドライブ等の任意の記憶装置である。基本記憶装置２００およびバックアップ記憶装置３００は、それぞれ複数の記憶装置の組み合わせでもよく、可搬記憶媒体を含んでもよい。基本記憶装置２００およびバックアップ記憶装置３００は、互いに異なる実体の記憶装置として構成される。基本記憶装置２００およびバックアップ記憶装置３００は、サーバ１００に内蔵されてもよく、サーバ１００の外部に直接接続されてもよく、サーバ１００にネットワーク２０を介して接続されてもよい。
【００１９】
図２は、本実施形態に係るサーバ１００のブロック図である。図２において、矢印は主なデータの流れを示しており、図２に示したもの以外のデータの流れがあってよい。図２において、各ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図２に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に別れて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
【００２０】
サーバ１００は、検索条件入力部１１０、検索実行部１２０、検索結果出力部１３０、使用頻度計数部１４０、バックアップ対象判定部１５０およびデータ移動部１６０を含む。また、サーバ１００は、端末１０、基本記憶装置２００およびバックアップ記憶装置３００に接続される。
【００２１】
検索条件入力部１１０は、利用者によって指定された検索の指示を端末１０から受信し、受信された検索の指示に含まれる検索条件をサーバ１００に入力する。
【００２２】
検索実行部１２０は、検索条件入力部１１０によって入力された検索条件に基づいて、基本記憶装置２００に記録された基本データベース２１０（第１のデータベース）およびバックアップ記憶装置３００に記録されたバックアップデータベース３１０（第２のデータベース）からデータを結合して取得し、検索結果として取得する。
【００２３】
検索結果出力部１３０は、検索実行部１２０によって取得された検索結果を出力し、端末１０に送信する。
【００２４】
使用頻度計数部１４０は、データの使用頻度を管理する指標として、基本データベース２１０において検索に用いられないキーの非検索回数を増加させ、あるいはバックアップデータベース３１０において検索に用いられたキーの検索回数を増加させる。
【００２５】
バックアップ対象判定部１５０は、使用頻度計数部１４０によって計数された使用頻度である非検索回数又は検索回数に基づいて、基本データベース２１０のデータをバックアップデータベース３１０に退避するか否か、あるいはバックアップデータベース３１０のデータを基本データベース２１０に戻すか否かを判定する。
【００２６】
データ移動部１６０は、バックアップ対象判定部１５０による判定結果に従って、基本データベース２１０のデータをバックアップデータベース３１０に退避し、あるいはバックアップデータベース３１０のデータを基本データベース２１０に戻す。
【００２７】
図３は、本実施形態に係るデータベース処理システム１における情報授受の流れを示す模式図である。端末１０は、利用者による検索の指示を受け付ける。検索の指示には、利用者が指定する検索条件の情報が含まれる。ここでは、例として利用者は「ＩＤ」キーが「ｉｄ１」である行から「ＵＳＥＲ」キーを取得することを検索条件として指示する。検索の指示は利用者によって直接入力されてもよく、あるいは端末１０で実行されるプログラム（アプリケーション）によって利用者の要求に応じて生成されてもよい。端末１０は、利用者から受け付けた検索の指示をサーバ１００に送信する。
【００２８】
サーバ１００は、端末１０から検索の指示を受信し、受信された指示に含まれる検索条件に従ってデータベースに対する問い合わせ文（クエリ）を生成する。そしてサーバ１００は、生成されたクエリを基本データベース２１０およびバックアップデータベース３１０に入力して検索結果を取得し、端末１０に送信する。ここでは、「ＩＤ」キーが「ｉｄ１」である行の「ＵＳＥＲ」キーが検索結果として取得される。
【００２９】
端末１０は、サーバ１００から検索結果を受信し、受信された検索結果を表示装置上に表示する。ここでは、「ＩＤ」キーが「ｉｄ１」である行の「ＵＳＥＲ」キーが検索結果として表示される。
【００３０】
このように、指定された特定のキー（列）をデータベースから抽出することを射影という。特に複数のキーのうち一部のキーのみを射影する場合には、指定されないキー（図３の例では「ＤＡＴＡ」キー）のデータは用いられない。しかしながら、現在指定されないキーであっても将来的に使用される可能性があるため、安易にデータを削除することはできない。本実施形態に係るデータベース処理システム１は、あまり指定されないデータ、すなわち使用頻度の低いデータを、基本記憶装置２００からバックアップ記憶装置３００に退避する。これにより、主たる基本記憶装置２００におけるデータベース容量を削減することができる。
【００３１】
基本記憶装置２００は検索時に必ずアクセスされ、バックアップ記憶装置３００は退避済のデータを取得する場合のみアクセスされる。そのため、例えば基本記憶装置２００を高速だが高価な構成にし、バックアップ記憶装置３００を低速だが廉価な構成にすることによって、データベース処理システム１全体の応答性およびコストの均衡をとることができる。
【００３２】
基本記憶装置２００およびバックアップ記憶装置３００の組み合わせの第１の具体例として、基本記憶装置２００をメモリのような主記憶装置（一次記憶装置）とし、バックアップ記憶装置３００をハードディスクドライブのような補助記憶装置（二次記憶装置）とする。このような構成により、容量が限られた主記憶装置から使用頻度の低いデータを退避することによってデータベース容量を削減し、大きな容量を確保しやすい補助記憶装置に使用頻度の低いデータを記録することができる。
【００３３】
基本記憶装置２００およびバックアップ記憶装置３００の組み合わせの第２の具体例として、基本記憶装置２００およびバックアップ記憶装置３００を両方ともハードディスクドライブとし、２つのハードディスクドライブでアクセス速度、冗長性、容量等の条件を変えた構成とする。このような構成により、高価な構成のハードディスクドライブを備える基本記憶装置２００から使用頻度の低いデータを退避することによってデータベース容量を削減し、廉価な構成のハードディスクドライブを備えるバックアップ記憶装置３００に使用頻度の低いデータを記録することができる。
【００３４】
基本記憶装置２００およびバックアップ記憶装置３００の組み合わせの第３の具体例として、基本記憶装置２００をサーバ１００と同じネットワーク内に設けられた任意の記憶装置とし、バックアップ記憶装置３００をサーバ１００と異なるネットワーク内に設けられた任意の記憶装置とする。このような構成により、同じネットワーク内にあって高速にアクセスできる基本記憶装置２００から使用頻度の低いデータを退避することによってデータベース容量を削減し、大きな容量を確保しやすいクラウド等の外部ネットワークに配置されたバックアップ記憶装置３００に使用頻度の低いデータを記録することができる。また、使用頻度の低いデータを外部ネットワークから受信する頻度は少ないため、サーバ１００と外部ネットワークとの間の通信量も削減することができる。
【００３５】
図４〜７は、本実施形態に係るデータベース処理方法の模式図である。図４〜７において、各処理において更新又は追加されるデータに下線が引かれており、削除されるデータに取り消し線が引かれている。基本記憶装置２００に記録される基本データベース２１０は、基本テーブル２１１、使用頻度テーブル２１２および管理テーブル２１３を含む。バックアップ記憶装置３００に記録されるバックアップデータベース３１０は、バックアップテーブル３１１を含む。各テーブルは、行および列（キー）の組み合わせによって特定されるフィールドにデータを格納する。ここで示す各テーブルの構成は一例であり、本発明の機能が実現できる限り、テーブルの分割、変更、追加等、任意の変更が行われてよい。また、ここで示す各処理は一例であり、本発明の機能が実現できる限り、実際のテーブルの構成に応じて任意の変更が行われてよい。
【００３６】
基本テーブル２１１は、データを格納するためのテーブルである。基本テーブル２１１は、各行を識別する一意の識別子であるＩＤを格納する「ＩＤ」キー、ならびに所望のデータを格納する「ＵＳＥＲ」キーおよび「ＤＡＴＡ」キーを含む。後述するように、いずれかのキーのフィールドに格納されたデータは、該キーについて射影によって指定されなかった非検索回数に基づいてバックアップテーブル３１１に退避され得る。
【００３７】
使用頻度テーブル２１２は、使用頻度の低いキーを検出するためのテーブルである。本実施形態では、使用頻度の指標として、射影によって指定されない回数である非検索回数を用いる。非検索回数はその値が大きいほど使用頻度が低いといえる。
【００３８】
使用頻度テーブル２１２は、基本テーブル２１１のＩＤと共通の「ＩＤ」キー、基本テーブル２１１のいずれかのキー（列）を指定する「ＫＥＹ」キー、および射影によって指定されなかった非検索回数を格納する「非検索回数」キーを含む。すなわち、データベース検索によってあるＩＤを含む特定の行が抽出された場合であって、該行の一部であるキーが射影によって指定されなかった場合に、使用頻度テーブル２１２において該ＩＤおよび該キーに関連付けられた「非検索回数」キーのフィールドの回数が所定の数（ここでは＋１）増やされる。また非検索回数として、指定されない回数そのものではなく、特定の行が抽出された合計回数に対する、該行の一部であるキーが射影によって指定されなかった回数の割合を用いてもよい。
【００３９】
バックアップテーブル３１１は、基本テーブル２１１から退避されたデータを格納するためのテーブルである。バックアップテーブル３１１は、各行を識別する一意の識別子であるＩＤを格納する「ＩＤ（ＢＡＣＫＵＰ）」キー、基本テーブル２１１から退避されたデータを格納する「ＶＡＬＵＥ」キー、および射影によって指定された検索回数を数える「検索回数」キーを含む。後述するように、「ＶＡＬＵＥ」キーのフィールドには、基本テーブル２１１から退避されたいずれかのキーのデータが格納される。退避元の基本テーブル２１１において退避済のキーが検索された場合には、「ＶＡＬＵＥ」キーのフィールドに退避された該キーのデータが基本テーブル２１１に結合されて返却される。バックアップテーブル３１１に退避されたデータが基本テーブル２１１に結合されて返却された場合には、該データに関連付けられた「検索回数」キーのフィールドの回数が所定の数（ここでは＋１）増やされる。また、「ＶＡＬＵＥ」キーのフィールドに格納されたデータは、該データに関連付けられた検索回数に基づいて基本テーブル２１１に書き戻され得る。
【００４０】
管理テーブル２１３は、基本テーブル２１１の退避元とバックアップテーブル３１１の退避先とを関連付けるためのテーブルである。管理テーブル２１３は、各行を識別する一意の識別子であるＩＤを格納する「ＩＤ（ＭＮＧ）」キー、およびバックアップテーブルのＩＤと共通の「ＩＤ（ＢＡＣＫＵＰ）キー」を含む。すなわち、基本テーブル２１１からバックアップテーブル３１１にデータが退避される際には、基本テーブル２１１において該データが格納されていた退避元のフィールドに、管理テーブル２１３の「ＩＤ（ＭＮＧ）」キーのＩＤが格納される。それと同時に、バックアップテーブル３１１において該データが退避された先のフィールドに関連付けられたＩＤが、管理テーブル２１３の「ＩＤ（ＢＡＣＫＵＰ）」キーのフィールドに格納される。これにより、基本テーブル２１１における退避元のフィールドと、バックアップテーブル３１１における退避先のフィールドとが関連付けられる。
【００４１】
図４には、データが基本テーブル２１１から退避される前の状態で検索を行う場合の検索処理が示されている。具体的には、利用者が「ＩＤ」キーが「ｉｄ１」値を有する行から射影によって「ＵＳＥＲ」キーを取得する指示を行った場合に、検索実行部１２０は、基本テーブル２１１から「ＩＤ」キーが「ｉｄ１」である行の「ＵＳＥＲ」キーを検索結果として取得する。この検索では、「ＩＤ」キーが「ｉｄ１」である行のうち、射影によって「ＤＡＴＡ」キーが指定されていない。そのため使用頻度計数部１４０は、使用頻度テーブル２１２において、「ＩＤ」キーが「ｉｄ１」かつ「ＫＥＹ」キーが「ＤＡＴＡ」である新たな行を生成し、該行の非検索回数を１に設定する。使用頻度テーブル２１２に「ＩＤ」キーが「ｉｄ１」かつ「ＫＥＹ」キーが「ＤＡＴＡ」である行が既に存在する場合には、使用頻度計数部１４０は、該行の非検索回数に１を加算する。
【００４２】
図５には、データを基本テーブル２１１から退避する退避処理が示されている。具体的には、バックアップ対象判定部１５０は、使用頻度テーブル２１２の各行について、非検索回数が所定の閾値以上又は所定の閾値より大きい場合（ここでは例えば１０回以上である場合）に、該行がバックアップ対象であると判定し、該行の「ＩＤ」キーおよび「ＫＥＹ」キーを抽出する。データ移動部１６０は、基本テーブル２１１においてバックアップ対象である該「ＩＤ」キーおよび該「ＫＥＹ」キーに該当するフィールドのデータを取得する。次にデータ移動部１６０は、バックアップテーブル３１１に「ＶＡＬＵＥ」キーが基本テーブル２１１から取得されたデータである新たな行を生成し、該行の「ＩＤ（ＢＡＣＫＵＰ）」キーに新たな一意の値（ここでは「ｉｄ１（ｂａｃｋｕｐ）」）を設定し、該行の検索回数を０に設定する。次にデータ移動部１６０は、管理テーブル２１３に、「ＩＤ（ＢＡＣＫＵＰ）」キーが「ｉｄ１（ｂａｃｋｕｐ）」である新たな行を生成し、該行の「ＩＤ（ＭＮＧ）」キーに新たな一意の値（ここでは「ｉｄ１（ｍｎｇ）」）を設定する。次にデータ移動部１６０は、基本テーブル２１１におけるバックアップ対象である該「ＩＤ」キーおよび該「ＫＥＹ」キーに該当するフィールドに、管理テーブル２１３の該「ＩＤ（ＭＮＧ）」キーのＩＤを設定する。
【００４３】
本実施形態では退避処理は検索処理が行われる際に行われるが、所定の時間ごとや、データベースの容量が所定の閾値以上になった場合等、検索処理とは独立したタイミングで行われてもよい。
【００４４】
図６には、データが基本テーブル２１１から退避された後の状態で検索を行う場合の検索処理が示されている。具体的には、利用者が「ＩＤ」キーが「ｉｄ１」値を有する行から射影によって「ＵＳＥＲ」キーおよび「ＤＡＴＡ」キーを取得する指示を行った場合に、検索実行部１２０は、基本テーブル２１１から「ＩＤ」キーが「ｉｄ１」である行の「ＵＳＥＲ」キーおよび「ＤＡＴＡ」キーを取得する。このとき、「ＤＡＴＡ」キーのフィールドには、本来のデータではなく、代わりに管理テーブル２１３の「ＩＤ（ＭＮＧ）」キーのＩＤ（ここでは「ｉｄ１（ｍｎｇ）」）が格納されている。そのため、検索実行部１２０は、管理テーブル２１３において「ＩＤ（ＭＮＧ）」キーのＩＤに関連付けられた「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤ（ここでは「ｉｄ１（ｂａｃｋｕｐ）」）を取得し、バックアップテーブル３１１から該「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤに関連付けられた「ＶＡＬＵＥ」キーのデータを取得する。そして、検索実行部１２０は、基本テーブル２１１から抽出された行において、基本テーブル２１１の該「ＤＡＴＡ」キーのデータの代わりにバックアップテーブル３１１の該「ＶＡＬＵＥ」キーのデータを結合して検索結果として取得する。
【００４５】
基本テーブル２１１のデータが退避済なのか否かを容易に判定するために、管理テーブル２１３の「ＩＤ（ＭＮＧ）」キーのＩＤを所定の規則に従って生成することが望ましい。例えば、「ＩＤ（ＭＮＧ）」キーの規則として、図６の例のようにデータの最後が「（ｍｎｇ）」の文字列で終わっていることを用いることができる。検索実行部１２０は、基本テーブル２１１のフィールドに格納されているデータが「ＩＤ（ＭＮＧ）」キーの規則に従っている場合に、該データが管理テーブル２１３の「ＩＤ（ＭＮＧ）」キーのＩＤであることを判定することができる。「ＩＤ（ＭＮＧ）」キーの規則は一例であり、基本テーブル２１１の退避済のフィールドに管理テーブル２１３の「ＩＤ（ＭＮＧ）」キーのＩＤが格納されていることが判定可能な任意の規則を用いてよい。
【００４６】
図７には、バックアップテーブル３１１に退避されたデータを基本テーブル２１１に戻す書き戻し処理が示されている。具体的には、バックアップ対象判定部１５０は、バックアップテーブル３１１の各行について、検索回数が所定の閾値以上又は所定の閾値より大きい場合（ここでは例えば１０回以上である場合）に、該行がバックアップ対象ではないと判定し、該行の「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤ（ここでは「ｉｄ１（ｂａｃｋｕｐ）」）および「ＶＡＬＵＥ」キーのデータを抽出し、該行を削除する。そしてデータ移動部１６０は、管理テーブル２１３において該「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤに関連付けられた行の「ＩＤ（ＭＮＧ）」キーのＩＤ（ここでは「ｉｄ１（ｍｎｇ）」）を取得し、該行を削除する。最後にデータ移動部１６０は、基本テーブル２１１において該「ＩＤ（ＭＮＧ）」キーのＩＤが格納されているフィールドに、バックアップテーブル３１１から抽出された該「ＶＡＬＵＥ」キーのデータを格納する。
【００４７】
本実施形態では書き戻し処理は検索処理が行われる際に行われるが、所定の時間ごとや、データベースの容量が所定の閾値以上になった場合等、検索処理とは独立したタイミングに行われてもよい。
【００４８】
基本テーブル２１１に対して更新を行う際に、更新対象のフィールドに管理テーブル２１３の「ＩＤ（ＭＮＧ）」キーのＩＤが格納されている場合には、サーバ１００は、管理テーブル２１３において「ＩＤ（ＭＮＧ）」キーのＩＤに関連付けられた「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤを取得し、バックアップテーブル３１１から該「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤに関連付けられた「ＶＡＬＵＥ」キーのデータを更新する。
【００４９】
基本テーブル２１１に対して削除を行う際に、削除対象の行に管理テーブル２１３の「ＩＤ（ＭＮＧ）」キーのＩＤが含まれている場合には、サーバ１００は、基本テーブル２１１の行を削除するとともに、管理テーブル２１３から該「ＩＤ（ＭＮＧ）」を含む行を削除し、バックアップテーブル３１１から該「ＩＤ（ＭＮＧ）」に関連付けられた「ＩＤ（ＢＡＣＫＵＰ）」キーを含む行を削除する。
【００５０】
図４〜７において各テーブルは視認性のために文字列の表で表されているが、各テーブルのデータは任意の形式で記録されてよく、例えば文字列テキストデータ、数値データおよびバイナリデータのいずれでもよい。
【００５１】
図８は、本実施形態に係るサーバ１００の例示的な機器構成を示す概略構成図である。サーバ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、メモリ１０２と、記憶装置１０３と、インターフェース１０４とを備える。サーバ１００は独立した装置でよく、あるいは他の装置と一体に構成されてよい。
【００５２】
インターフェース１０４は、データの送受信を行う通信部であり、有線通信および無線通信の少なくとも一方の通信方式を実行可能に構成される。インターフェース１０４は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子等を含む。インターフェース１０４は、ＣＰＵ１０１からの信号に従って、該通信方式を用いて通信を行う。
【００５３】
記憶装置１０３は、サーバ１００が実行するプログラムや、プログラムによる処理結果のデータ等を記憶する。記憶装置１０３は、読み取り専用のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や、読み書き可能のハードディスクドライブ又はフラッシュメモリ等を含む。また、記憶装置１０３は、ＣＤ−ＲＯＭ等のコンピュータ読取可能な可搬記憶媒体を含んでもよい。記憶装置１０３は、基本記憶装置２００およびバックアップ記憶装置３００のどちらかと同一の装置でもよく、それらとは別の装置でもよい。
【００５４】
メモリ１０２は、ＣＰＵ１０１が処理中のデータや記憶装置１０３から読み出されたプログラムおよびデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を含む。
【００５５】
ＣＰＵ１０１は、処理に用いる一時的なデータをメモリ１０２に一時的に記録し、記憶装置１０３に記録されたプログラムを読み出し、該プログラムに従って該一時的なデータに対して種々の演算、制御、判別などの処理動作を実行するプロセッサである。また、ＣＰＵ１０１は、記憶装置１０３に処理結果のデータを記録し、またインターフェース１０４を介して処理結果のデータを外部に送信する。
【００５６】
本実施形態においてＣＰＵ１０１は、記憶装置１０３に記録されたプログラムを実行することによって、図２の検索条件入力部１１０、検索実行部１２０、検索結果出力部１３０、使用頻度計数部１４０、バックアップ対象判定部１５０およびデータ移動部１６０として機能する。
【００５７】
サーバ１００は、図８に示す具体的な構成に限定されない。サーバ１００は、１つの装置に限られず、２つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されていてもよい。サーバ１００に含まれる各部は、それぞれ電気回路構成により実現されていてもよい。ここで、電気回路構成とは、単一のデバイス、複数のデバイス、チップセット又はクラウドを概念的に含む文言である。
【００５８】
また、サーバ１００の少なくとも一部がＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）形式で提供されてよい。すなわち、サーバ１００を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてよい。
【００５９】
図９、１０は、本実施形態に係るデータベース処理方法のフローチャートを示す図である。図９のフローチャートは、本実施形態に係るデータベース処理方法のうち検索処理を示す。図９のフローチャートは、例えばサーバ１００が端末１０から送信された検索の指示を受信したことに応じて開始される。
【００６０】
まず、検索条件入力部１１０は、端末１０から受信された検索の指示に含まれる検索条件をサーバ１００に入力する（ステップＳ１０１）。次に、検索実行部１２０は、ステップＳ１０１で入力された検索条件に従って基本テーブルに対して検索を実行し、検索条件に合致する基本テーブル２１１の行を抽出する（ステップＳ１０２）。
【００６１】
以降の処理は、ステップＳ１０２で抽出された行の全てのキー（すなわち射影として指定されるか否かに関わらず全てのキー）のうち１つのキーを対象として繰り返し行われる。対象のキーがステップＳ１０１の検索条件において射影として指定されていない場合、すなわち対象のキーが検索されない場合に（ステップＳ１０３のＹＥＳ）、使用頻度計数部１４０は、使用頻度テーブル２１２において対象のキーに関連付けられた非検索回数を増加させる（ステップＳ１０４）。ここで使用頻度テーブル２１２において対象のキーを含む行が存在しない場合には、使用頻度計数部１４０は、対象のキーを含む新たな行を生成し、対象のキーに関連付けられた非検索回数を増加させる。
【００６２】
対象のキーが退避済である場合に（ステップＳ１０３のＮＯ、ステップＳ１０５のＹＥＳ）、検索実行部１２０は、管理テーブル２１３を用いて対象のキーに関連付けられたバックアップテーブル３１１のデータを取得し、対象のキーのデータの代わりにバックアップテーブル３１１から取得したデータを検索結果として結合して取得する（ステップＳ１０６）。そして、使用頻度計数部１４０は、バックアップテーブル３１１において対象のキーに関連付けられた検索回数を増加させる（ステップＳ１０７）。
【００６３】
対象のキーが退避済でない場合に（ステップＳ１０５のＮＯ）、検索実行部１２０は、対象のキーのデータを検索結果として取得する（ステップＳ１０８）。
【００６４】
ステップＳ１０２で抽出された行の全てのキーについて処理が終了していない場合に（ステップＳ１０９のＮＯ）、次のキーを対象としてステップＳ１０３〜Ｓ１０８を繰り返す。
【００６５】
ステップＳ１０２で抽出された行の全てのキーについて処理が終了した場合に（ステップＳ１０９のＹＥＳ）、検索結果出力部１３０は、ステップＳ１０７およびＳ１０８で取得された検索結果を出力し、端末１０に送信する（ステップＳ１１０）。
【００６６】
図１０のフローチャートは、本実施形態に係るデータベース処理方法のうちデータ移動処理を示す。図１０のフローチャートは、図９に示す検索処理の直後に続けて行われてもよく、あるいは図９に示す検索処理とは異なるタイミング（例えば、所定の時間ごとのタイミング、あるいはデータベース容量に応じたタイミング）で行われてもよい。
【００６７】
まず、バックアップ対象判定部１５０は、使用頻度テーブル２１２を読み込む（ステップＳ２０１）。続くステップＳ２０２〜Ｓ２０３の処理は、ステップＳ２０１で読み込まれた使用頻度テーブル２１２の全ての行のうち１つの行を対象として繰り返し行われる。あるいは、特に図１０のデータ移動処理が図９に示す検索処理の直後に続けて行われる場合に、図９のステップＳ１０４で非検索回数が増加された使用頻度テーブル２１２の行のみを対象として行われてもよい。
【００６８】
対象の行の非検索回数が所定の閾値以上である（あるいは所定の閾値より大きい）場合に（ステップＳ２０２のＹＥＳ）、データ移動部１６０は、対象の行に関連付けられた基本テーブル２１１のデータを、バックアップテーブル３１１のフィールドに退避する（ステップＳ２０３）。対象の行の非検索回数が所定の閾値より小さい（あるいは所定の閾値以下である）場合に（ステップＳ２０２のＮＯ）、データの退避を行わない。
【００６９】
ステップＳ２０１で読み込まれた使用頻度テーブル２１２の全ての行について処理が終了していない場合に（ステップＳ２０４のＮＯ）、次の行を対象としてステップＳ２０２〜Ｓ２０３を繰り返す。ステップＳ２０１で読み込まれた使用頻度テーブル２１２の全ての行について処理が終了した場合に（ステップＳ２０４のＹＥＳ）、続くステップＳ２０５に進む。
【００７０】
次に、バックアップ対象判定部１５０は、バックアップテーブル３１１を読み込む（ステップＳ２０５）。続くステップＳ２０６〜Ｓ２０７の処理は、ステップＳ２０５で読み込まれたバックアップテーブル３１１の全ての行のうち１つの行を対象として繰り返し行われる。あるいは、特に図１０のデータ移動処理が図９に示す検索処理の直後に続けて行われる場合に、図９のステップＳ１０７で検索回数が増加されたバックアップテーブル３１１の行のみを対象として行われてもよい。
【００７１】
対象の行の検索回数が所定の閾値以上である（あるいは所定の閾値より大きい）場合に（ステップＳ２０６のＹＥＳ）、データ移動部１６０は、バックアップテーブル３１１のデータを、基本テーブル２１１の退避前のフィールドに書き戻す（ステップＳ２０７）。対象の行の検索回数が所定の閾値より小さい（あるいは所定の閾値以下である）場合に（ステップＳ２０６のＮＯ）、データの書き戻しを行わない。
【００７２】
ステップＳ２０５で読み込まれたバックアップテーブル３１１の全ての行について処理が終了していない場合に（ステップＳ２０８のＮＯ）、次の行を対象としてステップＳ２０６〜Ｓ２０７を繰り返す。ステップＳ２０５で読み込まれたバックアップテーブル３１１の全ての行について処理が終了した場合に（ステップＳ２０８のＹＥＳ）、データ移動処理を終了する。
【００７３】
図１０では、ステップＳ２０１〜Ｓ２０４の後にステップＳ２０５〜Ｓ２０８が行われるが、これらは逆の順番で行われてもよく、あるいはこれらは並行して行われてもよい。
【００７４】
サーバ１００のＣＰＵ１０１は、図９、１０に示すデータベース処理方法に含まれる各ステップ（工程）の主体となる。すなわち、ＣＰＵ１０１は、図９、１０に示すデータベース処理方法を実行するためのデータベース処理プログラムをメモリ１０２又は記憶装置１０３から読み出し、該プログラムを実行してサーバ１００の各部を制御することによって図９、１０に示すデータベース処理方法を実行する。
【００７５】
本実施形態に係るデータベース処理システム１では、サーバ１００は基本記憶装置２００内の基本データベース２１０において各データの使用頻度を計数し、使用頻度が低いデータをバックアップ記憶装置３００内のバックアップデータベース３１０に退避する。そのため、主たる基本記憶装置２００のデータベース容量を削減することができる。また、データベース検索において退避済のデータが参照される場合には、サーバ１００はバックアップデータベース３１０に退避されたデータを基本データベース２１０のデータに結合して検索結果として取得するため、退避されたデータが必要になった際に基本データベース２１０に毎回書き戻す必要がない。また、退避されたデータがバックアップデータベース３１０から取得される使用頻度を計数するため、退避された後に使用頻度が高くなったデータを基本データベース２１０に書き戻すことができる。
【００７６】
（第２の実施形態）
第１の実施形態では管理テーブル２１３によって基本テーブル２１１の退避元のフィールドとバックアップテーブル３１１の退避先のフィールドとが関連付けられるのに対して、本実施形態では基本テーブル２１１の退避元のフィールドとバックアップテーブル３１１の退避先のフィールドとが直接関連付けられる。それ以外の本実施形態における構成は、第１の実施形態と同様である。
【００７７】
図１１は、本実施形態に係るデータベース処理方法における退避処理の模式図である。図１１に示すように、本実施形態では図４〜７と比較して基本データベース２１０内に管理テーブル２１３が設けられていない。具体的には、バックアップ対象判定部１５０は、使用頻度テーブル２１２の各行について、非検索回数が所定の閾値以上又は所定の閾値より大きい場合（ここでは例えば１０回以上である場合）に、該行がバックアップ対象であると判定し、該行の「ＩＤ」キーおよび「ＫＥＹ」キーを抽出する。データ移動部１６０は、基本テーブル２１１においてバックアップ対象の「ＩＤ」キーおよび「ＫＥＹ」キーに該当するフィールドのデータを取得する。次にデータ移動部１６０は、バックアップテーブル３１１に「ＶＡＬＵＥ」キーが基本テーブル２１１から取得されたデータである新たな行を生成し、該行の「ＩＤ（ＢＡＣＫＵＰ）」キーに新たな一意の値（ここでは「ｉｄ１（ｂａｃｋｕｐ）」）を設定し、該行の検索回数を０に設定する。次にデータ移動部１６０は、基本テーブル２１１におけるバックアップ対象の「ＩＤ」キーおよび「ＫＥＹ」キーに該当するフィールドに、バックアップテーブル３１１の該「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤを設定する。
【００７８】
本実施形態においてデータ検索を行う際には、検索実行部１２０は、基本テーブル２１１内で「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤが格納されているフィールドに、バックアップテーブル３１１において該「ＩＤ（ＢＡＣＫＵＰ）」キーのＩＤに関連付けられた値を結合して検索結果として取得する。
【００７９】
本実施形態に示すように、基本テーブル２１１における退避元のフィールドとバックアップテーブル３１１における退避先のフィールドとを直接関連付けることによっても、第１の実施形態と同様の効果を奏することができる。
【００８０】
（第３の実施形態）
第１の実施形態では基本記憶装置２００から退避されるデータはそのままバックアップ記憶装置３００に格納されるのに対して、本実施形態では基本記憶装置２００から退避されるデータは圧縮された状態でバックアップ記憶装置３００に格納される。それ以外の本実施形態における構成は、第１の実施形態と同様である。
【００８１】
図１２は、本実施形態に係るデータベース処理方法における退避処理の模式図である。図１２に示すように、本実施形態では図４〜７と比較してバックアップテーブル３１１の「ＶＡＬＵＥ」キーのフィールドに格納されるデータが圧縮されている。なお、図１２ではデータが圧縮されていることを示すために「ｘｘｘ．ｚｉｐ」という文字列が示されているが、実際にはデータを所定の形式で圧縮することによって生成されたバイナリデータが「ＶＡＬＵＥ」キーのフィールドに格納されている。データの圧縮形式としては、例えばｚｉｐ形式等、任意の圧縮形式を用いることができる。
【００８２】
具体的には、データ移動部１６０はバックアップテーブル３１１に基本テーブル２１１からのデータを退避する際に、該データを所定の形式で圧縮することによって圧縮データを生成し、「ＶＡＬＵＥ」キーのフィールドに該圧縮データを設定する。
【００８３】
本実施形態においてデータ検索を行う際には、検索実行部１２０は、バックアップテーブル３１１の「ＶＡＬＵＥ」キーに格納された圧縮データを復元し、復元されたデータを基本テーブル２１１に結合して検索結果として取得する。
【００８４】
本実施形態の変形例として、バックアップデータベース３１０外においてデータを所定の形式で圧縮することによって圧縮ファイルを生成し、「ＶＡＬＵＥ」キーのフィールドには該圧縮ファイルを示すファイル名（パス名）が格納されてもよい。
【００８５】
本実施形態によれば、第１の実施形態と同様の効果を奏するとともに、退避されたデータがバックアップ記憶装置３００において圧縮された状態になるため、基本記憶装置２００だけでなくバックアップ記憶装置３００におけるデータベース容量も削減することができる。
【００８６】
（第４の実施形態）
第１の実施形態では使用頻度の指標としてデータが射影によって指定されなかった非検索回数を用いるのに対して、本実施形態では使用頻度の指標としてデータが射影によって最後に指定された最終利用時間を用いる。最終利用時間はその値が古いほど使用頻度が低いといえる。それ以外の本実施形態における構成は、第１の実施形態と同様である。
【００８７】
図１３は、本実施形態に係るデータベース処理方法における退避処理の模式図である。図１３に示すように、本実施形態では図４〜７と比較して使用頻度テーブル２１２は「非検索回数」キーの代わりに「最終利用時間」キーを含む。「最終利用時間」キーには、「ＩＤ」キーおよび「ＫＥＹ」キーによって特定される基本テーブル２１１のキーが射影によって最後に指定された最終利用時間が格納される。使用頻度計数部１４０は、検索を行う際に、使用頻度テーブル２１２において射影によって指定された「ＩＤ」キーおよび「ＫＥＹ」キーに関連付けられた「最終利用時間」キーを該検索が行われた時間に更新する。
【００８８】
バックアップ対象判定部１５０は、使用頻度テーブル２１２の各行について、最終利用時間が所定の値以前又は所定の値より前である場合（ここでは例えば１年前以前である場合）に、該行がバックアップ対象であると判定し、該行の「ＩＤ」キーおよび「ＫＥＹ」キーを抽出する。データ移動部１６０は、基本テーブル２１１においてバックアップ対象の該「ＩＤ」キーおよび該「ＫＥＹ」キーに該当するフィールドのデータをバックアップテーブル３１１に退避する。
【００８９】
本実施形態に示すように、データの使用頻度の指標として非検索回数の代わりに最終利用時間に基づいてデータを退避することによっても、第１の実施形態と同様の効果を奏することができる。
【００９０】
（その他の実施形態）
図１４は、上述の各実施形態に係るサーバ１００の概略構成図である。図１４には、サーバ１００が、データの使用頻度に応じて異なる記憶装置内のデータベース間でデータの退避を行う装置として機能するための構成例が示されている。サーバ１００（データベース処理装置）は、第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部１２０と、前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部１４０と、前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避するデータ移動部１６０と、を備える。
【００９１】
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【００９２】
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム（より具体的には、図９、１０に示す処理をコンピュータに実行させるデータベース処理プログラム）を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
【００９３】
該記録媒体としては例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【００９４】
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００９５】
（付記１）
第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避するデータ移動部と、
を備えるデータベース処理装置。
【００９６】
（付記２）
前記検索実行部は、既に前記第１のデータベースから前記第２のデータベースに退避された前記データが前記検索条件において射影によって前記第１のデータベースの中で指定された場合に、前記第２のデータベースの前記データを前記第１のデータベースに結合して前記検索の結果とすることを特徴とする、付記１に記載のデータベース処理装置。
【００９７】
（付記３）
前記使用頻度計数部は、前記検索条件において射影によって前記第２のデータベースの中で指定された前記データの前記使用頻度を計数し、
前記データ移動部は、前記使用頻度が所定の条件を満たす前記データを、前記第２のデータベースから前記第１のデータベースへ書き戻すことを特徴とする、付記２に記載のデータベース処理装置。
【００９８】
（付記４）
前記第１のデータベースおよび前記第２のデータベースは、それぞれ前記データを格納する複数のフィールドからなるテーブルを含み、
前記使用頻度計数部は、１つの前記フィールドごとに前記使用頻度を計数することを特徴とする、付記１〜３のいずれか一項に記載のデータベース処理装置。
【００９９】
（付記５）
前記使用頻度は前記データが射影によって指定されない回数であり、
前記使用頻度計数部は、前記検索条件において射影によって指定されない前記データの前記回数に所定の値を加算することによって、前記使用頻度を計数することを特徴とする、付記１〜４のいずれか一項に記載のデータベース処理装置。
【０１００】
（付記６）
前記データ移動部は、前記回数が所定の値以上又は所定の値より大きい前記データを、前記第１のデータベースから前記第２のデータベースへ退避することを特徴とする、付記５に記載のデータベース処理装置。
【０１０１】
（付記７）
前記使用頻度は前記データが射影によって最後に指定された時間であり、
前記使用頻度計数部は、前記検索条件において射影によって最後に指定された前記データの前記時間を、前記検索が行われる時間に更新することによって、前記使用頻度を計数することを特徴とする、付記１〜４のいずれか一項に記載のデータベース処理装置。
【０１０２】
（付記８）
前記時間が所定の値以前又は所定の値より前である前記データを、前記第１のデータベースから前記第２のデータベースへ退避することを特徴とする、付記７に記載のデータベース処理装置。
【０１０３】
（付記９）
データベース処理装置と、
前記データベース処理装置に接続されている第１の記憶装置と、
前記データベース処理装置に接続されており、前記第１の記憶装置とは異なる第２の記憶装置と、
を備え、
前記データベース処理装置は、
前記第１の記憶装置に記録されている第１のデータベースおよび前記第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う検索実行部と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する使用頻度計数部と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避するデータ移動部と、
を備えることを特徴とする、データベース処理システム。
【０１０４】
（付記１０）
第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う工程と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する工程と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避する工程と、
を備えるデータベース処理方法。
【０１０５】
（付記１１）
コンピュータに、
第１の記憶装置に記録されている第１のデータベースおよび前記第１の記憶装置とは異なる第２の記憶装置に記録されている第２のデータベースに対して、検索条件に従って検索を行う工程と、
前記検索条件において射影によって前記第１のデータベースの中で指定されないデータの使用頻度を計数する工程と、
前記使用頻度が所定の条件を満たす前記データを、前記第１のデータベースから前記第２のデータベースへ退避する工程と、
を実行させるデータベース処理プログラム。
【符号の説明】
【０１０６】
１  データベース処理システム
１００  サーバ
１２０  検索実行部
１４０  使用頻度計数部
１６０  データ移動部
２００  基本記憶装置
２１０  基本データベース
３００  バックアップ記憶装置
３１０  バックアップデータベース
【図１】
2018147357.tif 000003
【図２】
2018147357.tif 000004
【図３】
2018147357.tif 000005
【図４】
2018147357.tif 000006
【図５】
2018147357.tif 000007
【図６】
2018147357.tif 000008
【図７】
2018147357.tif 000009
【図８】
2018147357.tif 000010
【図９】
2018147357.tif 000011
【図１０】
2018147357.tif 000012
【図１１】
2018147357.tif 000013
【図１２】
2018147357.tif 000014
【図１３】
2018147357.tif 000015
【図１４】
2018147357.tif 000016