(57)【要約】【課題】第１のデータベースを配置する主記憶を有する第１データベース管理装置へのレコード追加を継続的に受け付けることのできるデータベース管理方法、データベース管理システム及びデータベース管理プログラムを提供する。【解決手段】データベース管理方法において、第１データベース管理装置は、第１のデータベースに追加するデータの第２のデータベースにおける書き出し先を示す格納位置情報を保持するリストを有し、第１データベース管理装置が、第１のデータベースに任意のデータが追加された時に、当該データにリストから格納位置情報を付加する第１のステップと、格納位置情報を付加したデータを第２のデータベース管理装置に送信し、当該データの追加を要求する第２のステップとを、第２データベース管理装置が、該データの追加の要求に応じて、データに付加された格納位置情報が示す第２のデータベースの格納位置にデータを追加する第３のステップと、を有する。【選択図】図５
2011108027.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータベースを配置する主記憶を有する第１データベース管理装置と、第２のデータベースを配置する二次記憶を有する第２データベース管理装置とがネットワークを介して接続され、前記第１及び第２データベース管理装置が格納するデータを互いに反映させるシステムのデータベース管理方法であって、
前記第１データベース管理装置は、前記第１のデータベースに追加するデータの前記第２のデータベースにおける書き出し先を示す格納位置情報を保持する第１のリストを備え、
前記第１データベース管理装置が、前記第１のデータベースに任意のデータが追加された時に、当該データに前記第１のリストから前記格納位置情報を付加する第１のステップと、
前記第１データベース管理装置が、前記格納位置情報を付加した前記データを前記第２データベース管理装置に送信し、該第２データベース管理装置に当該データの追加を要求する第２のステップと、
前記第２データベース管理装置が、前記第２データベース管理装置からの前記データの追加の要求に応じて、前記データに付加された前記格納位置情報が示す前記第２のデータベースの格納位置に前記データを追加する第３のステップと、を有する
ことを特徴とするデータベース管理方法。
【請求項２】
前記第１データベース管理装置は、前記第１のデータベースが格納するデータと前記第２のデータベースが格納するデータとを対応付ける前記第２のデータベースのデータの格納位置を示す格納位置情報からなるインデクスを備え、
前記第１データベース管理装置が、前記第１のデータベースに格納されるデータを更新又は削除した時に、前記インデクスを参照して、当該データに前記第２のデータベースでの前記格納位置情報を付加して、前記第２データベース管理装置に送信し、当該データの更新又は削除を要求する第４のステップと、
前記第２データベース管理装置が、前記第１データベース管理装置からの前記データの更新又は削除の要求に応じて、当該格納位置情報が示す第２データベースの格納位置に存在するデータを更新又は削除する第５のステップと、を更に有する
ことを特徴とする請求項１に記載のデータベース管理方法。
【請求項３】
前記格納位置情報には、前記第１のデータベースのデータと前記第２のデータベースのデータとを対応付け且つ前記第１及び第２のデータベースが格納するデータにユニークキーを使用する
ことを特徴とする請求項１に記載のデータベース管理方法。
【請求項４】
前記第２データベース管理装置は、
前記第１のデータベースに追加するデータの前記第２のデータベースにおける書き出し先を示す格納位置情報をユーザの操作に応じて保持する第２のリストを備え、
前記第１のデータベースの作成時に、前記第２のリストが保持する前記格納位置情報を前記第１データベース管理装置に送信し、
前記第１データベース管理装置は、
受信した前記格納位置情報に基づいて前記リストを作成する
ことを特徴とする請求項１に記載のデータベース管理方法。
【請求項５】
前記第１データベース管理装置は、
前記リストに保持された前記格納位置情報のうちのデータが書き込まれている前記格納位置情報の割合を算出し、
前記割合が所定の閾値以上の場合に、前記第２データベース管理装置に対して前記第１のリストが保持する前記格納位置情報の補充を要求し、
前記第２データベース管理装置は、
前記補充を要求された場合に、前記第１のデータベースに追加するデータの前記第２データベースにおける新たな書き出し先を確保し、
確保した前記新たな書き出し先の格納位置情報を前記第１データベース管理装置に送信し、
前記第１データベース管理装置は、
受信した前記新たな書き出し先の格納位置情報を前記第１のリストに補充する
ことを特徴とする請求項１に記載のデータベース管理方法。
【請求項６】
前記第２データベース管理装置は、
前記補充を要求された場合に、前記第１のリストに保持されている前記格納位置情報の数が所定数倍になるように、前記第１のデータベースに追加するデータの前記第２のデータベースにおける新たな書き出し先を確保し、
確保した前記新たな書き出し先の格納位置情報を前記第１データベース管理装置に送信する
ことを特徴とする請求項５に記載のデータベース管理方法。
【請求項７】
前記第２データベース管理装置は、
前記第１のリストに保持された前記格納位置情報を保持する第２のリストを備え、
前記第２のデータベースに対してデータの追加を要求された場合に、前記第２のリストに保持された前記格納位置情報が示す格納位置以外の格納位置に当該データを追加し、
前記データに、前記データを追加した格納位置の格納位置情報を付加して前記第１のデータベース管理装置に送信し、
前記第１データベース管理装置は、
前記データと前記データに付加された前記格納位置情報とを受信した場合に、前記インデクスに当該格納位置情報を追加して、前記データを前記インメモリデータベースに追加する
ことを特徴とする請求項２に記載のデータベース管理方法。
【請求項８】
前記第２データベース管理装置は、
前記第２のデータベースに対してデータを更新又は削除した場合に、当該データに当該データの格納位置情報を付加して、前記第１データベース管理装置に送信し、当該データの更新又は削除を要求し、
前記第１データベース管理装置は、
前記データと前記データに付加された前記格納位置情報とを受信した場合に、前記インデクスを参照して、受信した当該格納位置情報に対応する前記第１のデータベースにおけるデータを更新又は削除する
ことを特徴とする請求項７に記載のデータベース管理方法。
【請求項９】
第１のデータベースを配置する主記憶を有する第１データベース管理装置と、第２のデータベースを配置する二次記憶を有する第２データベース管理装置とがネットワークを介して接続され、前記第１及び第２データベース管理装置が格納するデータを互いに反映させるシステムのデータベース管理方法であって、
前記第１データベース管理装置は、
前記第１のデータベースに追加するデータの前記第２のデータベースにおける書き出し先を示す格納位置情報を保持する第１のリストを備え、
前記第１のデータベースに任意のデータが追加された時に、当該データに前記第１のリストから前記格納位置情報を付加し、当該格納位置情報を付加した当該データを前記第２データベース管理装置に送信し、前記第２データベース管理装置に当該データの追加を要求し、
前記第２データベース管理装置は、
前記第１データベース管理装置からの前記データの追加の要求に応じて、前記データに付加された前記格納位置情報が示す前記第２のデータベースの格納位置に前記データを追加する
ことを特徴とするデータベース管理システム。
【請求項１０】
第２のデータベースを配置する二次記憶を有する第２データベース管理装置に接続され、第１のデータベースを配置する主記憶を有するとともに該第１のデータベースに追加するデータの前記第２のデータベースにおける書き出し先を示す格納位置情報を保持する第１のリストを有する第１データベース管理装置に、
前記第１のデータベースに任意のデータが追加された時に、当該データに前記第１のリストから前記格納位置情報を付加する第１のステップと、
前記格納位置情報を付加した前記データを前記第２データベース管理装置に送信し、該第２データベース管理装置に当該データの追加を要求する第２のステップと、
を実行させることを特徴とするデータベース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース管理方法、データベース管理システム及びデータベース管理プログラムに関し、特にインメモリデータベースとディスク型データベースとの間におけるデータ連動に適用して好適なものである。
【背景技術】
【０００２】
従来、インメモリデータベース（以下、「インメモリＤＢ」という。）は、アクセス要求に対する高速なスポンスを提供するために、データを例えば揮発性メモリ上に常駐させ、時間のかかる外部記憶装置への入出力を行わない或いは制限するようになっている。
【０００３】
ところで、データベース管理システムにおいて、インメモリＤＢは、データがシステム停止時にメモリ上から消失するため、外部記憶装置にデータを保持するディスク型データベース（以下、「ディスク型ＤＢ」という。）にデータをバックアップするようにしている。
【０００４】
データをディスク型ＤＢにバックアップするためには、インメモリＤＢとディスク型ＤＢとのデータを一致させるデータ連動の技術が必要となる。
【０００５】
データ連動の技術において、非特許文献４には、、連動させる２つのデータベースのテーブルに定義されたユニークインデクスを利用することで、データベースのデータ内の各レコードに対応するレコードを、もう一方のデータベースのデータから一意に識別する技術が開示されている。
【０００６】
上述したデータ連動の技術で利用されるユニークインデクスは、ユーザのデータベース設計では存在しない場合がある。この場合、ユニークインデクスをデータベースに追加するユーザの手間の増加、ユニークインデクスを格納することによる外部記憶装置の使用量の増加、ユニークインデクスの更新に伴う処理オーバヘッドの増加という問題がある。
【０００７】
この問題に対して、特許文献１には、異なるデータベース間の物理格納位置情報のマッピング表を作成することで、ユニークインデクスの定義を不要とする技術が開示されている。
【０００８】
そして、データ連動元にレコードを追加した際、データ連動元へアクセスするだけでなく、データ連動先にもアクセスし、データ連動先が決定した物理格納位置情報を取得して、当該レコードのデータ連動が完了するようになっている。
【０００９】
これは、非特許文献２及び３に記述されているように（非特許文献３は非特許文献２の日本語訳）、データベース内に空き領域の情報を保持しているため、レコードの追加先である物理格納位置情報を決定するために、当該空き領域の情報を参照するからである。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１-２７３１７５号公報
【非特許文献】
【００１１】
【非特許文献１】松浦  龍夫著「日経システム構築２００６年３月号  特集  使える！インメモリーＤＢ」、日経ＢＰ社、２００６年２月２６日、Ｐ．５０−Ｐ．５２
【非特許文献２】Jim Gray and Andreas Reuter、Transaction Processing：Concepts and Techniques、Morgan Kaufmann Publishers、１９９３年、Ｐ．７５７−Ｐ．７６０
【非特許文献３】ジム・グレイ(著)、アンドレアス・ロイター(著)、喜連川  優（翻訳）「トランザクション処理〈下〉―概念と技法」、日経ＢＰ社、２００１年１０月、Ｐ．８９７−Ｐ．９００
【非特許文献４】Marie Buretta著「Data Replication: Tools and Techniques for Managing Distributed Information」WILEY COMPUTER PUBLISHING、１９９７年、Ｐ．１４４
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１の技術では、データ連動先の外部記憶装置の障害等を原因とするデータ連動失敗時の再実行に備え、データ連動先で実行するＳＱＬなどのデータ連動時に利用する情報を、データ連動が完了するまで削除することができない。
【００１３】
ここで、インメモリＤＢは、前述のように大量のデータを高速に処理するシステムで使用するため、レコードの追加が継続的に要求されることが多い。そのため、データ連動が遅延すると、データ連動時に利用する情報が削除できずに蓄積し、外部記憶装置の容量を圧迫する結果、新たな情報の出力ができなくなり、インメモリＤＢへレコードの追加ができなくなる。
【００１４】
本発明は以上の点を考慮してなされたもので、インメモリＤＢへレコードを追加した際のデータ連動時に高速にデータ連動を行い、インメモリＤＢへのレコードの追加を継続的に受け付けることのできるデータベース管理方法、データベース管理システム及びデータベース管理プログラムを提案するものである。
【課題を解決するための手段】
【００１５】
かかる課題を解決するため、本発明の一側面は、第１のデータベースを配置する主記憶を有する第１データベース管理装置と、第２のデータベースを配置する二次記憶を有する第２データベース管理装置とがネットワークを介して接続され、前記第１及び第２データベース管理装置が格納するデータを互いに反映させるシステムのデータベース管理方法であって、前記第１データベース管理装置は、前記第１のデータベースに追加するデータの前記第２のデータベースにおける書き出し先を示す格納位置情報を保持する第１のリストを備え、前記第１データベース管理装置が、前記第１のデータベースに任意のデータが追加された時に、当該データに前記第１のリストから前記格納位置情報を付加する第１のステップと、前記第１データベース管理装置が、前記格納位置情報を付加した前記データを前記第２データベース管理装置に送信し、該第２データベース管理装置に当該データの追加を要求する第２のステップと、前記第２データベース管理装置が、前記第２データベース管理装置からの前記データの追加の要求に応じて、前記データに付加された前記格納位置情報が示す前記第２のデータベースの格納位置に前記データを追加する第３のステップと、を有することを特徴とするデータベース管理方法。
【００１６】
さらに、本発明の一側面は、第１のデータベースを配置する主記憶を有する第１データベース管理装置と、第２のデータベースを配置する二次記憶を有する第２データベース管理装置とがネットワークを介して接続され、前記第１及び第２データベース管理装置が格納するデータを互いに反映させるシステムのデータベース管理方法であって、前記第１データベース管理装置は、前記第１のデータベースに追加するデータの前記第２のデータベースにおける書き出し先を示す格納位置情報を保持する第１のリストを備え、前記第１のデータベースに任意のデータが追加された時に、当該データに前記第１のリストから前記格納位置情報を付加し、当該格納位置情報を付加した当該データを前記第２データベース管理装置に送信し、前記第２データベース管理装置に当該データの追加を要求し、前記第２データベース管理装置は、前記第１データベース管理装置からの前記データの追加の要求に応じて、前記データに付加された前記格納位置情報が示す前記第２のデータベースの格納位置に前記データを追加することを特徴とする。
【００１７】
さらに、本発明の一側面は、データベース管理プログラムにおいて、第２のデータベースを配置する二次記憶を有する第２データベース管理装置に接続され、第１のデータベースを配置する主記憶を有するとともに該第１のデータベースに追加するデータの前記第２のデータベースにおける書き出し先を示す格納位置情報を保持する第１のリストを有する第１データベース管理装置に、前記第１のデータベースに任意のデータが追加された時に、当該データに前記第１のリストから前記格納位置情報を付加する第１のステップと、前記格納位置情報を付加した前記データを前記第２データベース管理装置に送信し、該第２データベース管理装置に当該データの追加を要求する第２のステップと、を実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、第１のデータベースへのレコード追加を継続的に受け付けることのできるデータベース管理方法、データベース管理システム及びデータベース管理プログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施の形態によるデータベース管理システムの構成を示すブロック図である。
【図２】予約済みリストを説明するための図である。
【図３】予約指示リストを説明するための図である。
【図４】位置情報予約パラメタファイルを説明するための図である。
【図５】本実施の形態によるデータベース管理システムの動作を説明するための概念図である。
【図６】本実施の形態によるデータベース管理システムの動作を説明するための概念図である。
【図７】インメモリデータベース更新処理を説明するためのフローチャートである。
【図８】ディスク型データベース反映処理を説明するためのフローチャートである。
【図９】ディスク型データベース更新処理を説明するためのフローチャートである。
【図１０】インメモリ型データベース反映処理を説明するためのフローチャートである。
【図１１】予約済みリスト作成処理を説明するためのフローチャートである。
【図１２】予約指示リスト作成処理を説明するためのフローチャートである。
【図１３】予約済みリスト補充処理を説明するためのフローチャートである。
【図１４】予約済み物理格納位置情報の表示結果の例を示す図である。
【図１５】他の実施の形態による予約済みリストを説明するための図である。
【図１６】他の実施の形態によるデータベース管理システムの動作を説明するための概念図である。
【符号の説明】
【００２０】
１……データベース管理システム、２……インメモリＤＢ管理装置、３……ディスク型ＤＢ管理装置、４……端末装置、５……ネットワーク、６……外部記憶装置、６１……予約指示リスト、６３……ディスク型データベース、２３５……予約済みリスト、２３６……インメモリデータベース。
【発明を実施するための形態】
【００２１】
以下、図面を用いて、本発明の一実施の形態を詳述する。
【００２２】
（１）本実施の形態によるデータベース管理システムのハードウェア構成
図１において、１は全体として本実施の形態によるデータベース管理システムを示す。データベース管理システム１は、インメモリＤＢ管理装置２（「第１データベース管理装置」に相当する。）とディスク型ＤＢ管理装置３（「第２のデータベース管理装置」に相当する。）と端末装置４とがネットワーク５を介して接続されている。また、ディスク型ＤＢ管理装置３が外部記憶装置６に接続されている。
【００２３】
インメモリＤＢ管理装置２は、端末装置４からインメモリデータベース２３６へアクセス要求があった場合の管理やインメモリデータベース２３６のデータに変更があった場合のディスク型ＤＢ６３（第２のデータベースに相当する。）への反映等を行う。また、インメモリＤＢ管理装置２は、ＣＰＵ２１とインタフェース２２とメモリ２３とを備える。
【００２４】
ＣＰＵ２１は、インメモリＤＢ管理装置２全体の動作制御を司るプロセッサであり、メモリ２３に格納された各種制御プログラムに基づいて必要な処理を実行する。インタフェース２２は、ネットワーク５に接続され、ディスク型ＤＢ管理装置３又は端末装置４とインメモリＤＢ管理装置２との間の通信時にプロトコル制御を行う。
【００２５】
メモリ２３は、半導体メモリ、ハードディスク等から構成され、ＯＳ（Operating System）などの制御プログラムを保持するために用いられるほか、ＣＰＵ２１のワークメモリとしても用いられる。また、メモリ２３は、ＤＢアクセス要求部２３１とＤＢアクセス処理部２３２と位置情報管理部２３３と予約済みリスト２３５（「第１のリスト」に相当する。）とインメモリＤＢ２３６（「第１のデータベース」に相当する。）とを格納する。
【００２６】
ＤＢアクセス要求解析部２３１は、端末装置４又はディスク型ＤＢ管理装置３からの要求を解析し、解析した要求に応じて、インメモリＤＢ２３６へのアクセスをＤＢアクセス処理部２３２に要求する。
【００２７】
ＤＢアクセス処理部２３２は、ＤＢアクセス要求解析部２３１の要求に応じて、インメモリＤＢ２３６にアクセスする。
【００２８】
位置情報管理部２３３は、インメモリＤＢ２３６へのアクセス要求がレコードの追加である場合、予約済みリスト２３５から、インメモリＤＢ２３６に追加するレコードのディスク型ＤＢ６３における書き出し先を示す物理格納位置情報を取得する。
【００２９】
なお、本実施の形態では、データの格納位置情報として、物理的格納位置（例えば、ＨＤＤの物理的なアドレス等を適用する例について説明するが、論理的格納位置情報（例えば、ＨＤＤ等から構成される論理ボリュームの論理アドレス等）をデータの格納位置情報としてもよい。
【００３０】
データ連動要求部２３４は、インメモリＤＢ２３６に更新、追加及び削除等があった場合、その更新、追加及び削除をディスク型ＤＢ６３（「第２のデータベースに相当する。」に反映させるようにディスク型ＤＢ管理装置３に要求する。
【００３１】
予約済みリスト２３５は、インメモリＤＢ２３６に追加するレコードのディスク型ＤＢ６３における反映先を示す物理格納位置情報を格納する。詳細に説明すると、予約済みリスト２３５は、図２に示すように、テーブル形式で、インメモリＤＢ２３６に追加するレコードのディスク型ＤＢ６３における反映先を示す予約済み物理格納位置情報欄２３５１と、その状態（使用中又は未使用）を示す状態欄２３５２と、予約済み物理格納位置情報数欄２３５３と、使用中物理格納位置情報数欄２３５４とから構成される。また、予約済みリスト２３５は、後述する予約指示リスト６１に基づいて作成される。
【００３２】
インメモリＤＢ２３６は、半導体メモリ内に形成されるデータベースであり、図５及び６に示すように、テーブル２３６１とインデクス２３６２とを備える。
【００３３】
テーブル２３６１は、データと、そのデータに対応するディスク型ＤＢ６３におけるデータの物理格納位置の情報とから構成される。インデクス２３６２は、テーブル２３６１のデータを検索するために用いられ、ここでは、ディスク型ＤＢ６３におけるデータの物理格納位置の情報が用いられている。
【００３４】
ディスク型ＤＢ管理装置３は、外部記憶装置６が格納するディスク型ＤＢ６３に対する問い合わせやリソース管理などのディスク型ＤＢ６３全体の管理を行う。また、ディスク型ＤＢ管理装置３は、ＣＰＵ３１とインタフェース３２とメモリ３３と外部記憶装置入出力インタフェース３４とを備える。
【００３５】
ＣＰＵ３１は、ディスク型ＤＢ管理装置３全体の動作制御を司るプロセッサであり、メモリ３３に格納された各種制御プログラムに基づいて必要な処理を実行する。インタフェース３２は、ネットワーク５に接続され、インメモリＤＢ管理装置２又は端末装置４とディスク型ＤＢ管理装置３との間の通信時にプロトコル制御を行う。
【００３６】
メモリ３３は、半導体メモリ、ハードディスク等から構成され、ＯＳ（Operating System）などの制御プログラムを保持するために用いられるほか、ＣＰＵ３１のワークメモリとしても用いられる。また、メモリ３３は、ＤＢアクセス要求部３３１とＤＢアクセス処理部３３２と位置情報管理部３３３とデータ連動要求部３３４と予約指示リストバッファ３３５とＤＢバッファ３３６とを格納する。
【００３７】
ＤＢアクセス要求解析部３３１は、端末装置４又はインメモリＤＢ管理装置２からの要求を解析し、ＤＢアクセス処理部３３２に、ディスク型ＤＢ６３へのアクセスを要求する。
【００３８】
ＤＢアクセス処理部３３２は、ＤＢアクセス要求解析部３３１の要求に応じて、ＤＢバッファ３３６を介して、ディスク型ＤＢ６３にアクセスする。
【００３９】
位置情報管理部３３３は、ディスク型ＤＢ６３に対するアクセス要求がレコードの追加である場合、予約指示リストバッファ３３５を介して、予約指示リスト６１を参照し、予約指示リスト６１（「第２のリスト」に相当する。）に登録されていない物理格納位置情報を取得する。
【００４０】
データ連動要求部３３４は、ディスク型ＤＢ６３に更新があった場合、その更新をインメモリＤＢ２３６に反映させるようにインメモリＤＢ管理装置２に要求する。
【００４１】
ディスク型ＤＢ管理装置３は、外部記憶装置６と入出力インタフェース２５０を介して接続されている。
【００４２】
外部記憶装置６は、予約指示リスト６１と位置情報予約パラメタファイル６２とディスク型ＤＢ６３とを格納する。
【００４３】
予約指示リスト６１は、図３に示すように、ユーザが予約した、インメモリＤＢ２３６に追加するレコードのディスク型ＤＢ６３における反映先を示す物理格納位置情報欄６１１と、そのサイズの単位を示す予約単位欄６１２とから構成される。ディスク型ＤＢ管理装置３は、予約指示リストバッファ３３５を介して予約指示リスト６１を参照する。予約単位は、ユーザが物理格納位置を予約する単位であり、ファイル、エクステント、ページ及びレコードの何れかである。ここで、ファイルは、データベースのデータを外部記憶装置６に１つのかたまりとして格納するため単位であり、１つ以上のエクステントから構成される。エクステントは、ファイル中の領域を割り当てる単位であり、１つ以上のページから構成される。ページは、外部記憶装置の入出力の単位であり、１つ以上のレコードから構成される。
【００４４】
位置情報予約パラメタファイル６２は、ユーザが物理格納位置情報を予約するために、事前に作成するファイルである。予約指示リスト６１は、複数の位置情報予約パラメタファイル６２を読み込むことによって作成される。位置情報予約パラメタファイル６２には、テーブル毎に、予約済み物理格納位置情報を登録する。予約の単位は、レコード単位の他、ファイル、エクステント、ページという複数のレコードをまとめた単位での指定をしても良い。例えば、図４に示す例において、「表１」という名前の位置情報予約パラメタファイル６２には、レコード単位で「＃３−１」、「＃３−２」及び「＃３−３」が予約され、ページ単位で「＃５」及び「＃６」が予約され、エクステント単位で「ＥＸＴ３」が予約され、ファイル単位で「ＦＩＬＥ２」が予約されている。
【００４５】
ディスク型ＤＢ６３は、ハードディスク装置内に形成され、図５及び６に示すようにテーブル６３１を備える。テーブル６３１は、物理格納位置６３２が示す各格納位置に各データを保持する。なお、本実施形態では、ディスク型ＤＢ６３をハードディスク装置内に形成する例について説明するが、本発明は、例えば、インメモリＤＢ管理装置２のメモリ２３を主記憶メモリと位置付けた場合に、二次記憶メモリとしての記憶領域として機能するものであれば、種々の記憶デバイスを適用することができる。例えば、光学ディスク、不揮発の半導体デバイス（例えば、ＳＳＤ（Solid state disk））等でもよい。本実施の形態において、「ディスク」とは、これら回転磁気ディスク（ＨＤＤ等）、光学ディスク及び不揮発の半導体デバイスを含むものとする。
【００４６】
（２）データベース管理システムの動作の概要
次に、図５及び６を参照して、データベース管理システム１の動作を簡単に説明する。
【００４７】
インメモリＤＢ２３６は、レコード（図５の例では「ＣＣＣ」）の追加要求を受け付けた場合に、テーブル２３６１にレコード「ＣＣＣ」と、インデクス２３６２と予約済みリスト２３５を参照して取得した予約済みの物理格納位置情報「＃３−１」とを追加する。
【００４８】
その後、インメモリＤＢ２３６は、物理格納位置情報「＃３−１」をレコード「ＣＣＣ」に付加してディスク型ＤＢ６３に送信し、ディスク型ＤＢ６３に対してレコード追加要求を行う。
【００４９】
ディスク型ＤＢ６３は、前記レコード追加要求を受け付け、テーブル１１２の前記物理格納位置情報「＃３−１」が示す位置にレコード「ＣＣＣ」を追加する。
【００５０】
以上のように、データベース管理システム１は、インメモリＤＢ２３６へレコードを追加した際に予約済みリスト２３５を参照し、データ連動先であるディスク型ＤＢ６３の物理格納位置情報６３２を決定する。これにより、ディスク型ＤＢ６３のテーブル６３１を参照しなくとも、データ連動元であるインメモリＤＢ管理装置２３６で連動先を判別することができ、データ連動性能を向上することが可能である。
【００５１】
また、ディスク型ＤＢ６３が、レコード（図６の例では「ＤＤＤ」）追加要求を受け付けた場合、テーブル６３１にレコード「ＤＤＤ」を追加する。この時、予約指示リストバッファ３３５を介して、予約指示リスト６１を参照し、予約指示リスト６１に登録されている物理格納位置（図６の例では「＃３−１」、「＃３−２」及び「＃３−３」）にはレコードを格納しないようにする。
【００５２】
その後、ディスク型ＤＢ６３は、レコード「ＤＤＤ」を格納した位置を示す物理格納位置情報１１３（図６の例では「＃４−１」）をレコード「ＤＤＤ」に付加してインメモリＤＢ２３６に送信し、インメモリＤＢ２３６に対して、レコード「ＤＤＤ」の追加を要求する。
【００５３】
インメモリＤＢ２３６は、レコード「ＤＤＤ」の追加要求を受け付け、テーブル２３６１の空き領域にレコード「ＤＤＤ」及び物理格納位置情報「＃４−１」を追加する。また、インメモリＤＢ２３６は、インデクス２３６２に物理格納位置情報「＃４−１」を追加する。
【００５４】
以上のように、データベース管理システム１は、ディスク型ＤＢ６３へレコードを追加した場合に、当該レコードの追加先であるディスク型ＤＢ６３の物理格納位置情報６３２をインメモリＤＢ２３６のテーブル２３６１に設定する。インメモリＤＢ２３６に追加されたレコードは、予約済みの物理格納位置情報を利用しないため、予約済みリスト２３５を変更する必要が無い。
【００５５】
（３）データベース管理システム１における具体的な処理
（３−１）インメモリデータベース更新処理
ここで、図７を参照して、端末装置４からインメモリＤＢ２３６へ更新要求があった場合のインメモリＤＢ２３６の更新処理を説明する。
【００５６】
まず、インメモリＤＢ管理装置２が端末装置４から更新要求ＳＱＬを受信すると、インメモリＤＢ管理装置２のＤＢアクセス要求解析部２３１は、端末装置４からのインメモリＤＢ２３６に対する更新要求ＳＱＬの解析を行いＳＱＬの種別を決定し（ＳＰ１０１）、ＳＱＬの種別が追加、更新、削除の何れかであるかを判別する（ＳＰ１０２）。
【００５７】
ステップＳＰ１０２において、ＳＱＬの種別が追加の場合、ＤＢアクセス処理部２３２は、レコードの追加先を決定する（ＳＰ１０３）。位置情報管理部２３３は、予約済みリスト２３５を参照して、予約済みリスト１０４の先頭から予約済み物理格納位置情報を１つ取得し（ＳＰ１０４）、ＤＢアクセス処理部２３２は、テーブル２３６１に、取得した予約済み物理格納位置情報とレコードとを追加し（ＳＰ１０５）、ステップＳＰ１１４に進む。
【００５８】
ステップＳＰ１０２において、ＳＱＬの種別が更新の場合、ＤＢアクセス処理部２３２は、更新するレコードを選択し（ＳＰ１０６）、選択するレコードが存在するか否かを判別する（ＳＰ１０７）。ステップＳＰ１０７において、否定結果を得た場合（ＳＰ１０７：ＮＯ）、処理を終了する。ステップＳＰ１０７において、肯定結果を得た場合（ＳＰ１０７：ＹＥＳ）、位置情報管理部２３３は、インデクス２３６２を参照して、物理格納位置情報を取得し（ＳＰ１０８）、ＤＢアクセス処理部２３２は、テーブル２３６１におけるレコードを更新し（ＳＰ１０９）、ステップＳＰ１１４に進む。
【００５９】
ステップＳＰ１０２において、ＳＱＬの種別が削除の場合、ＤＢアクセス処理部２６２は、削除するレコードを選択し（ＳＰ１１０）、選択するレコードが存在するか否かを判別する（ＳＰ１１１）。ステップＳＰ１１１において、否定結果を得た場合（ＳＰ１１１：ＮＯ）、処理を終了する。ステップＳＰ１１１において、肯定結果を得た場合（ＳＰ１１１：ＹＥＳ）、位置情報管理部２６３は、インデクス２３６２を参照して、物理格納位置情報を取得し（ＳＰ１１２）、ＤＢアクセス処理部２６２は、テーブル２３６１におけるレコードを削除し（ＳＰ１１３）、ステップＳＰ１１４に進む。
【００６０】
ステップＳＰ１０５，ＳＰ１０９，ＳＰ１１３において、レコードを追加、更新、又は削除した後に、データ連動要求部２３４は、ディスク型ＤＢ１１１にデータ連動するためのデータ連動ＳＱＬを生成する（ＳＰ１１４）。ただし、データ連動ＳＱＬには、取得した物理格納位置情報が付加されたレコードが含まれる。そして、データ連動要求部２３４は、ディスク型ＤＢ管理装置３にデータ連動ＳＱＬを送信し、その実行を要求する（ＳＰ１１５）。
【００６１】
その後、インメモリＤＢ管理装置２は、ＳＱＬに記載された全てのレコードについて処理を終了したか否かを判別する（ＳＰ１１６）。ステップＳＰ１１６において、肯定結果を得た場合（ＳＰ１１６：ＹＥＳ）、処理を終了する。ステップＳＰ１１６において、否定結果を得た場合（ＳＰ１１６：ＮＯ）、ステップＳＰ１０２から処理を繰り返す。
【００６２】
（３−２）ディスク型データベース反映処理
次に、図８を参照して、インメモリＤＢ２３６に更新があった場合のディスク型ＤＢ６３への反映処理を説明する。
【００６３】
ディスク型ＤＢ管理装置３のＤＢアクセス要求解析部３３１が、インメモリＤＢ管理装置２がステップＳＰ１１５で送信したデータ連動ＳＱＬを受信した場合（ＳＰ２０１）、ＤＢアクセス要求解析部３３１は、ディスク型ＤＢ６３に対するデータ連動ＳＱＬの解析を行いＳＱＬの種別を決定し（ＳＰ２０２）、ＳＱＬの種別が追加、更新又は削除の何れかであるかを判別する（ＳＰ２０３）。
【００６４】
ステップＳＰ２０３において、データ連動ＳＱＬの種別が追加の場合、ＤＢアクセス処理部３３２は、データ連動ＳＱＬに含まれる物理格納位置情報からデータ連動ＳＱＬに含まれるレコードの追加先を判別する（ＳＰ２０４）。そして、ＤＢアクセス処理部３３２は、テーブル６３１におけるステップＳＰ２０４で判別した追加先に、レコードを追加し（ＳＰ２０５）、ステップＳＰ２１２に進む。
【００６５】
ステップＳＰ２０３において、ＳＱＬの種別が更新の場合、ＤＢアクセス処理部３３２は、更新するレコードを選択し（ＳＰ２０６）、選択するレコードが存在するか否かを判別する（ＳＰ２０７）。ステップＳＰ２０７において、否定結果を得た場合（ＳＰ２０７：ＮＯ）、処理を終了する。ステップＳＰ２０７において、肯定結果を得た場合（ＳＰ２０７：ＹＥＳ）、ＤＢアクセス処理部３３２は、テーブル６３１におけるデータ連動ＳＱＬに含まれる物理格納位置情報が示す格納位置に格納されるレコードを更新し（ＳＰ２０８）、ステップＳＰ２１２に進む。
【００６６】
ステップＳＰ２０３において、ＳＱＬの種別が削除の場合、ＤＢアクセス処理部３３２は、削除するレコードを選択し（ＳＰ２０９）、選択するレコードが存在するか否かを判別する（ＳＰ２１０）。ステップＳＰ２１０において、否定結果を得た場合、処理を終了する（ＳＰ２１０：ＮＯ）。ステップＳＰ２１０において、肯定結果を得た場合（ＳＰ２１０：ＹＥＳ）、ＤＢアクセス処理部３３２は、テーブル６３１におけるデータ連動ＳＱＬに含まれる物理格納位置情報が示す格納位置に格納されるレコードを削除し（ＳＰ２１１）、ステップＳＰ２１２に進む。
【００６７】
ステップＳＰ２０５、ＳＰ２０８、ＳＰ２１１において、レコードを追加、更新、又は削除した後に、ディスク型ＤＢ管理装置３は、ＳＱＬに記載された全てのレコードについて処理を終了したか否かを判別する（ＳＰ２１２）。ステップＳＰ２１２において、肯定結果を得た場合（ＳＰ２１２：ＹＥＳ）、処理を終了する。ステップＳＰ２１２において、否定結果を得た場合（ＳＰ２１２：ＮＯ）、ステップＳＰ２０３から処理を繰り返す。
このようにして、ディスク型ＤＢ６３にインメモリＤＢ２３６の更新を連動させる。
【００６８】
（３−３）ディスク型データベース更新処理
次に、図９を参照して、端末装置４からディスク型ＤＢ６３へ更新要求があった場合のディスク型ＤＢ６３の更新処理を説明する。
【００６９】
まず、ディスク型ＤＢ管理装置３が端末装置４からのディスク型ＤＢ６３に対する更新系ＳＱＬを受信すると、ディスク型ＤＢ管理装置３のＤＢアクセス要求解析部３３１は、受信した更新要求ＳＱＬの解析を行い、ＳＱＬの種別を決定し（ＳＰ３０１）、ＳＱＬの種別が追加、更新、削除の何れかであるかを判別する（ＳＰ３０２）。
【００７０】
ステップＳＰ３０２において、ＳＱＬの種別が追加の場合、ＤＢアクセス処理部３３２は、レコードの追加先を決定する（ＳＰ３０３）。次に、位置情報管理部２６３は、予約指示リスト６１を参照して、追加先が予約指示のある物理格納位置情報と一致しているか否かを判別する（ＳＰ３０４）。ステップＳＰ３０４において肯定結果を得た場合には（ＳＰ３０４：ＹＥＳ）、ステップＳＰ３０３に戻る。ステップＳＰ３０４において否定結果を得た場合には（ＳＰ３０４：ＮＯ）、ステップＳＰ３０３で決定した追加先にレコードを追加し（ＳＰ３０５）、ステップＳＰ３１４に進む。
【００７１】
ステップＳＰ３０２において、ＳＱＬの種別が更新の場合、ＤＢアクセス処理部３３２は、更新するレコードの選択を行い（ＳＰ３０６）、選択するレコードがあるか否かを判別する（ＳＰ３０７）。ステップＳＰ３０７において、否定結果を得た場合（ＳＰ３０７：ＮＯ）、処理を終了する。ステップＳＰ３０７において、肯定結果を得た場合（ＳＰ３０７：ＹＥＳ）、位置情報管理部３３３は、物理格納位置情報を取得して（ＳＰ３０８）、ＤＢアクセス処理部３３２は、レコードの更新を行う（ＳＰ３０９）。
【００７２】
ステップＳＰ３０２において、ＳＱＬの種別が削除の場合、ＤＢアクセス処理部３３２は、削除するレコードの選択を行い（ＳＰ３１０）、選択するレコードがあるか否かを判別する（ＳＰ３１１）。ステップＳＰ３１１において、否定結果を得た場合（ＳＰ３１１：ＮＯ）、処理を終了する。ステップＳＰ３１１において、肯定結果を得た場合（ＳＰ３１１：ＹＥＳ）、位置情報管理部３３３は、物理格納位置情報を取得して（ＳＰ３１２）、ＤＢアクセス処理部３３２は、レコードの削除を行う（ＳＰ３１３）。
【００７３】
ステップＳＰ３０５，ＳＰ３０９，ＳＰ３１３において、レコードを追加、更新、又は削除した後に、データ連動要求部３３４が、インメモリＤＢ２３６にデータ連動するためのデータ連動ＳＱＬを生成する（ＳＰ３１４）。ただし、データ連動ＳＱＬには、追加先の物理格納情報又は取得した物理格納情報が付加されたレコードを含む。そして、データ連動要求部３３４は、インメモリＤＢ管理装置２にデータ連動ＳＱＬを送信し、その実行を要求する（ＳＰ３１５）。
【００７４】
その後、ディスク型ＤＢ管理装置３は、ＳＱＬに記載された全てのレコードについて処理を終了したか否かを判別する（ＳＰ３１６）。ステップＳＰ３１６において、肯定結果を得た場合（ＳＰ３１６：ＹＥＳ）、処理を終了する。ステップＳＰ３１６において、否定結果を得た場合（ＳＰ３１６：ＮＯ）、ステップＳＰ３０２から処理を繰り返す。
【００７５】
（３−４）インメモリデータベース反映処理
次に、図１０を参照して、ディスク型ＤＢ６３に更新があった場合のインメモリＤＢ２３６への反映処理を説明する。
【００７６】
インメモリＤＢ管理装置２のＤＢアクセス要求解析部２３１が、ディスク型ＤＢ管理装置３がステップＳＰ３１５で送信したデータ連動ＳＱＬを受信した場合（ＳＰ４０１）、ＤＢアクセス要求解析部２３１は、インメモリＤＢ２３６に対するデータ連動ＳＱＬの解析を行いＳＱＬの種別を決定し（ＳＰ４０２）、ＳＱＬの種別が追加、更新又は削除の何れかであるかを判別する（ＳＰ４０３）。
【００７７】
ステップＳＰ４０３において、データ連動ＳＱＬの種別が追加の場合、ＤＢアクセス処理部２３２は、データ連動ＳＱＬに含まれる物理格納位置情報からデータ連動ＳＱＬに含まれるレコードの追加先を判別する（ＳＰ４０４）。そして、ＤＢアクセス処理部２３２は、テーブル２３６１におけるステップＳＰ４０４で判別した追加先に、レコードを追加し（ＳＰ４０５）、ステップＳＰ４１２に進む。
【００７８】
ステップＳＰ４０３において、ＳＱＬの種別が更新の場合、ＤＢアクセス処理部２３２は、更新するレコードを選択し（ＳＰ４０６）、選択するレコードが存在するか否かを判別する（ＳＰ４０７）。ステップＳＰ４０７において、否定結果を得た場合（ＳＰ４０７：ＮＯ）、処理を終了する。ステップＳＰ４０７において、肯定結果を得た場合（ＳＰ４０７：ＹＥＳ）、ＤＢアクセス処理部２３２は、テーブル２３６１におけるデータ連動ＳＱＬに含まれる物理格納位置情報が示す格納位置に格納されるレコードを更新し（ＳＰ４０８）、ステップＳＰ４１２に進む。
【００７９】
ステップＳＰ４０３において、ＳＱＬの種別が削除の場合、ＤＢアクセス処理部２３２は、削除するレコードを選択し（ＳＰ４０９）、選択するレコードが存在するか否かを判別する（ＳＰ４１０）。ステップＳＰ４１０において、否定結果を得た場合（ＳＰ４１０：ＮＯ）、処理を終了する。ステップＳＰ４１０において、肯定結果を得た場合（ＳＰ４１０：ＹＥＳ）、ＤＢアクセス処理部２３２は、テーブル２３６１におけるデータ連動ＳＱＬに含まれる物理格納位置情報が示す格納位置に格納されるレコードを削除し（ＳＰ４１１）、ステップＳＰ４１２に進む。
【００８０】
ステップＳＰ４０５，ＳＰ４０８，ＳＰ４１１において、レコードを追加、更新、又は削除した後に、インメモリＤＢ管理装置２は、ＳＱＬに記載された全てのレコードについて処理を終了したか否かを判別する（ＳＰ４１２）。ステップＳＰ４１２において、肯定結果を得た場合（ＳＰ４１２：ＹＥＳ）、処理を終了する。ステップＳＰ４１２において、否定結果を得た場合（ＳＰ４１２：ＮＯ）、ステップＳＰ４０３から処理を繰り返す。このようにして、インメモリＤＢ２３６にディスク型ＤＢ６３の更新を連動させる。
【００８１】
（３−５）予約済みリスト作成処理
ここで、図１１を参照して、インメモリＤＢ管理装置２及びディスク型ＤＢ管理装置３が協働することによって予約済みリスト２３５を作成する処理を説明する。インメモリＤＢ管理装置２は、インメモリＤＢ２３６を作成した後に、予約済みリスト１０４を作成する。
【００８２】
先ず、インメモリＤＢ管理装置２は、インメモリＤＢ２３６を作成した場合、ディスク型管理装置３にインメモリＤＢ２３６を作成した旨を通知する。
【００８３】
ディスク型管理装置３がその通知を受信すると、ＤＢアクセス処理部３３２は、ＤＢバッファ３３６を介して、ディスク型ＤＢ６３のデータをエクスポートする（ＳＰ５０１）。次に、位置情報管理部３３３が、予約指示リストバッファ３３５を介して、予約指示リスト６１の予約済み物理格納位置情報をエクスポートし（ＳＰ５０２）、データ連動要求部３３４が、インメモリＤＢ管理装置２に、エクスポートしたデータの読み込み要求を行う（ＳＰ５０３）。
【００８４】
次に、ディスク型ＤＢ装置３は、ディスク型ＤＢ６３の全データ及び予約指示リスト６１の全予約済み物理格納位置情報を読み込んだか否かを判別する（ＳＰ５０４）。ステップＳＰ５０４において、肯定結果を得ると、処理を終了する。ステップＳＰ５０４において、否定結果を得ると、ステップＳＰ５０１に戻る。
【００８５】
このようにして、ディスク型ＤＢ装置３は、ディスク型ＤＢ６３の全データ及び予約指示リスト６１の全予約済み物理格納位置情報についてエクスポートし、エクスポートしたデータの読み込み要求をインメモリＤＢ２３６に対して行う。
【００８６】
一方、インメモリＤＢ管理装置２のＤＢアクセス解析部２３１が、ディスク型ＤＢ管理装置３がステップＳＰ５０３において行った要求を受け付けた場合に（ＳＰ６０１）、ＤＢアクセス処理部２６２は、インメモリＤＢ２３６のテーブル２３６１に対して、ディスク型ＤＢ６３のデータのインポートを行う（ＳＰ６０２）。その後、位置情報管理部２６３が、インデクス２３６２を作成し（ＳＰ６０３）、読み込んだ予約済み物理格納位置情報に基づいて予約済みリスト２３５を作成し（ＳＰ６０４）、処理を終了する。
【００８７】
（３−６）予約指示リスト作成処理
ここで、図１２を参照して、ディスク型ＤＢ管理装置３が予約指示リスト６１を作成する処理を説明する。
【００８８】
まず、ディスク型ＤＢ管理装置３の位置情報管理部３３３が、ユーザが作成した位置情報予約パラメタファイル６２を読み込み（ＳＰ７０１）、パラメタファイルの内容を予約指示リスト６１に登録する（ＳＰ７０２）。ディスク型ＤＢ管理装置３は、全ての位置情報予約パラメタファイル６２を読み込んだか否かを判別する（ＳＰ７０３）。ステップＳＰ７０３において、肯定結果（ＳＰ７０３：ＹＥＳ）を得た場合には、処理を終了する。ステップＳＰ７０３において、否定結果を得た場合には（ＳＰ７０３：ＮＯ）、ステップＳＰ７０１に戻る。
【００８９】
このようにして、ユーザは、複数の位置情報予約パラメタファイル６２を作成することができ、複数の位置情報予約パラメタファイル６２から予約指示リスト６１を作成することができる。
【００９０】
（３−７）予約済みリスト補充処理
ここで、図１３を参照して、予約済みリスト２３５の物理格納位置が少なくなった場合に、物理格納位置を補充する予約済みリスト補充処理を説明する。本処理は、ステップＳＰ１０４において、位置情報管理部２３３が、予約済みリスト２３５から予約済み物理格納位置情報を取得した時に開始される。
【００９１】
先ず、インメモリＤＢ管理装置２の位置情報管理部２３３は、予約済みリスト２３５から予約済み物理格納位置情報を取得した場合に、予約済みリスト２３５の未使用状態の位置情報のうち、先頭の情報の状態を使用中に変更する（ＳＰ８０１）。
【００９２】
次に、位置情報管理部２３３が、予約済みリスト１０４の使用中物理格納位置情報数２３５４から「１」を減算する（ＳＰ８０２）。位置情報管理部２３３は、予約済み物理格納位置情報数における使用中物理格納位置情報数の割合である使用率が８割以上であるか否かを判別する（ＳＰ８０３）。
【００９３】
ステップＳＰ８０３において、否定結果が得られた場合（即ち使用率が８割以上の場合（ＳＰ８０３：ＹＥＳ））、補充の必要がないと判断し、その時点で処理を終了する。
【００９４】
ステップＳＰ８０３において、肯定結果が得られた場合（即ち使用率が８割未満の場合（ＳＰ８０３：ＮＯ））、位置情報管理部２３３が、ディスク型ＤＢ管理装置３に予約済み物理格納位置情報の補充を要求し（ＳＰ８０４）、ディスク型ＤＢ管理装置３からの予約済みリスト連動要求を受け付け（ＳＰ８０５）、予約済みリスト２３５を連動させて補充し（ＳＰ８０６）、処理を終了する。
【００９５】
一方、ディスク型ＤＢ管理装置３の位置情報管理部３３３は、予約済み物理格納位置情報の補充要求を受け付けると（ＳＰ９０１）、補充サイズを計算する（ＳＰ９０２）。補充サイズの計算は、例えば次の計算式で行う。
補充する予約済み物理格納位置情報数
＝補充前の予約済み物理格納位置情報数×０．２
【００９６】
その後、位置情報管理部３３３は、計算した補充サイズ分だけ、ディスク型ＤＢ６３における物理格納位置を確保し、予約指示リスト６１の予約済み物理格納位置情報を補充し（ＳＰ９０３）、インメモリＤＢ管理装置２に予約済みリスト２３５への連動要求を行い（ＳＰ９０４）、処理を終了する。このようにして、使用中の予約済み物理格納位置情報が多くなった場合には、物理格納位置情報を確保して補充することによって、常に未使用の予約済み物理格納位置情報を確保することができる。
【００９７】
図１４は、予約済み物理格納位置情報の表示結果の例を示す図である。予約済み物理格納位置情報は、インメモリＤＢ２３６のテーブル毎に分類できる。例えば、ユーザはコマンドなどのインタフェースを用いて、テーブル単位に、テーブル名と予約済み物理格納位置情報の使用率、使用中の位置情報を表示させる。予約済み物理格納位置情報は、ディスク型ＤＢ管理装置３の位置情報管理部３３３が、予約指示リスト６１から求める。位置情報は、ファイル、エクステント、ページ、レコードから構成される。予約済み物理格納位置情報の使用率は、インメモリＤＢ管理装置２の位置情報管理部２３３が、予約済みリスト２３５から以下の計算式で求める。
予約済み物理格納位置情報の使用率
＝使用中物理格納位置情報数÷予約済み物理格納位置情報数
【００９８】
（５）他の実施の形態
なお、上述の実施の形態では、予約済みリスト２３５をテーブル形式で保持したが、インデクス形式で保持してもよい。
この場合、図１５に示すように、インデクスを構成するインデクスエントリ２３５５において、予約済み物理格納位置情報をインデクスキー２３５６として保持し、インデクスキー２３５６と合わせて物理格納位置情報２３５７を保持することで実現できる。ここで、インデクスキー２３５６は、ディスク型ＤＢ６３におけるレコードの格納位置を示し、これに対応するインメモリＤＢ２３６のレコードの格納位置を物理格納位置情報２３５７が示す。物理格納位置情報２３５７が「０」の場合、予約済み物理格納位置情報が示すインメモリＤＢ２３６の格納位置が未使用であることを示す。
【００９９】
また、上述の実施の形態では、ディスク型ＤＢ６３における物理格納位置情報６３２をインデクスとして用いたが、インメモリＤＢ２３６が格納するデータとディスク型ＤＢ６３が格納するデータとの間に一意性が保証できるユニークインデクスが存在する場合には、そのユニークインデクスを用いてもよい。
【０１００】
図１６は、ユニークキーが存在するインメモリＤＢの更新処理を示す概念図である。インメモリＤＢ２３６は、レコード（図１６の例では「ＣＣＣ」）追加要求を受け付け、テーブル２３６３にレコード「ＣＣＣ」と、予約済みリスト２３５から取得したユニークキー（図１６の例では「０００４」）を追加する。
【０１０１】
その後、ユニークキー「０００４」をレコード「ＣＣＣ」に付加し、ディスク型ＤＢ６３に対して、レコード追加要求を行う。その後、ディスク型ＤＢ６３は、ユニークキー「０００４」が付加されている物理格納位置にレコード「ＣＣＣ」を格納する。
【０１０２】
以上のように、テーブルが既にユニークキーを保持している場合、物理格納位置情報として、ユニークキーを使用し、データを連動することが可能である。
【図１】
2011108027.tif 000003
【図２】
2011108027.tif 000004
【図３】
2011108027.tif 000005
【図４】
2011108027.tif 000006
【図５】
2011108027.tif 000007
【図６】
2011108027.tif 000008
【図７】
2011108027.tif 000009
【図８】
2011108027.tif 000010
【図９】
2011108027.tif 000011
【図１０】
2011108027.tif 000012
【図１１】
2011108027.tif 000013
【図１２】
2011108027.tif 000014
【図１３】
2011108027.tif 000015
【図１４】
2011108027.tif 000016
【図１５】
2011108027.tif 000017
【図１６】
2011108027.tif 000018