I read a couple of topics here about using Mongo as a file storage, for "standard" web app but still have some questions.
By "standard" web app I mean - news site, blogs, e-commerce, organizers, social network and similar stuff. Majority of files are small-to-medium images.
Load is big enough so MongoDB would be shareded on multiple servers.
Special cases like file/video hosting are outside of this scope.
What are Proc & Cons of using GridFS versus "standard" NFS and other options?
From the easy of development it seems that it's easier to store all in Mongo than program and manage one more database for files.
But, here are some questions:
- How good is its performance versus "standard" distributed file systems & NGinx? In terms of throughput, cpu and memory usage.
- Does it affect the speed of queries against ordinary documents that stored in the same database? Or it's better to have 2 Mongo databases - one for objects and other for files.
- How to serve files? Using nginx-gridfs module? I also specially interested in Node.js - would it be enough to serve files with node with cache in front of it? Or node.js would be too slow for serving files, even with cache?
Other potential problems?
Thanks.