コンピュータに、他のコンピュータに格納されたレコードについて更新がなされてから所定時間内に、更新後のレコードを格納することにより、更新前後のレコードが格納部に格納された状態とし、第1の時刻から前記所定時間経過した第2の時刻からさらに前記所定時間経過するまでに前記レコードについての参照要求を受け付け、且つ前記第1の時刻に前記他のコンピュータに前記更新を行なうトランザクションが存在していた場合に、前記格納部に格納された更新前のレコードを前記参照要求の要求元に送信する、処理を実行させることを特徴とするデータ管理プログラム。前記コンピュータに、前記参照要求を受け付け、且つ前記第1の時刻に前記更新を行なうトランザクションがない場合に、前記格納部に格納された更新後のレコードを前記参照要求の要求元に送信する、処理を実行させることを特徴とする請求項1記載のデータ管理プログラム。他ノードに格納されているデータの少なくとも一部であるキャッシュデータと、分散データベースシステムにおいて、実行されているトランザクションの一覧を示す第1のトランザクション一覧と、前記第1のトランザクション一覧の要求をトランザクション管理装置が受信した時刻を示す第1の時刻と、を格納するキャッシュと、前記キャッシュデータに含まれる複数世代を有するレコードの参照要求を受信したときに、第2のトランザクション一覧と前記第2のトランザクション一覧の要求を前記トランザクション管理装置が受信した時刻を示す第2の時刻を受信して前記キャッシュに格納し、前記第1の時刻と前記第2の時刻とを比較し、比較結果に基づいて、前記第1のトランザクション一覧または前記第2のトランザクション一覧のいずれかを第3のトランザクション一覧として選択し、前記第3のトランザクション一覧を用いて、前記複数世代を有するレコードのうち参照する世代のレコードを特定する処理部と、を備えることを特徴とするノード。前記ノードは、前記第1のトランザクション一覧および前記第1の時刻を定期的に前記トランザクション管理装置から受信することを特徴とする請求項3記載のノード。前記ノードは、前記キャッシュデータに対応する前記他ノードで格納されているデータが更新されているか否か判定し、更新されている場合、前記キャッシュデータを削除することを特徴とする請求項3記載のノード。前記ノードは、第4のトランザクション一覧および前記第4のトランザクション一覧の要求をトランザクション管理装置が受信した時刻を示す第4の時刻を、前記キャッシュデータに対応する前記他ノードで格納されているデータが更新されているか否か判定する処理の前に受信し、前記判定処理の終了後に前記第4のトランザクション一覧および第4の時刻を前記第1のトランザクション一覧および前記第1の時刻として前記キャッシュに格納することを特徴とする請求項5記載のノード。分散データベースシステムにおいて、実行されているトランザクションの一覧を示すトランザクション一覧を管理するトランザクション一覧管理部と、ノードからの要求に応じて、該要求を受信した時刻を前記ノードに送信する時刻採番部と、を備えるトランザクション管理装置と、複数のノードと、を備える分散データベースシステムにおいて、前記複数のノードの各ノードは、他ノードに格納されているデータの少なくとも一部であるキャッシュデータと、分散データベースシステムにおいて、実行されているトランザクションの一覧を示す第1のトランザクション一覧と、前記第1のトランザクション一覧の要求を前記トランザクション管理装置が受信した時刻を示す第1の時刻と、を格納するキャッシュと、前記キャッシュデータに含まれる複数世代を有するレコードの参照要求を受信したときに、第2のトランザクション一覧と前記第2のトランザクション一覧の要求を前記トランザクション管理装置が受信した時刻を示す第2の時刻を受信して前記キャッシュに格納し、前記第1の時刻と前記第2の時刻とを比較し、比較結果に基づいて、前記第1のトランザクション一覧または前記第2のトランザクション一覧のいずれかを第3のトランザクション一覧として選択し、前記第3のトランザクション一覧を用いて、前記複数世代を有するレコードのうち参照する世代のレコードを特定する処理部と、を備えることを特徴とする分散データベースシステム。図3Aは、従来の複数ノードの更新マルチサイト更新を行った場合のデータの更新を示す図である。図3Bは、従来の方式においてマルチサイト更新を行った場合のトランザクションBが参照するデータを示す図である。ノード1007は、キャッシュ1008を有し、キャッシュ1008は、レコードR1およびR2を格納している。ノード1017は、キャッシュ1018を有し、キャッシュ1018は、レコードR1およびR2を格納している。トランザクションAの開始時におけるレコードR1、R2の値は、それぞれR1a、R2aである。図3Aでは、2つのトランザクションAおよびBを実行する。トランザクションAはデータの更新を行い、トランザクションBはデータの参照を行う。トランザクションAの処理内容は、トランザクション開始レコードR1をR1bに更新UPDATER1→R1bレコードR2をR2bに更新UPDATER2→R2bコミットである。尚、上記処理~の処理は、それぞれ10時、10時10分、10時20分、10時30分に実行される。また、トランザクションAにおいて、レコードR1の更新はノード1007で行われ、レコードR2の更新はノード1017で行われる。トランザクションAが開始されると、ノード1007は、レコードR1をR1aからR1bに更新する。ノード1007は、更新したレコードR1の値R1bをノード1017に送信するログシッピング。ノード1017は、レコードR2をR2aからR2bに更新する。ノード1017は、更新したレコードR2の値R2bをノード1007に送信するログシッピング。そして、ノード1007、1017はトランザクションAをコミットする。その後、ノード1007は、コミット指示をノード1017に送信し、コミット指示を受信したノード1017は、レコードR1をコミットする。それにより、ノード1017のレコードR1はR1bに更新される。また、ノード1017は、コミット指示をノード1007に送信し、コミット指示を受信したノード1007は、レコードR2をコミットする。それにより、ノード1007のレコードR2はR2bに更新される。トランザクションBの処理内容は、トランザクション開始レコードR1を参照SELECTR1レコードR2を参照SELECTR2コミットである。尚、トランザクションBは、ノード1017で実行される。トランザクションBにおいて、レコードR1、R2を参照する場合、参照時刻によって参照されるデータは、図3Bに示すようになる。トランザクションAの開始前、例えば9時50分に、レコードR1、R2を参照すると、レコードR1、R2の値は、それぞれR1a、R2aとなる。トランザクションAの実行中、例えば10時15分に、レコードR1、R2を参照すると、レコードR1、R2の値は、コミット前なので、それぞれR1a、R2aとなる。尚、ノードには、MultiVersionConcurrencyControlMVCC:多版型同時実行制御が実装されているものとする。トランザクションAのコミット後、例えば10時40分に、レコードR1、R2を参照すると、レコードR1、R2の値は、ノード1017でレコードR1のコミットが行われていなければ、それぞれR1a、R2bとなる。また、レコードR1、R2の値は、ノード1017でレコードR1のコミットが行われていれば、それぞれR1b、R2bとなる。すなわち、ノード1017でレコードR1のコミットが行われていなければ、レコードR1、R2の値は、それぞれR1a、R2bとなってしまい、整合性のあるデータが参照できないことになる。このように、キャッシュデータ更新を非同期に行う方式でマルチサイト更新を行うと、整合性のあるデータを参照することが出来ない場合があった。1つの側面では、本発明は、マルチサイト更新でキャッシュデータの更新を非同期に行う方式において、整合性のあるデータの参照を可能とすることを目的とする。実施の形態に係るノードは、キャッシュと処理部とを備える。キャッシュは、他ノードに格納されているデータの少なくとも一部であるキャッシュデータと、分散データベースシステムにおいて、実行されているトランザクションの一覧を示す第1のトランザクション一覧と、前記第1のトランザクション一覧の要求をトランザクション管理装置が受信した時刻を示す第1の時刻と、を格納する。処理部は、前記キャッシュデータに含まれる複数世代を有するレコードの参照要求を受信したときに、第2のトランザクション一覧と前記第2のトランザクション一覧の要求を前記トランザクション管理装置が受信した時刻を示す第2の時刻を受信して前記キャッシュに格納する。そして、処理部は、前記第1の時刻と前記第2の時刻とを比較し、比較結果に基づいて、前記第1のトランザクション一覧または前記第2のトランザクション一覧のいずれかを第3のトランザクション一覧として選択し、前記第3のトランザクション一覧を用いて、前記複数世代を有するレコードのうち参照する世代のレコードを特定する。実施の形態のノードによれば、マルチサイト更新でキャッシュデータの更新を非同期に行う方式において、整合性のあるデータの参照を可能とすることができる。以下、図面を参照しながら実施の形態を説明する。図4は、実施の形態に係る分散データベースシステムの構成図である。分散データベースシステム101は、ロードバランサ201、複数のノード301-ii=1~3、およびトランザクション管理装置401を備える。尚、ノード301-1~301-3は、それぞれノード1~3と表記する場合もある。ロードバランサ201は、クライアント端末501と接続し、クライアント端末501からの要求を均等になるようにノード301のいずれかに振り分ける。尚、ロードバランサ201は、例えば、シリアルバスでノード301と接続している。ノード301-iは、キャッシュ302-iと記憶部303-iを備える。キャッシュ302-iは、キャッシュデータ304-iを有する。キャッシュデータ304-iは、ノード301-iが有するデータベース305-iと同じ内容のデータを保持している。また、キャッシュデータは、他のノードが有するデータベース305と同じ内容のデータの一部または全てを有している。例えば、キャッシュデータ304-1は、データベース305-1と同じ内容を有している。さらに、キャッシュデータ304-1は、データベース305-2、305-3の一部または全ての内容を有している。キャッシュデータ304の内、自ノードが担当しているデータは、自ノードのデータベースの更新と同期して更新される。すなわち、キャッシュデータ304の内、自ノードが担当しているデータは最新のデータとなる。キャッシュデータ304の内、他ノードが担当しているデータは、他ノードのデータベースの更新と非同期に更新される。すなわち、キャッシュデータ304の内、他ノードが担当しているデータは、最新のデータとならない場合がある。記憶部303-iは、データベース305-iを有する。ノード301は、クライアント端末501から要求されたデータが自身のキャッシュデータ304に無い場合は、該データを保持するノード301へ要求を送信し、該データを取得し、キャッシュデータ304として格納する。トランザクション管理装置401は、分散データベースシステム101で実行されるトランザクションを制御する。尚、トランザクション管理装置401は、例えば、シリアルバスでノード301と接続している。分散データベースシステム101において、データベース305の更新は複数のノードで行われる。すなわち、分散データベースシステム101は、マルチサイト更新を行う。図5は、実施の形態に係るノードの詳細な構成図である。図5では、ノード301-1の詳細な構成図を記載している。尚、ノード301-2、301-3については、保持するデータが違うだけで構成は同じため、説明は省略する。ノード301-1は、受付部311、データ操作部312、レコード操作部313、キャッシュ管理部314、トランザクション管理部315、キャッシュ最新化部316、ログ管理部317、通信部318、キャッシュ319、および記憶部320を備える。尚、キャッシュ319および記憶部320は、図4のキャッシュ302-1および記憶部303-1に対応している。受付部311は、データベース操作、例えば、参照や更新、トランザクションの開始終了などを受け付ける。データ操作部312は、データベース作成時に定義した情報を参照して、受付部311が受け付けたデータ操作命令を解釈して実行する。データ操作部312は、トランザクションの開始および終了指示をトランザクション管理部315に指示する。データ操作部312は、受付部311が受け付けたデータ操作命令と定義情報を参照して、どのようにデータベースにアクセスするかを決定する。データ操作部312は、アクセス手順に従い、レコード操作部313を呼び出してデータの検索や更新を実行する。データベースのレコードは、更新の度に新たな世代レコードを生成する方式になっているので、データの検索時はレコード操作部313に、どの時刻例えばトランザクション開始時刻や、データ操作命令の実行時刻のコミット済データを検索するかを通知する。また、データ更新時には、各データの担当ノードの情報を管理しているロケータ322を参照し、自ノードが更新データの担当ノードならば、自ノードのレコード操作部313に更新依頼を行う。自ノードが担当ノードでなければ、通信部318を介して担当ノードへ更新データを転送し、更新依頼を行う。レコード操作部313は、データベースの検索や更新、トランザクションの終了、ログの採取を行なう。データベース323およびキャッシュデータ321のレコードはMVCCにより、更新の度に新たな世代レコードを作成する方式になっていて、レコード参照時には資源を占有排他せず、たとえ更新処理と競合しても、参照処理は排他待ちすることなく処理できるようになっている。キャッシュ管理部314は、データ参照時にレコード操作部313より要求されたデータをキャッシュデータ321から返却する。データがない場合には、ロケータ322を参照して担当ノードを特定した後、担当ノードから最新データを取得して返す。キャッシュ管理部314は、キャッシュデータ321の肥大化を抑えるために、参照されなくなった古い世代レコードを定期的に削除して再利用可能にする。また、キャッシュ管理部314は、キャッシュ319の空き容量が不足した場合は、データベース323にデータを書き込み、キャッシュ319に空きを作る。トランザクション管理部315は、トランザクションをマネジメントする。トランザクション管理部315は、トランザクションがコミットする時には、ログ管理部317にコミットログを書き出すように依頼する。トランザクション管理部315は、トランザクションがロールバックする時には、トランザクションで更新した結果を無効化させる。トランザクション管理部315は、トランザクション開始時、またはデータ参照時に、トランザクション管理装置401に時刻トランザクションIDとスナップショットの取得依頼を行う。また、トランザクション管理部315は、トランザクション開始時に、トランザクション管理装置401が管理しているスナップショットへ、トランザクションIDを追加するようにトランザクション管理装置401に依頼する。また、トランザクション管理部315は、トランザクション終了時に、スナップショットからトランザクションIDを削除するようにトランザクション管理装置401に依頼する。キャッシュ最新化部316は、キャッシュデータ321の最新化を行うキャッシュ最新化部316は、他ノードの担当するデータが更新されたかどうかを確認するために、他ノードを定期巡回する。ログ管理部317は、トランザクションの更新情報をログ324に記録する。更新情報は、トランザクションのロールバック時に更新データを無効化する場合や、分散データベースシステム101がダウンした場合にデータベース323を最新状態にリカバリするために使用される。通信部318は、他ノードとの通信インタフェースである。他ノードが担当するデータを更新する場合や、キャッシュ最新化部316によるキャッシュ定期巡回で、他ノードのデータが更新されたかを確認するために、通信部318を介してやりとりする。キャッシュ319は、ノード301-1で用いるデータを格納する記憶手段である。キャッシュ319は、記憶部320より読み書きの速度が速いことが望ましい。キャッシュ319は、例えば、RandomAccessMemoryRAMである。キャッシュ319は、キャッシュデータ321およびロケータ322を格納している。尚、キャッシュデータは、図4のキャッシュデータ304-1に対応している。また、キャッシュ319は、後述するスナップショットや採番した時刻を格納する。キャッシュデータ321は、データベース323の内容を含むデータである。キャッシュデータ321は、さらに他ノードが格納するデータベースの内容の少なくとも一部を含む。ロケータ322は、各データをどのノードが担当しているかを示す情報である。すなわちデータと該データを有するデータベースを持つノードが対応付けられた情報である。記憶部320は、ノード301-1で用いるデータを格納する記憶手段である。記憶部320は、例えば、磁気ディスク装置である。記憶部320は、データベース323およびログ324を格納している。図6は、キャッシュの構成図を示す図である。ここでは、ノード301-1のキャッシュデータについて説明する。キャッシュデータ321は、自ノード担当データ331と他ノード担当データ332からなる。自ノード担当データ331は、自身が記憶部320に格納するデータ、すなわちノード301-1にとってはデータベース323と同じ内容のデータである。データベース323は、複数のページから構成されるので、同様に自ノード担当データ331も複数のページから構成される。自ノード担当データ331は、データベース323の更新と同期して更新されるため、常に最新のデータとなる。他ノード担当データ332は、他のノードがそれぞれの記憶部に格納するデータベースの一部又は全てと同じ内容のデータである。ただし、他ノード担当データ332は、他ノードのデータベースの更新とは非同期に更新される。そのため、他ノード担当データ332は、最新のデータではない場合がある。すなわち、ある時点において、他ノード担当データ332と他のノードに格納されているデータベースの内容が異なる場合がある。他ノード担当データ332も自ノード担当データ331と同様に複数のページから構成される。例えば、ノード301-1の他ノード担当データ332は、データベース305-2、305-3の一部または全てと同じ内容のデータである。次にページの構成について説明する。図7は、ページの詳細な構成を示す図である。ページ333は、ページ制御部とレコード領域とを有する。ページ制御部は、ページ番号、ページカウンタ、およびその他の制御情報を有する。ページ番号は、ページを特定するための一意な値である。ページカウンタは、ページが更新された回数を示し、ページが更新されるたびにインクリメントされる。その他の制御情報は、レコード位置やサイズ、ページのサイズなどの情報である。レコード領域は、レコードおよび未使用領域を備える。レコードは、1件分のデータである。未使用領域は、レコードが記述されていない領域である。次にレコードの構成について説明する。ノード301には、MVCCが実装されており、一つのレコードは複数の世代のレコードで構成されている。図8は、レコードの構成を示す図である。図8は、一つのレコードの構成を示している。レコードは、項目として、世代インデックス、作成者TRANID、削除者TRANID、およびデータを有する。世代インデックスは、レコードの世代を示す値である。作成者TRANIDは、その世代のレコードを作成したトランザクションを示す値である。削除者TRANIDは、その世代のレコードを削除したトランザクションを示す値である。データは、レコードのデータである。図8においては、3世代のレコードを示しており、世代1が一番古いレコードであり、世代3は最新のレコードである。次にトランザクション管理装置401について説明する。図9は、実施の形態に係るトランザクション管理装置の構成図である。トランザクション管理装置401は、トランザクションID採番部402、スナップショット管理部403、および時刻採番部404を備える。トランザクションID採番部402は、トランザクションが開始された順番でトランザクションIDを採番する。実施の形態においては、トランザクションIDをTRANID時刻としている。時刻はトランザクションID採番部402が採番の要求を受信した時刻である。トランザクションIDをTRANID時刻とすることにより、トランザクションIDを比較すれば、どちらが先に開始されたトランザクションであるか分かる。スナップショット管理部403は、スナップショット405を管理する。スナップショット405は、実行中のトランザクションの一覧を示す情報である。スナップショット405は、スナップショット管理部403またはトランザクション管理装置401が有する記憶部不図示に格納される。実施の形態において、スナップショット405は分散データベースシステム101で実行中のトランザクションのトランザクションIDの一覧である。スナップショット管理部403は、トランザクションの開始時に開始するトランザクションのトランザクションIDをスナップショット405に追加、またトランザクションの終了時に終了したトランザクションのトランザクションIDをスナップショット405から削除する。時刻採番部404は、ノード301からの要求に応じて時刻を採番し、採番した時刻をノード301に送信する。ノード301からの要求に応じて時刻を採番するので、採番した時刻は要求を受信した時刻となる。実施の形態において、時刻採番部404は、採番した時刻をトランザクションID採番部402が割り当てるトランザクションIDと同じ形式のデータとする。すなわち、採番した時刻をTRANID時刻としてノードに送信する。採番した時刻とトランザクションIDを同じ形式とすることにより、これらを比較することにより、採番した時刻とトランザクションの開始のどちらが先か分かる。次にキャッシュデータの最新化について説明する。図10は、実施の形態に係るキャッシュデータの最新化を示す図である。実施の形態のノードは、他ノードのデータベースの更新を定期的にチェックすることで、キャッシュデータが最新の状態であるかをチェックする。図10では、ノード0のキャッシュの最新化を表している。図10の白丸はページを示し、黒丸は担当ノードで更新されたページを示し、×はキャッシュ上で削除したページを示す。ここでは、ノード0は、他ノード、すなわちノード1~ノード3のデータベースの更新をチェックしている。時刻t1におけるノード0の他ノード担当データ501は、ノード1~ノード3が担当するページを4つずつ有している。ノード0は、ノード1にページ番号を送付する。ノード1は、受信したページ番号に対応するページのページカウンタをノード0に送信する。ノード0は、受信したページカウンタと他ノード担当データ501のページのページカウンタと比較し、異なっていれば、ページは更新されていると判断する。そして、ページカウンタが異なっていたページを削除する。図10においては、他ノード担当データ501のうちノード1の左から3番目のページが削除される。ノード2およびノード3に対しても同様の処理を行い、他ノード担当データ501のうちノード2の左から1番目のページとノード3の左から2番目のページが削除される。時刻t2で、全ての他ノードのチェックが終了する。それにより、時刻t2において、他ノード担当データは、他ノード担当データ502の様になる。図11は、実施の形態に係るキャッシュデータ最新化処理のフローチャートである。ここではノード301-1の処理について説明する。ステップS901において、キャッシュ最新化部316は、トランザクション管理装置401に時刻の採番とスナップショット405を要求する。そして、キャッシュ最新化部316は、トランザクション管理装置401から採番した時刻とスナップショットを受信し、キャッシュ319の領域Cに格納する。上述したように、実施の形態において、採番した時刻の形式はトランザクションIDの形式と同一である。ステップS902において、キャッシュ最新化部316は、複数の他ノードのうち未選択の他ノードを一つ選択し、選択した他ノードが担当する他ノード担当データのページ番号を送付する。ステップS903において、キャッシュ最新化部316は、ページカウンタをページ番号を送付した他ノードから受信する。受信したページカウンタは最新のページカウンタである。ステップS904において、キャッシュ最新化部316は、ページカウンタが更新されていたページを削除する。すなわち、キャッシュ最新化部316は、他ノード担当データの各ページのページカウンタと受信したページカウンタを比較して、異なっていた場合、ページカウンタが異っていたページを削除する。ステップS905において、キャッシュ最新化部316は、全他ノードを処理したか。すなわち、全他ノードに対してページ番号を送付したか判定する。全他ノードを処理した場合、制御はステップS906へ進み、全他ノードを処理していない場合、制御はステップS902へ戻る。ステップS906において、キャッシュ最新化部316は、キャッシュ319の領域Cの内容、すなわち採番した時刻およびスナップショット405をキャッシュ319の領域Bへコピーする。図12は、実施の形態に係るデータの整合性を説明する図である。図12において横軸は時間を示しており、各トランザクションT1~T5の実行時間を示している。ここで、時刻t1<t2≦t3<t4である。また、トランザクションT1、T3は、時刻t1より前にコミットされている。トランザクションT2、T4は、時刻t1より前に開始している。ノードは、他ノードの巡回を行い、データが更新されているかチェックしている。図12では、時刻t1からt2間と時刻t2からt4間で1回分の巡回を行っている。時刻t1では、トランザクションT1、T3でコミットされたデータ、およびトランザクションT2、T4開始時のデータがキャッシュデータに反映されているすなわち、キャッシュデータと同じであるかは、確認できない。時刻t2では、他ノードのキャッシュを1巡回したため、時刻t3で参照するデータにトランザクションT1、T3でコミットされたデータ、およびトランザクションT2、T4開始時のデータがキャッシュデータに反映されているか判断可能となる。上述のように、キャッシュの最新化処理で、他ノードで更新されたページは、キャッシュデータから削除される。キャッシュデータに反映されていないデータ、すなわちキャッシュデータから削除されているデータを参照する場合は、ノードは時刻t3で担当ノードからデータを取得してキャッシュデータに格納する。取得するデータは、参照するデータが含まれるページである。ノードはページの取得後、時刻t1以降にコミットされた世代のデータは削除し、時刻t1までに更新された各世代のデータをキャッシュデータに反映する。時刻t3でデータを参照する場合は、時刻t1のスナップショット、またはレコードの参照要求の受信時に取得したスナップショットを使用する。スナップショットには、トランザクションT2、T4のトランザクションIDが含まれている。次に、参照レコードの特定に用いるスナップショットの選択処理について説明する。図13は、実施の形態に係るスナップショット選択処理のフローチャートである。ここではノード301-1の処理について説明する。先ず、ノード301-1は、レコードの参照要求を受信すると、該レコードが自ノード担当データ331にあるか判定し、ある場合は、該レコードを読み出して応答する。自ノード担当データ331にあるか否かはロケータ322を用いて判断する。また、参照要求されたレコードが自ノード担当データ331にない、すなわち他ノードが担当するデータである場合、該レコードが他ノード担当データ332にあるか判定し、他ノード担当データ332にない場合は、該レコードを担当する他ノードから該レコードを含むページを取得し、図12で説明したようにキャッシュデータ321に反映する。ステップS911において、トランザクション管理部315は、トランザクション管理装置401に時刻の採番とスナップショット405を要求する。そして、トランザクション管理部315は、トランザクション管理装置401から採番した時刻とスナップショットを受信し、キャッシュ319の領域Aに格納する。ステップS912において、レコード操作部313は、領域Aの採番した時刻と領域Bの採番した時刻を比較する。ステップS913において、領域Aの採番した時刻の方が新しい場合、制御はステップS914に進み、領域Aの採番した時刻の方が新しくない場合、制御はステップS915へ進む。ステップS914において、レコード操作部313は、領域Bのスナップショットを選択する。ステップS915において、レコード操作部313は、領域Aのスナップショットを選択する。ステップS916において、レコード操作部313は、選択したスナップショットを使用して、複数の世代を有するレコードのうち参照する世代のレコード有効レコードを特定する。そして、特定したレコードを参照し、該レコードの値を要求元に送信する。次に参照レコードの特定処理について説明する。上述のように、実施の形態のノードはMVCCを実装しており、レコードはレコード毎にそのレコードを作成したトランザクション、削除したトランザクションを識別する値を格納している。そして、ノードは、ある世代のレコードがあるトランザクションにとって有効な世代か無効な世代かを判定する。このような判定をSatisfy処理と呼ぶ。Satisfy処理では、下記のルールに合致するレコードが有効な世代のレコードであると判定する。レコードの作成者TRANIDが、自トランIDを除くスナップショット中のトランザクションIDTRANIDでない、且つ、スナップショット取得時以降に開始されたTRANIDでない、且つレコードの削除者TRANIDが、未設定、または、自トランIDを除くスナップショット中に含まれるTRANIDである、または、スナップショット取得時以降に開始されたTRANIDである。ここで、自トランIDは、レコードを参照しようとするトランザクションのトランザクションIDである。図14は、実施の形態に係る参照レコードの特定処理のフローチャートである。図14は、ステップS916の参照する世代のレコードの特定する処理の詳細を示す。ステップS921において、レコード操作部313は、全世代のレコードを判定したか判定する。全世代のレコードを判定した場合、処理を終了し、全世代のレコードを判定していない場合、未判定の世代のレコードの内、最古の世代のレコードを選択し、制御はステップS922へ進む。以下、選択した世代のレコードに対して有効な世代であるか無効な世代であるか判定する。ステップS922において、レコード操作部313は、レコードの作成者TRANIDが自トランID、またはスナップショット中のTRANIDでないか判定する。レコードの作成者TRANIDが自トランID、またはスナップショット中のTRANIDでない場合、制御はステップS922へ進み、自トランID、またはスナップショット中のTRANIDである場合、制御はステップS921へ戻る。ステップS923において、レコード操作部313は、レコードの作成者TRANIDがスナップショット取得時以降に開始されたTRANIDでないか判定する。レコードの作成者TRANIDがスナップショット取得時以降に開始されたTRANIDでない場合、制御はステップS924へ進み、スナップショット取得時以降に開始されたTRANIDである場合、制御はステップS921へ戻る。実施の形態において、スナップショット取得時以降に開始されたTRANIDでないかの判定は、該スナップショット取得時に採番した時刻を用いて判定する。ステップS924において、レコード操作部313は、レコードの削除者TRANIDが未設定であるか判定する。レコードの削除者TRANIDが未設定である場合、制御はステップS927へ進み、未設定で無い場合、制御はステップS925へ進む。ステップS925において、レコード操作部313は、レコードの削除者TRANIDが自トランIDでない、かつスナップショット中に含まれるTRANIDであるであるか判定する。レコードの削除者TRANIDが自トランIDでない、かつスナップショット中に含まれるTRANIDである場合、制御はステップS927へ進み、自トランIDである、またはスナップショット中に含まれるTRANIDでない場合、制御はステップS926へ進む。ステップS926において、レコード操作部313は、レコードの削除者TRANIDがスナップショット取得時以降に開始されたTRANIDであるか判定する。レコードの削除者TRANIDがスナップショット取得時以降に開始されたTRANIDである場合、制御はステップS927へ進み、スナップショット取得時以降に開始されたTRANIDで無い場合、制御はステップS921へ戻る。実施の形態において、スナップショット取得時以降に開始されたTRANIDであるかの判定は、該スナップショット取得時に採番した時刻を用いて判定する。ステップS927において、レコード操作部313は、選択した世代のレコードを有効レコードとして設定する。尚、以前に設定された有効レコードは、新たに有効レコードが設定されると無効となる。図15は、Satisfy処理の例を示す図である。図15は、レコード801に対してSatisfy処理を行った場合を示している。ここでは、スナップショットは255075であり、自TRANIDは50であり、スナップショット取得時において次に開始するトランザクションに割り当てられるTRANIDは100である。上述のルールに基づいて、レコード801の各世代について有効な世代か無効な世代かすると、世代インデックスが1、3、5、6、8、10のレコードは有効Visibleと判定され、世代インデックスが2、4、7、9、11のレコードは無効Invisibleと判定される。ここで、有効なレコードの内で世代インデックが一番大きいレコード、すなわち有効なレコードの内で一番新しいレコードが最終的に有効なレコードとなる。すなわち、図15では、世代インデックスが10のレコードが有効なレコード、すなわちノードが参照するレコードとなる。実施の形態の分散データベースシステムによれば、マルチサイト更新が行われ、キャッシュデータの最新化を非同期に行われる分散データベースシステムにおいて、整合性のあるデータの参照が可能となる。図16は、情報処理装置コンピュータの構成図である。実施の形態のノード301は、例えば、図16に示すような情報処理装置1によって実現される。情報処理装置1は、CPU2、メモリ3、入力部4、出力部5、記憶部6、記録媒体駆動部7、およびネットワーク接続部8を備え、それらはバス9により互いに接続されている。CPU2は、情報処理装置1全体を制御する中央処理装置である。CPU2は、受付部311、データ操作部312、レコード操作部313、キャッシュ管理部314、トランザクション管理部315、キャッシュ最新化部316、ログ管理部317に対応する。メモリ3は、プログラム実行の際に、記憶部6あるいは可搬記録媒体10に記憶されているプログラムあるいはデータを一時的に格納するReadOnlyMemoryやRandomAccessMemory等のメモリである。メモリ3は、キャッシュ319に対応する。CPU2は、メモリ3を利用してプログラムを実行することにより、上述した各種処理を実行する。この場合、可搬記録媒体10等から読み出されたプログラムコード自体が実施の形態の機能を実現する。入力部4は、例えば、キーボード、マウス、タッチパネル等である。出力部5は、例えば、ディスプレイ、プリンタ等である。記憶部6は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置1は、記憶部6に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ3に読み出して使用する。記憶部6は、記憶部320に対応する。記録媒体駆動部7は、可搬記録媒体10を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、CompactDiskReadOnlyMemory、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体10に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ3に読み出して使用する。ネットワーク接続部8は、LAN等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。ネットワーク接続部は、通信部318に対応する。