私は自分のプロジェクトにNode.jsを使用します。MongoDBまたはローカルファイルシステム(Node.js)に画像を保存する必要があります
イメージをローカルファイルシステムに保存するか、MongoDBに保存する必要がありますか?
どのようにスケーラビリティが向上しますか?
私は自分のプロジェクトにNode.jsを使用します。MongoDBまたはローカルファイルシステム(Node.js)に画像を保存する必要があります
イメージをローカルファイルシステムに保存するか、MongoDBに保存する必要がありますか?
どのようにスケーラビリティが向上しますか?
最もスケーラブルな解決策は、Amazon S3(または独自のクラフト)などの共有ストレージサービスを使用することです。
これにより、移行の悪夢を心配する必要がないため、アプリケーション層にマシンを追加する際に、水平方向にずっと簡単に拡大縮小することができます。
この背後にある基本的な考え方は、ストレージレイヤーをアプリケーションレイヤーから切り離しておくことです。したがって、このアイデアを使用すると、ファイルアップロードを受け入れてディスクに書き込む別のマシンにnode.jsプロセスを作成することができます。
シャーディングを利用するにはGridFSを使用しますが、最高のパフォーマンスを得るにはnginxでファイルシステムを使用します。
パフォーマンスに影響を受けやすいシステムを設計する場合は、ファイルシステムを使用して画像を保存してください。
あなたはパフォーマンスがこのブログから比較を見つけることができます。 http://blog.thisisfeifan.com/2013/12/mongodb-gridfs-performance-test.html
実は、あなたがお勧めのMongoDB GridFSは、ここに例を使用して見つけることができます: https://docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs
OPは、Amazonについて広告を要求しません。 MongoDBは、長期的にはAmazonへの支払い費用の一部でも拡張可能です。しかし、問題はMongoDBとファイルシステムです。 –