(57)【特許請求の範囲】
【請求項１】
入力データを記憶するメイン部と、圧縮した入力データを記憶するサブ部とを有する主記憶装置と、
外部記憶装置と、
前記主記憶装置の前記メイン部及びサブ部の空き容量、及び前記メイン部及びサブ部にそれぞれ格納されたデータに関してアクセスした日時が最古のデータを示す管理情報を記憶する記憶手段と、
前記主記憶装置と外部記憶装置への入力データの格納及び前記主記憶装置と外部記憶装置間のデータの移動を制御する制御手段とを有し、
前記入力データには、そのデータを最後にアクセスした日時情報、そのデータの容量、圧縮容量、及びそのデータに対してアクセス日時が次に古いデータを示す次データ情報を含む付加情報が付加されており、
前記制御手段は、データ入力時に前記主記憶装置のメイン部とサブ部の管理情報と当該入力データに付加された付加情報に基づいてアクセス日時の新しいデータは前記メイン部に、アクセス日時の古くなったデータは圧縮して前記サブ部に、更に前記サブ部のデータよりアクセス日時の古くなったデータは前記外部記憶装置に移動させるように制御を行うことを特徴とする情報処理システム。
【請求項２】
前記制御手段は、前記データ入力時に前記入力データを前記メイン部に格納できない場合には、前記メイン部とサブ部の管理情報と当該入力データに付加された付加情報に基づいて前記メイン部のデータのうちアクセス日時が最も古いデータを圧縮して前記サブ部に移動させて前記入力データを前記メイン部に格納する制御を行い、且つ、前記メイン部のデータを前記サブ部に移動させても前記入力データを前記メイン部に格納できない場合には、前記サブ部のデータのうちアクセス日時が最も古いデータ前記外部記憶装置に移動させることで前記入力データを前記メイン部に格納する制御を行うことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記メイン部とサブ部の管理情報には、前記メイン部及びサブ部のデータに関してそれぞれアクセスした日時からの所定経過時間を示す閾値が含まれており、前記制御手段は、前記メイン部及びサブ部のデータに付加された付加情報を参照して前記閾値を経過するデータを検索し、前記メイン部に閾値を経過するデータがある場合には該当するデータを圧縮して前記サブ部に移動させる制御を行い、前記サブ部に閾値を経過するデータがある場合には該当するデータを前記外部記憶装置に移動させる制御を行うことを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
入力データを記憶するメイン部と、圧縮した入力データを記憶するサブ部とを有する主記憶装置と、
外部記憶装置と、
前記主記憶装置の前記メイン部及びサブ部の空き容量、及び前記メイン部及びサブ部にそれぞれ格納されたデータに関してアクセスした日時が最古のデータを示す管理情報を記憶する記憶手段と、
前記主記憶装置と外部記憶装置への入力データの格納及び前記主記憶装置と外部記憶装置間のデータの移動を制御する制御手段と、
を有するシステムのデータ管理方法であって、
前記入力データには、そのデータを最後にアクセスした日時情報、そのデータの容量、圧縮容量、及びそのデータに対してアクセス日時が次に古いデータを示す次データ情報を含む付加情報が付加されており、
前記制御手段が、データ入力時に前記主記憶装置のメイン部とサブ部の管理情報と当該入力データに付加された付加情報に基づいてアクセス日時の新しいデータは前記メイン部に、アクセス日時の古くなったデータは圧縮して前記サブ部に、更に前記サブ部のデータよりアクセス日時の古くなったデータは前記外部記憶装置に移動させるように制御を行うことを特徴とするデータ管理方法。
【請求項５】
前記制御手段は、前記データ入力時に前記入力データを前記メイン部に格納できない場合には、前記メイン部とサブ部の管理情報と当該入力データに付加された付加情報に基づいて前記メイン部のデータのうちアクセス日時が最も古いデータを圧縮して前記サブ部に移動させて前記入力データを前記メイン部に格納する制御を行い、且つ、前記メイン部のデータを前記サブ部に移動させても前記入力データを前記メイン部に格納できない場合には、前記サブ部のデータのうちアクセス日時が最も古いデータ前記外部記憶装置に移動させることで前記入力データを前記メイン部に格納する制御を行うことを特徴とする請求項４に記載のデータ管理方法。
【請求項６】
前記メイン部とサブ部の管理情報には、前記メイン部及びサブ部のデータに関してそれぞれアクセスした日時からの所定経過時間を示す閾値が含まれており、前記制御手段は、前記メイン部及びサブ部のデータに付加された付加情報を参照して前記閾値を経過するデータを検索し、前記メイン部に閾値を経過するデータがある場合には該当するデータを圧縮して前記サブ部に移動させる制御を行い、前記サブ部に閾値を経過するデータがある場合には該当するデータを前記外部記憶装置に移動させる制御を行うことを特徴とする請求項４又は５に記載のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及びそのデータ管理方法に関し、特に、データベースのデータ管理方法に関するものである。
【背景技術】
【０００２】
従来、高速読み出し又は高速書き込みが可能な主記憶装置上にデータベースのデータを複数のグループに分割して配置するシステムでは、全てのデータを主記憶装置上に配置しようとしても、主記憶装置に配置可能な容量は限られているため、配置できないデータを外部記憶装置上のファイルや関係データベースに保存する方法がある。その際、低速読み出し又は書き込みとなる外部記憶装置のデータをアクセスする場合には、検索処理の高速性が損なわれてしまう。
【０００３】
そこで、例えば、特許文献１には、最後にデータアクセスしてからの経過時間をアクセス頻度を示す指標とし、その経過時間がある閾値を経過したらアクセス頻度が低いと判断して、使用頻度が高い分割したデータを主記憶装置に配置（記憶）し、使用頻度が低いデータは外部記憶装置に配置することにより、データアクセスの高速性を維持することが記載されている。
【０００４】
その他にデータベース関連技術としては、特許文献２乃至５等に記載のものがある。特許文献２にはキャッシュ記憶装置のキャッシュ制御方法に関する発明が記載されている。特許文献３には主記憶装置のアドレス領域を主記憶領域と拡張記憶領域に分け、拡張記憶領域はページ格納用に使用して主記憶領域上にページ不在の場合には拡張記憶領域から高速転送すること等が記載されている。
【０００５】
また、特許文献４には、メモリの過負荷を検出した時にアクセス時刻の最も古いメモリを二次媒体に出力すること等が記載されている。特許文献５には、圧縮データを複数のメモリに記憶させておき、情報量の損失なしに冗長情報を削除してメモリ容量を増大すること等が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２１７６８８号公報
【特許文献２】特開２０００−２８５００５号公報
【特許文献３】特開昭６２−０３７７５４号公報
【特許文献４】特開平０２−０７２４４８号公報
【特許文献５】特開平０７−１０５０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術では、アクセス頻度の高いデータが多く、主記憶装置の容量を超えて主記憶装置上に配置できなくなる場合には、アクセス頻度が高いデータでも無条件に外部記憶装置に配置してしまうため、メモリデータベースの特徴である検索処理の高速性が損なわれてしまう。
【０００８】
本発明の目的は、主記憶装置の容量を超えて主記憶装置上に配置できなくなることが多い場合でも、検索処理の高速性を維持することが可能な情報処理システム及びそのデータ管理方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、主記憶装置のメイン部及びサブ部の空き容量、及びメイン部及びサブ部にそれぞれ格納されたデータに関してアクセスした日時が最古のデータを示す管理情報を記憶手段に記憶させておき、入力データにはそのデータを最後にアクセスした日時情報、そのデータの容量、圧縮容量、及びそのデータに対してアクセス日時が次に古いデータを示す次データ情報を含む付加情報を付加しておく。そして、制御手段はデータ入力時に主記憶装置のメイン部とサブ部の管理情報と当該入力データに付加された付加情報に基づいてアクセス日時の新しいデータはメイン部に、アクセス日時の古くなったデータは圧縮してサブ部に、更にサブ部のデータよりアクセス日時の古くなったデータは外部記憶装置に移動させるように制御を行う。
【発明の効果】
【００１０】
本発明によれば、入力データを主記憶装置のメイン部に格納する際にメイン部の容量を超える場合には、アクセス日時が一番古いデータを圧縮して主記憶装置のサブ部に移動させることにより、主記憶装置のメイン部の空き容量を確保することができ、アクセス頻度が高いデータが多い場合でも、データアクセスの高速性を維持することが可能となる。また、サブ部に移動させたデータを再度アクセスすることになっても、データは高速読み出し又は書き込み可能な主記憶装置上にあるため、同様にデータアクセスの高速性を維持することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る情報処理システムの一実施形態の構成を示すブロック図である。
【図２】本発明に係るデータベースの一例を示す図である。
【図３】本発明に係る列データの付加情報の一例を示す図である。
【図４】本発明に係る主記憶装置のメイン部とサブ部の列データ全体を管理するための情報の一例を示す図である。
【図５】本発明に係る情報処理システムの動作を説明するフローチャートである。
【図６】本発明に係る情報処理システムの動作中の列データの付加情報及び主記憶装置のメイン部の列データ全体を管理する情報、サブ部の列データ全体を管理する情報の例を示す図である。
【図７】本発明に係る情報処理システムの動作中の列データの付加情報及び主記憶装置のメイン部の列データ全体を管理する情報、サブ部の列データ全体を管理する情報の例を示す図である。
【発明を実施するための形態】
【００１２】
次に、発明を実施するための形態について図面を参照して詳細に説明する。本発明は、特に、高速読み出し又は書き込み可能な主記憶装置上にデータベースのデータを複数のグループに分割して配置し、主記憶装置の容量を超えて主記憶装置上に配置できなくなることが多いデータベースシステムにおいて、メイン部とサブ部を有する主記憶装置を用い、アクセス頻度の高いデータはメイン部に、アクセス頻度が低くなったデータは圧縮してサブ部に、更にアクセス頻度が低くなったデータは外部記憶装置に移動させる。そうすることで、アクセス頻度の高いデータはできるだけ主記憶装置に配置し、データベースの検索処理の高速性を確保する。アクセス頻度の高い低いはアクセス日時の新しい古いをいう。
【００１３】
図１は本発明に係る情報処理システムの一実施形態の構成を示すブロック図である。図中１１０は情報処理を行うコンピュータ、１２０はコンピュータ１１０に接続された外部記憶装置である。コンピュータ１１０内には、制御装置１１１、主記憶装置１１２等が設けられている。
【００１４】
主記憶装置１１２は、アクセス頻度の高いデータを配置（記憶）するメイン部１１３と、アクセス頻度が低くなったデータを圧縮して配置（記憶）するサブ部１１４とで構成されている。主記憶装置１１２は、例えば、半導体メモリであり、高速読み出し又は高速書き込みが可能な記憶装置である。外部記憶装置１２０には、例えば、磁気ディスク装置等が用いられる。本実施形態では、外部記憶装置１２０をコンピュータ１１０とは別に設けた例を説明するが、外部記憶装置１２０をコンピュータ１１０に設けられたハードディスク装置等としても良い。
【００１５】
制御装置１１１は、プログラムに従って所定の処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（不図示）、プログラムを格納するためのメモリ（不図示）等を有し、主記憶装置１１２のメイン部１１３、サブ部１１４、外部記憶装置１２０のデータの配置や移動等を制御する。
【００１６】
また、制御装置１１１は、プログラムから分割したデータを主記憶装置１１２に新たに配置する際に、主記憶装置１１２のメイン部１１３に空き容量がある場合には、該当する分割データを主記憶装置１１２のメイン部１１３に配置する。空き容量がない場合には主記憶装置１１２のメイン部１１３に配置された分割データのうちアクセス日時が一番古い分割データを圧縮し、主記憶装置１１２のサブ部１１４に移動させて主記憶装置１１２のメイン部１１３に空き容量を確保し、該当する分割データを主記憶装置１１２のメイン部１１３に配置する。
【００１７】
更に、制御装置１１１は、主記憶装置１１２のメイン部１１３に配置された分割データをサブ部１１４に移動させる際に主記憶装置１１２のサブ部１１４に空き容量がある場合には、該当する分割データを主記憶装置１１２のサブ部１１４に配置する。空き容量がない場合には、主記憶装置１１２のサブ部１１４に配置された分割データのうちアクセス日時が一番古い分割データを外部記憶装置１２０に移動させて主記憶装置１１２のサブ部１１４に空き容量を確保し、該当する分割データを主記憶装置１１２のサブ部１１４に移動させる等の制御を行う。
【００１８】
また、制御装置１１１は、プログラムから列データをアクセスした日時からの経過時間が一定の閾値を超えたメイン部１１３の列データをサブ部１１４へ移動させる場合には、メイン部１１３に配置された列の全体を管理するための情報の最古列データアドレスと列データの付加情報の次データ情報を用いてアクセス日時が閾値を超えた列データを検索する。該当する列データが存在する場合には、該当する列データを主記憶装置１１２のサブ部１１４に移動させるため上述の処理を行う。
【００１９】
更に、制御装置１１１は、プログラムから列データをアクセスした日時からの経過時間が一定の閾値を超えたサブ部１１４の列データを外部記憶装置１２０に移動させる場合には、サブ部１１４に配置された列の全体を管理するための情報の最古列データアドレスと列データの付加情報の次データ情報を用いてアクセス日時が閾値を超えた列データを検索する。該当する列データが存在する場合には、該当する列データを外部記憶装置１２０に移動するため上述の処理を行う。
【００２０】
ここで、本情報処理システムのデータベースは表形式に登録されている。図２はデータベースの一例を示す。図２に示すように商品とその商品の製造会社と商品の価格情報が表形式で記述されている。また、１列目には「商品名」が記述され、２列目には「製造会社」が記述され、３列目には「商品価格」が記述されている。１行目に示す商品名ＡはＸ社で製造され、価格がＮ円であることを示す。
【００２１】
データベースの表は列毎に分割され、分割したデータは列となる。列を管理するための付加情報、即ち、列データを最後にアクセスした日時、列データ（＋付加情報）がアクセスされた日時の古い順にリンクを張るための次データ情報、列データの容量、列データを圧縮した場合の圧縮容量、列データが圧縮されているか否かを示すフラグが列データに付加されている。
【００２２】
次データ情報とは、ポインタ（列データが配置されているデータアドレス）であり、該当する列データに対してアクセス日時が次に古い列データを示す次データ情報（アクセス日時が次に古い列データのデータアドレス）である。列データの移動の際には付加情報も列データの移動に伴って移動する。
【００２３】
列データを最後にアクセスした日時は、列データを主記憶装置１１２のメイン部１１３に移動させる際に、メイン部１１３に格納できる容量を超える場合、列データを圧縮して主記憶装置１１２のサブ部１１４に移動させるか否か、及びある一定の経過時間（閾値）を超えた列データがある場合、列データを圧縮して主記憶装置１１２のサブ部１１４に移動させるか否かを判断する情報となる。日時情報はコンピュータ１１０の日時制御装置（不図示）から取得する。
【００２４】
列データがアクセスされた日時の古い順にリンクを張るための次データ情報は、列データのアクセス日時を参照する際に使用する。列データが新たに入力された場合には、該当する列データは最新にアクセスされた列データとなるので、次データ情報には何も設定されない。次にアクセスされた列データが存在する場合には、次データ情報に該当する列データのデータアドレスを設定する。
【００２５】
列データが圧縮されているか否かを示すフラグは、圧縮されていない場合は「０」、圧縮されている場合は「１」を設定する。列データが新たに入力された場合には、列データが圧縮されているか否かを示すフラグは圧縮されていないを示す「０」となる。列データの圧縮方法は一般的に用いられる可逆圧縮（ロスレス圧縮、ＬＺＨやＺＩＰ等）により圧縮する。このデータを圧縮する圧縮部（不図示）はコンピュータ１１０内に配置されているものとする。
【００２６】
図３は列データの付加情報の一例を示す図である。図３では該当する列データは２００９年１２月２５日９時２４分２２秒に最後にアクセスされ（アクセス日時）、容量は４ＧＢ、圧縮容量は２ＧＢ、圧縮フラグは「０」である。圧縮フラグは「０」であるため列データは圧縮されていないことを示す。また、図３の例では次データ情報には何も設定されていない。
【００２７】
主記憶装置１１２のメイン部１１３に配置されているデータベースの列の全体を管理するための情報である、主記憶装置１１２のメイン部１１３の空き容量、閾値、最古列データのデータアドレスは予め主記憶装置１１２のメイン部１１３に配置されている。同様に主記憶装置１１２のサブ部１１４に配置されているデータベースの列の全体を管理するための情報である主記憶装置１１２のサブ部１１４の空き容量、閾値、最古列データへのデータアドレスは予めサブ部１１４に配置されている。
【００２８】
主記憶装置１１２のメイン部１１３の閾値は、列データを圧縮して主記憶装置１１２のサブ部１１４へ移動させるか否かを判断する判断基準、主記憶装置１１２のサブ部１１４の閾値は、圧縮された列データを外部記憶装置１２０へ移動させるか否かを判断する判断基準となる。
【００２９】
図４は主記憶装置１１２のメイン部１１３に配置されているデータベースの列の全体を管理するための情報４０１、主記憶装置１１２のサブ部１１４に配置されているデータベースの列の全体を管理するための情報４０２の一例を示す。図４の４０１に示すように主記憶装置１１２のメイン部１１３の空き容量は５ＧＢ、移動判断に用いる閾値は３０分、最古列データへのアドレスは５０００６である。同様に、図４の４０２に示すように主記憶装置１１２のサブ部１１４の空き容量は２ＧＢ、移動判断に用いる閾値は６０分、最古列データへのアドレスは１７０２２である。
【００３０】
次に、本実施形態の全体の動作を図１〜図７を参照して詳細に説明する。図５は本実施形態の動作を説明するためのフローチャートである。本実施形態では、分割したデータはデータベースの列とする。また、本実施形態では、データ管理方法に特徴があることからその特徴に関連する内容を詳細に説明し、データベースへのアクセス方法等は周知であるため詳しい説明は省略する。
【００３１】
まず、図５に示すように制御装置１１１は、例えば、図３に示す付加情報が付加された列データが新たに入力された場合には、列データのデータ容量４ＧＢと、図４の４０１で示す主記憶装置１１２のメイン部１１３に配置された列の全体を管理するための情報の空き容量５ＧＢを参照し、主記憶装置１１２のメイン部１１３に列データを配置できるか否かを判断する（図５のＳ５０１）。主記憶装置１１２のメイン部１１３とサブ部１１４は図４に示す状態とする。
【００３２】
制御装置１１１は、列データのデータ容量４ＧＢ、メイン部１１３の空き容量５ＧＢから列データをメイン部１１３に配置できると判断し（Ｓ５０１がイエス）、該当する列データをメイン部１１３へ配置し（Ｓ５０６）、列全体を管理するための管理情報のメイン部１１３の空き容量を１ＧＢに変更して処理を終了する。
【００３３】
また、制御装置１１１は、図６の６０１で示す付加情報が付加された列データが新たに入力された場合には（但し、メイン部１１３とサブ部１１４の管理情報は図４に示す状態とする）、図６の６０１で示す列データのデータ容量７ＧＢと図４の４０１で示すメイン部１１３の空き容量５ＧＢからメイン部１１３に列データを配置できないと判断する（Ｓ５０１がノー）。その場合には、メイン部１１３に配置された列の全体を管理するための情報の最古列データアドレスを参照してアクセス日時が一番古い列データを検索する。例えば、図６の６０２で示す列データが一番古い列データだった場合には、該当する列データを圧縮する（Ｓ５０２）。
【００３４】
次いで、制御装置１１１は図６の６０２で示す列データの圧縮容量１ＧＢと図４の４０２で示すサブ部１１４の空き容量２ＧＢから圧縮した列データをサブ部１１４に配置できると判断し（Ｓ５０３がイエス）、該当する圧縮した列データをサブ部１１４へ移動させる（Ｓ５０４）。また、メイン部１１３の空き容量を１０ＧＢ（図６の６０３）、サブ部１１４の空き容量を１ＧＢ（図６の６０４）に変更し、メイン部１１３の最古列データアドレスを、サブ部１１４へ移動させた列データの付加情報の次データ情報から次にアクセス日時が古い列データのデータアドレスに変更する。
【００３５】
つまり、メイン部１１３の最古列データをサブ部１１４に移動させたのでメイン部１１３の最古列データを変更する必要があり、最古列データの次データ情報からリンクされている次の列データをメイン部１１３の最古列データに変更する。例えば、図６の６０３に示すようにデータアドレスを「５００１０」とする。
【００３６】
制御装置１１１は、図６の６０２に該当する列データをサブ部１１４に移動させた後、図６の６０１で示す列データのデータ容量７ＧＢと図６の６０３で示す現在のメイン部１１３の空き容量１０ＧＢから列データをメイン部１１３に配置できると判断する（Ｓ５０１がイエス）。その後、該当する列データをメイン部１１３へ配置し、メイン部１１３の空き容量を３ＧＢに変更して（図６の６０５）、処理を終了する（Ｓ５０６）。
【００３７】
次に、Ｓ５０１で入力された６０１で示す列データをメイン部１１３に配置できなかった場合の動作を説明する（つまりＳ５０１がノーでＳ５０３がノーの場合）。メイン部１１３とサブ部１１４の管理情報は図４に示すように４０１、４０２の情報とする。制御装置１１１は、まず、メイン部１１３に配置された列の全体を管理するための情報の最古列データアドレスを参照してアクセス日時が一番古い列データを検索する。例えば、図７の７０１で示す列データが一番古い列データだった場合には、該当する列データを圧縮部で圧縮する（Ｓ５０２）。
【００３８】
制御部１１１は、図７の７０１で示す列データの圧縮容量４ＧＢと図４の４０２で示すサブ部１１４の空き容量２ＧＢから圧縮した列データをサブ部１１４に配置できないと判断し（Ｓ５０３がノー）、サブ部１１４の列の全体を管理するための情報の最古列データアドレスを用いてアクセス日時が一番古い列データを検索する。
【００３９】
例えば、図７の７０２で示す列データが一番古い列データだった場合には、該当する列データを外部記憶装置１２０へ移動させて（Ｓ５０５）、サブ部１１４の空き容量を５ＧＢ（図７の７０４）に変更する。また、サブ部１１４の最古列データアドレスを外部記憶装置１２０へ移動させた列データの付加情報の次データ情報を用いて次にアクセス日時が古い列データのデータアドレスに変更する（図７の７０４ではデータアドレス「１９００１」である）。
【００４０】
次に、制御装置１１１は、図７の７０１で示す列データの付加情報の圧縮容量４ＧＢと図７の７０４で示すサブ部１１４の現在の空き容量５ＧＢから列データを配置できると判断し（Ｓ５０３がイエス）、該当する圧縮した列データをサブ部１１４へ移動させる（Ｓ５０４）。また、メイン部１１３の空き容量を１０ＧＢ（図７の７０５）、サブ部１１４の空き容量を１ＧＢ（図７の７０６）に変更し、メイン部１１３の最古列データアドレスをサブ部１１４へ移動させた列データの付加情報の次データ情報を用いて次にアクセス日時が古い列データのデータアドレスに変更する。図７の７０５ではデータアドレスは「７００１７」である。
【００４１】
続いて、制御装置１１１は、図６の６０１で示す列データの容量７ＧＢと図７の７０５で示すメイン部１１３の現在の空き容量１０ＧＢから列データをメイン部１１３に配置できると判断する（Ｓ５０１がイエス）。次に、該当する列データをメイン部１１３へ配置し（Ｓ５０６）、メイン部１１３の空き容量を３ＧＢに変更して（図７の７０７）、処理を終了する。
【００４２】
制御装置１１１は、新たに入力された列データがメイン部１１３に配置可能になるまで上述の処理を繰り返し行う。つまり、制御装置１１１はデータ入力時にメイン部１１３とサブ部１１４の管理情報と入力データに付加された付加情報に基づいてアクセス日時の新しいデータはメイン部１１３に、アクセス日時の古くなったデータは圧縮してサブ部１１４に、更にサブ部１１４のデータよりアクセス日時の古くなったデータは外部記憶装置１２０に移動させるように制御を行う。
【００４３】
また、サブ部１１４の列データや外部記憶装置１２０の列データに対してデータアクセスを行う場合には、該当する列データを新たに入力する列データとして図５に示す処理を行う。その際、図５のＳ５０６でメイン部１１３へ配置する場合には圧縮された列データを解凍してから配置する。
【００４４】
更に、図４の４０１や４０２等に示すようにメイン部１１３やサブ部１１４の列の全体を管理するための情報には閾値が設定され、制御装置１１１はメイン部１１３内のアクセス日時から閾値（経過時間）を越えたデータはサブ部１１４に移動させる制御を行う。また、サブ部１１４内のアクセス日時から閾値（経過時間）を越えたデータは外部記憶装置１２０に移動させる制御を行う。
【００４５】
その際、プログラムによって列データをアクセスした日時からの経過時間が一定の閾値を超えたメイン部１１３の列データをサブ部１１４へ、サブ部１１４の列データを外部記憶装置１２０へ移動させる場合には、制御装置１１１はメイン部１１３に配置された列の全体を管理するための情報の最古列データアドレス、列データの付加情報の次データ情報、コンピュータ１１０内の日時制御装置の日時情報を用いてアクセス日時が閾値を超えた列データを検索する。閾値を超えた列データが存在する場合には、該当する列データを新たに入力する列データとして図５の処理を行う。
【００４６】
例えば、２００９年１０月１日１７時００分００秒にプログラムによって列データをアクセスした日時からの経過時間が一定の閾値（図４の４０１の３０分、図４の４０２の６０分）を超えたメイン部１１３の列データをサブ部１１４へ、サブ部１１４の列データを外部記憶装置１２０へ移動させる処理が実施されたとする。その際、閾値が図４の４０１の３０分の場合には、列データの付加情報のアクセスした日時に３０分を追加して２００９年１０月１日１７時００分００秒を超えない列データはサブ部１１４へ移動させる対象列データとなる。
【００４７】
例えば、図６の６０２で示す列データはアクセスした日時が２００９年１０月１日１６時２２分５秒なので３０分を追加すると、２００９年１０月１日１６時５２分５秒となり、２００９年１０月１日１７時００分００秒を超えない列データであり、サブ部１１４へ移動させる対象列データとなる。サブ部１１４の列データを外部記憶装置１２０へ移動させる場合も同様である。
【００４８】
本実施形態では、入力データを主記憶装置のメイン部に格納する際にメイン部の容量を超える場合には、アクセス日時が一番古いデータを圧縮して主記憶装置のサブ部に移動させることにより、主記憶装置のメイン部の空き容量を確保することができる。従って、メイン部にデータを多く格納できるため、データの高速読み出し又は書き込みが可能となり、しかも、サブ部に移動させたデータを再度アクセスすることになっても、高速読み出し又は書き込み可能な主記憶装置上にあるため、データアクセスの高速性を維持することが可能となる。
【００４９】
また、主記憶装置のメイン部に配置されたデータのうちアクセス日時からの経過時間が一定の閾値を超えたデータは、圧縮して主記憶装置のサブ部に移動させるため、アクセス頻度の高いデータを格納する主記憶装置のメイン部の空き容量を増やすことが可能となる。そのため、同様にデータの高速読み出し又は書き込みが可能となり、サブ部に移動させたデータを再度アクセスすることになっても、データアクセスの高速性を維持することが可能となる。
【００５０】
従って、アクセス頻度が高いデータが多く、主記憶装置の容量を超えて主記憶装置上に配置できなくなることが多い場合でも、メモリデータベースの特徴である検索処理の高速性を維持することができる。
【産業上の利用可能性】
【００５１】
本発明は、高速読み出し又は書き込みが可能な主記憶装置上にデータベースのデータを複数のグループに分割して配置し、且つ、主記憶装置上にアクセス頻度が高く、主記憶装置の容量を超えて配置できないことが起こり得る情報処理システムに好適に使用することができる。
【符号の説明】
【００５２】
１１０  コンピュータ
１１１  制御装置
１１２  主記憶装置
１１３  メイン部
１１４  サブ部
１２０  外部記憶装置
【図１】
0005626561.tif 000002
【図２】
0005626561.tif 000003
【図３】
0005626561.tif 000004
【図４】
0005626561.tif 000005
【図５】
0005626561.tif 000006
【図６】
0005626561.tif 000007
【図７】
0005626561.tif 000008