私が知っているように、MongoDBはすべてのデータがメモリに収まるように最適化されています。 GridFSが標準コレクションとすべての標準的なストレージメソッドを使用していることを理解しています。それは...ですか?GridFSと標準コレクション、メモリ使用量
大量のデータ(私の場合はイメージ)を格納すると、その現在のメモリ量が大きくなり、メモリから実際のデータが削除されますか?
多分、MongoDBはGridFSコレクションの優先度を低くするほどスマートでしょうか?
私が知っているように、MongoDBはすべてのデータがメモリに収まるように最適化されています。 GridFSが標準コレクションとすべての標準的なストレージメソッドを使用していることを理解しています。それは...ですか?GridFSと標準コレクション、メモリ使用量
大量のデータ(私の場合はイメージ)を格納すると、その現在のメモリ量が大きくなり、メモリから実際のデータが削除されますか?
多分、MongoDBはGridFSコレクションの優先度を低くするほどスマートでしょうか?
MongoDBは、メモリマップファイルを使用してデータファイルを管理します。データを使用すると、メモリに残ります。あなたがそれを使用しないと、最終的にディスクにフラッシュされます(そして、あなたが次回にそれを要求したときに読み返します)。すべてのデータを読み込む必要がある場合は、すべてRAMに収まるようにするか、システムが致命的なスワップスパイラルになる可能性があります(負荷に応じて変わります)。
データを保存するだけで十分でない場合、MongoDBはわずかなメモリしか使用しません。たとえば、私のプロジェクトの1つでは、データセットの合計サイズは300 GBを超え、mongoは800 MBのRAMしか必要としません(ほとんどの場合、データは読み込まず、書き込むだけです)。
この画像のほとんどが非常に頻繁に使用されるという問題:(私が間違っていて、いくつかの統計情報を収集する必要があるかもしれないので、私はこのケースの最適化が望まれているのですが、私はあなたの答えを、ありがとう。 –