4

Mongo GridFS またはクラウド ファイル システムにイメージを保存することについて議論しています。いくつかの理由から、私はクラウドに傾倒しています。使用されている言語は、Nginx サーバー上の PHP です。

  1. イメージを GridFS に格納すると、データベースのサイズが増加します。したがって、より多くのデータベースをメモリ内に配置する必要があり、シャーディングなどに関しては、サーバーの管理により多くの時間とお金を費やすことになります。

  2. GridFS から画像を取得するには、クラウドよりも時間がかかります。a) ID を使用して画像をクエリする b) 画像をメモリに読み込む c) PHP ヘッダーを使用して画像を表示する

クラウドへの直接の画像の URL であるため、クラウドの方が優れています。

それらの理由は有効に聞こえるでしょうか、それとも私の考えで別の方向に進むべきでしょうか?

4

1 に答える 1

5

それは完全に真実ではありません。

イメージを GridFS に格納すると、データベースのサイズが増加します。したがって、より多くのデータベースをメモリ内に配置する必要があり、シャーディングなどに関しては、サーバーの管理により多くの時間とお金を費やすことになります。

Mongodb gridfs は巨大なファイルをチャンクに分割し、要求されたときにそれらのみがロードされ、(各チャンクによって) 提供されます。はい、間違いなくファイルシステムよりも多くのメモリが必要です。これらはすべて、メモリ内データ ストアを使用する場合のトレードオフです。

GridFS から画像を取得するには、クラウドよりも時間がかかります。a) ID を使用して画像をクエリする b) 画像をメモリに読み込む c) PHP ヘッダーを使用して画像を表示する

前のポイントで述べたように、最初にメモリにロードされます。ディスクではなくRAMから提供されるため、パフォーマンスの問題はほとんどありません。それでも満足できない場合は、画像を nginx にキャッシュすることをお勧めします。そのため、最初のものの後にmongoに来ることはありません。

于 2012-01-09T16:05:26.773 に答える