"ネットワークで接続された複数のノードにて、識別子によって特定されるレコードを分散管理する分散型データストアシステムにおいて、前記複数のノードは、当該ノードが管理する複数のレコードを前記識別子の任意の範囲毎に集合体として記憶するレコード記憶手段と、前記集合体に対して、当該集合体の範囲に含まれる識別子を用いたインデクスを付与するインデクス付与手段と、レコード取得要求に対して、前記インデクスを参照することにより、前記レコード取得要求にて要求されたレコードを前記レコード記憶手段から取得するレコード取得手段とを有することを特徴とする分散型データストアシステム。請求項1に記載の分散型データストアシステムにおいて、前記レコード記憶手段は、キャッシュ機能を具備するメモリ領域と、レコードが永続的に記憶されるディスク領域とを具備し、レコードを前記識別子の昇順または降順で前記メモリ領域に蓄積し、前記メモリ領域に蓄積されたレコードのサイズが所定の閾値を超えた場合に、当該レコードを1つのファイル単位として前記ディスク領域に記憶する記憶制御手段を有する分散型データストアシステム。請求項2に記載の分散型データストアシステムにおいて、前記ディスク領域に記憶された複数のレコードの中から所定の条件に従う複数のレコードを抽出し、当該複数のレコードを前記識別子の昇順または降順で並び替えて新たなファイルを生成するファイル分割手段を有する分散型データストアシステム。請求項3に記載の分散型データストアシステムにおいて、前記識別子は、タイムスタンプを構成要素として具備し、前記ファイル分割手段は、前記識別子の構成要素のうちタイムスタンプのみが異なるレコードを世代が異なる同一レコードとして認識し、世代が同一となるレコードを1つのファイルとして生成する分散型データストアシステム。請求項4に記載の分散型データストアシステムにおいて、前記レコード取得手段は、レコード取得要求に対して、レコード取得条件に世代の指定がない場合は、前記インデクスを参照して前記レコード取得要求に基づきレコードを前記レコード記憶手段から取得し、前記レコード取得条件に世代の指定がある場合は、指定された世代のファイルから前記レコード取得要求に基づきレコードを前記レコード記憶手段から取得する分散型データストアシステム。請求項5に記載の分散型データストアシステムにおいて、前記インデクス付与手段は、前記メモリ領域に蓄積されたレコードが前記ディスク領域に記憶された契機、または前記新たなファイルが生成された契機で、前記集合体に対して前記インデクスを再付与する分散型データストアシステム。ネットワークで接続された複数のノードにて、識別子によって特定されるレコードを分散管理する分散型データストアシステムにおけるレコード管理方法であって、前記複数のノードが、当該ノードが管理する複数のレコードを前記識別子の任意の範囲毎に集合体として記憶する際に、前記集合体に対して当該集合体の範囲に含まれる識別子を用いたインデクスを付与しておき、レコード取得要求に対して、前記インデクスを参照することにより、前記レコード取得要求にて要求されたレコードを取得する、分散型データストアシステムにおけるレコード管理方法。上述したように分散型データストアシステムにおいては、メジャーコンパクションが実行されない限り、特定のKey範囲に対応するディスク領域上のファイルを全て読み込み、どのファイルに目的のデータが含まれるのか確認する必要が生じることとなり、分散ファイルシステムにおいては、ディスク領域に対するディスクI/Oの負荷や、分散ファイルシステムを構成するノード間のネットワークI/Oの負荷が高いという問題点がある。本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、ネットワークで接続された複数のコンピュータを用いて情報を分散管理する分散型データストアシステムにおいて、コンピューティングリソースの無駄を回避するとともにレスポンス性能を向上させることができる分散型データストアシステム及び分散型データストアシステムにおけるレコード管理方法を提供することを目的とする。上記目的を達成するために本発明は、ネットワークで接続された複数のノードにて、識別子によって特定されるレコードを分散管理する分散型データストアシステムにおいて、前記複数のノードは、当該ノードが管理する複数のレコードを前記識別子の任意の範囲毎に集合体として記憶するレコード記憶手段と、前記集合体に対して、当該集合体の範囲に含まれる識別子を用いたインデクスを付与するインデクス付与手段と、レコード取得要求に対して、前記インデクスを参照することにより、前記レコード取得要求にて要求されたレコードを前記レコード記憶手段から取得するレコード取得手段とを有することを特徴とする。また、ネットワークで接続された複数のノードにて、識別子によって特定されるレコードを分散管理する分散型データストアシステムにおけるレコード管理方法であって、前記複数のノードが、当該ノードが管理する複数のレコードを前記識別子の任意の範囲毎に集合体として記憶する際に、前記集合体に対して当該集合体の範囲に含まれる識別子を用いたインデクスを付与しておき、レコード取得要求に対して、前記インデクスを参照することにより、前記レコード取得要求にて要求されたレコードを取得する。以上説明したように本発明においては、ネットワークで接続された複数のノードにて、識別子によって特定されるレコードを分散管理する場合に、複数のノードのそれぞれにおいて、そのノードが管理する複数のレコードを識別子の任意の範囲毎に集合体として記憶する際に、集合体に対してその集合体の範囲に含まれる識別子を用いたインデクスを付与しておき、レコード取得要求に対して、インデクスを参照することにより、レコード取得要求にて要求されたレコードを取得する構成としたため、識別子の所定の範囲に対応するファイルが複数ある状況においても、目的の識別子が含まれるファイルへアクセスすることができ、それにより、複数のファイルへアクセスする必要が無く、読込み時の応答時間が短縮されるとともに、ファイルシステムやネットワークへの負荷を軽減することができる。以下に、本発明の実施の形態について図面を参照して説明する。図1は、本発明の分散型データストアシステムの実施の一形態を示す図である。本形態は図1に示すように、インデクスノード1と、3つのノード2-1~2-3とがネットワークで接続されて構成されている。ノード2-1~2-3にて分散管理されるレコードは、各レコードを一意に識別するための識別子となるKeyとValueとの組から構成されるKey-ValueStore形式KVS形式のデータ構造である。そして、Keyの構成要素は、RowKey、カラム名及びタイムスタンプとなっており、タイムスタンプの概念を持つテーブル構造を表すことができるモデルとなっている。また、一台または階層構造を持つインデクスノード1によって、任意のKeyの範囲を担当するノードが定められており、あるKeyに対応するレコードへの読み込み/書き込み要求に対する処理は全てそのKeyを担当するノードが行う。本形態においては、図1に示すように、ノード2-1が2つのKey範囲Range1,Range2を担当し、ノード2-2が1つのKey範囲Range3を担当し、ノード2-3が1つのKey範囲Range4を担当している。ノード2-1~2-3のそれぞれは、担当するKey範囲のレコードを記憶するレコード記憶手段である記憶部50を有しているとともに、インデクス付与部10と、記憶制御部20と、ファイル分割部30と、レコード取得部40とを有している。記憶部50は、キャッシュ機能を具備するメモリ領域51と、メモリ領域51に蓄積されたレコードについてマイナーコンパクションが実行されることによって作成されたファイルが永続的に記憶されるディスク領域52とを有し、ノード2-1~2-3が管理する複数のレコードを任意のKey範囲毎に集合体として記憶する。インデクス付与部10は、ノード2-1~2-3が管理する任意のKey範囲毎に、そのKey範囲に対応するレコードにアクセスするためのインデクスを作成して付与する。記憶制御部20は、ノード2-1~2-3が管理する任意のKey範囲のレコードをKeyの昇順または降順でメモリ領域51に蓄積し、メモリ領域51に蓄積されたレコードのサイズが所定の閾値を超えた場合に、マイナーコンパクションを実行することにより、そのレコードを1つのファイル単位としてディスク領域52に記憶する。ファイル分割部30は、ディスク領域52に記憶された複数のレコードの中から所定の条件に従う複数のレコードを抽出し、その複数のレコードをKeyの昇順または降順で並び替えて新たなファイルを生成する。レコード取得部40は、レコード取得要求に対して、インデクスを参照することにより、レコード取得要求にて要求されたレコードを記憶部50から取得し、レコード取得要求元に返す。以下に、上記のように構成された分散型データストアシステムにおけるレコード管理方法について説明する。まず、記憶部50にレコードを書き込む際の処理について説明する。なお、以下においては、ノード2-1に対する処理を例に挙げて説明するが、ノード2-2,2-3に対する場合も同様の処理となる。図2は、図1に示した分散型データストアシステムにおいて記憶部50にレコードを書き込む際の処理を説明するための図である。クライアントからの任意のKeyに対するレコードの書き込み要求は図2のように、そのKey範囲のレコードを管理するノード2-1に送信される。すると、レコードの書き込み要求を受け取ったノード2-1においては、記憶制御部20の制御によって、まず、レコードがメモリ領域51に蓄積される図2中ア。この際、メモリ領域51へは、Keyの昇順または降順でレコードが蓄積されることになる。そして、メモリ領域51に蓄積された全レコードサイズが所定の閾値を超えた場合、マイナーコンパクションが実行され図2中イ、レコードが1つのファイル単位として作成されてディスク領域52に永続的に記憶される図2中ウ。なお、上記閾値としては、一般的には搭載物理メモリサイズを基準に指定されることになる。また、それと同時に、インデクス付与部10において、全レコードに対応するインデクスが作成され、ディスク領域52に記憶されたレコードに付与される。これにより、Key範囲に対応するインデクス情報図2中index1が更新される。図3は、図1に示したインデクス付与部10にて作成されるインデクスの構成を示す図である。インデクス付与部10にて作成されるインデクスは図3に示すように、Keyが含まれるファイル名、ファイル内のオフセット、レコードサイズが格納され、ノード2-1にて担当するKeyが任意の範囲毎に集合体とされたそれぞれに付与されている。これにより、ノード2-1~2-3のそれぞれにおいて、担当するKey範囲Range毎に、その範囲に属するレコードが論理的な集合体として管理され、その際、その集合体に対し、Keyに対応するValueにアクセスするためのインデクスが付与される。次に、記憶部50に記憶されたレコードを読み込む際の処理について説明する。図4は、図1に示した分散型データストアシステムにおいて記憶部50に記憶されたレコードを読み込む際の処理を説明するための図である。図4に示すように、ディスク領域52には、上述したようにファイルが記憶されており図4中ア、これらのファイルは、上述したようにして作成されたインデクスによってアクセス可能となっている図4中イ。任意のKeyに対応するレコードを読み込むためのレコード取得要求がクライアントから送信されると、ノード2-1においてはまず、目的のKeyが含まれるKey範囲に対応するインデクスが参照され、どのファイルに目的のKeyが含まれているのかが調べられる図4中ウ。インデクスにおいては、上述したように、Keyが含まれるファイル名、ファイル内のオフセット、レコードサイズが格納されているため、Keyを指定することにより、そのKeyが含まれるファイルを調べることができる。次に、レコード取得部40において、目的のKeyが含まれるファイルにアクセスが行われてレコードが読み込まれ図4中エ、それにより取得されたレコードがクライアントに返却される。ここで、タイムスタンプが最も新しい最新世代のみ取得するクエリを実行する場合において、分散型データストアシステムのKeyはRowKey、カラム名、タイムスタンプといった優先度でソートされているため、最新のタイムスタンプを持つレコードは、ファイル上にまばらに存在する。そのため、シーケンシャルアクセスであっても、本来ならば読み込む必要のない古いタイムスタンプのレコードも含めて、ファイル内容全てをファイルシステムより読み込む必要が生じ、ファイルシステムから読み取るレコード数が多くなってしまう。そこで、タイムスタンプのみが異なるレコードを世代が異なる同一レコードとして認識し、世代が同一となるレコードを1つのファイルとして生成することが考えられる。図5は、図1に示した分散型データストアシステムにおいて世代単位でファイルを管理する方法を説明するための図である。図1に示した分散型データストアシステムにおいて世代単位でファイルを管理する場合は、まず、ファイル分割部30において、メジャーコンパクションが実行され、世代G3:第3世代、G2:第2世代、G1:第1世代単位でファイルが作成される図5中カ。図6は、世代単位で作成されるファイルの構成を示す図であり、aは全体の構成を示す図、bはKeyの構成を示す図、cは具体的な構成例を示す図である。世代単位で作成されるファイルは図6に示すように、KeyとValueとから構成されており、Keyにおいては、RowKey、カラム名及びタイムスタンプがコロンによって連結されている。ファイル分割部30においては、Keyの構成要素のうちタイムスタンプのみが異なるレコードが、世代が異なる同一レコードとして認識され、世代が同一となるレコードが1つのファイルとして生成される。具体的には、メジャーコンパクション実行時において、Key要素依存ファイル分割機能が用られ、当該機能において所定の条件抽出条件として、世代が指定されることで、RowKey、カラム名が共に同じレコードが全て集められ、タイムスタンプが調べられることで各レコードの世代が識別され、世代単位のファイルが作成される。この際、世代単位のファイルは、一般的なマイナーコンパクションやメジャーコンパクションで作成されるファイルと同様にKeyによってソートされている。これにより、最新世代である第3世代へのアクセスは、1つのファイルFILEG3を読み込むだけで完了する図5中キ。その際、最新世代の必要なカラムだけ読み込む必要がある場合は、一度インデクスに問い合わせる方法図5中クと組み合わせることで、目的のKeyに対応するレコードが第3世代ファイルのどの位置にあるのかを調べることにより、ファイルシステムのディスクI/Oや、分散ファイルシステムの場合はネットワークI/Oを削減することができる。また、メジャーコンパクションによって世代単位のファイルを作成した後に、マイナーコンパクションが発生し、世代単位のファイルの他にも、ファイルが作成された場合において、最新世代のレコードのみを読み込む場合は、最新世代のファイルを読み込みつつ、マイナーコンパクションによって作成されたファイルにさらに新しいレコードが含まれていないか、インデクスを検索し、新しい方のレコードを結果として返す。このように、タイムスタンプのみが異なるレコードを世代が異なる同一レコードとして認識し、世代が同一となるレコードを1つのファイルとして生成しておくことにより、1つのファイルに特定の世代が連続して記録されていることになり、特定世代のファイルに対してアクセスを行うことにより、従来ではランダムアクセスとなってしまったアクセスパターンも、シーケンシャルアクセスにすることができ、応答時間やスループットを向上させ、また、不要な情報を読み込む必要が無くなるため、ファイルシステムやネットワークへの負荷を軽減することができる。なお、本形態においては、ファイル分割部30において、Keyの構成要素のうちタイムスタンプのみが異なるレコードを世代が異なる同一レコードとして認識し、世代が同一となるレコードを1つのファイルとして生成しているが、ディスク領域52に記憶された複数のレコードの中から所定の条件に従う複数のレコードを抽出し、その複数のレコードをKeyの昇順または降順で並び替えて新たなファイルを生成するものであれば、上記のように世代管理に限らない。以下に、上述した分散型データストアシステムにおけるレコードの読み込み処理について説明する。図7は、図1に示した分散型データストアシステムにおけるレコードの読み込み処理を説明するためのフローチャートである。まず、レコード取得部40において、クライアントからのレコード取得要求となるクエリに含まれるレコード取得の条件式によって、特定世代へのアクセスであるか、特定カラム複数選択可能へのアクセスであるかが判別され、それに応じて、特定世代のファイルを全て読み込むか、インデクスを用いて読み込むかが選択されるステップ1。世代が指定されておらず、特定世代へのアクセスではない場合は、インデクスが参照され、レコード取得要求に基づいてレコードがディスク領域52から読み込まれて取得されるステップ2。一方、世代が指定され、特定世代へのアクセスである場合は、レコード取得要求に特定カラムへのアクセスが指定されているかどうかが判別されステップ3、特定カラムへのアクセスが指定されている場合は、特定世代のファイルに対し、上述したインデクスを用いたレコード取得機能によって、レコード取得要求に基づいてレコードが取得されるステップ4。また、特定カラムへのアクセスが指定されていない場合は、レコード取得要求に基づいて、要求されたレコードが特定世代のファイルから直接取得されるステップ5。次に、マイナーコンパクション機能で作成された新たなファイルが存在する場合はステップ6、マイナーコンパクション機能で作成された新たなファイルについては、インデクスが参照され、レコード取得要求に基づいてレコードがディスク領域52から読み込まれて取得されるステップ7。このようにしてディスク領域52から取得されたレコードは、レコード取得要求の要求元に返却される。なお、インデクス付与部10においては、マイナーコンパクションやメジャーコンパクションの実行時、もしくは、新たな特定世代のファイルが生成された契機のいずれかにおいて、インデクスが更新され、再付与されることになる。すなわち、各ノード2-1~2-3にて管理されるKey範囲に含まれるKeyの読み込みを行う際に、インデクスに該当するKeyが無く、かつインデクスを構築していない1つ以上のファイルがあれば、クライアントからのレコード取得要求に基づき、従来の方法で目的のレコードを検索すると同時に、インデクスが更新されることになる。具体的には、マイナーコンパクション機能で新たなファイルが生成された契機、または、世代単位の新たなファイルが生成された契機のいずれかにおいて、インデクスが更新されることになる。"