3

私は、大量のデータを迅速に解析するプロジェクトに取り組んでいます。現在、このデータはディスク上にあり、ディレクトリ階層に分割されています。

(Folder: DataSource) -> (Files: Day1, Day2, Day3...Day1000...)
(Folder: DataSource2) -> (Files: Day1, Day2, Day3...Day1000...) 
...
(Folder: DataSource1000) -> ...
...

各日ファイルは、非常に迅速にアクセスする必要があるエントリで構成されています。

私の最初の計画は、Java で従来の FileIO を使用してこれらのファイルにアクセスすることでしたが、さらに読み進めるうちに、これでは遅すぎるのではないかと心配するようになりました。

要するに、ファイルシステムからさまざまな DataSources と Days からエントリを選択的にロードできる最速の方法は何ですか?

4

3 に答える 3

2

使用しているアーキテクチャに応じて、さまざまな方法でキャッシュを実装できます。Jboss には組み込みの Jboss キャッシュがあり、必要に応じて Redis や EhCache などのキャッシュを利用できるサードパーティのオープンソース ソフトウェアもあります。基本的に、キャッシングはオブジェクトをメモリに保存します。一部は必要に応じてパッシベーション/アクティブ化されます。メモリが使い果たされると、物理 IO ファイルとして保存されます。これもキャッシング メカニズムによってマーシャリングされて簡単にアクティブ化されます。プログラムが保持するデータベース接続が低下します。他にもキャッシュがありますが、私が使用したキャッシュの一部を以下に示します。

于 2013-06-17T06:04:51.170 に答える