2013-05-09 22 views
15

1枚あたり約10,000画像から大量の画像を保存する必要があります。各画像の平均サイズは約1〜10MBです。画像を保存する:MongoDbとファイルシステム

これらのイメージは、GridFSライブラリを使ってMongoDBに格納することも、Base64変換を文字列として保存することもできます。

私の質問は、MongoDBはそのようなペイロードに適しているのですか、それともファイルシステムを使用する方が良いですか?

多くのおかげで、

+0

[この質問の複製と思われる](http://stackoverflow.com/questions/6212990/mongodb-gridfs-vs-directly-disk- io)。 –

+0

代わりに、mongoDBに画像のメタデータを持ち、画像自体をS3(+オプションのクラウドフロント) –

答えて

6

MongoDBのGridFSは、通常のファイルシステム上の多くの利点を持っており、間違いなくあなたがシャードのmongoクラスタにスケールアウトできるよう、あなたが記述されているデータの量に対処することができます。私は自分自身でそれに多くのバイナリデータを保存していないが、私はバイナリデータとテキストの間に実際の違いがあるとは思わない。そうです:はい、ペイロードに適しています。

2

GridFSを使用すると、保存されるファイルオブジェクトに対するクエリと操作の実装が容易になります。さらに、GridFSはバックアップ/レプリケーション/スケーリングをサポートします。しかし、ファイルサービスは、GridFS + Nginxよりもファイルシステム+ Nginxを使用する方が高速です(ここを参照:https://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/)。しかし、GridFSの「より遅い」サービング速度は、シャーディングが使用されているときに利用されます。

関連する問題