I'm building small application using Node.js and MongoDB and I'm planning to host it on Openshift or Heroku. All that hate that MongoDB takes here on HN makes me reconsider technologies I am using.<p>I will not have many relations in my database (model User, model Document, User owns Document... and that's all) so I thought that NoSQL databases will do. Plus, MongoDB lets me use GridFS - I'm planning to store pdf presentations in it.<p>If I should drop MongoDB, what other technology should I use? Or should I fall back to Postgres + ORM and manage my files in filesystem manually?<p>I don't want to start a flame, I am looking for an advice. I have considered MongoDB to be "good enough" as GridFS lets me store my files without a hassle, but after all that I read on the Internet, now I am not so sure.
Is there <i>any</i> datastore in this series that behaved correctly in a partition? I've seen ElasticSearch, Redis, Riak, Mongo, and all of them crapped their pants.
For all the hate MongoDB gets, I have to say building queries in server side JS using MongoDB JSON syntax rather than SQL style queries is the way to go.<p>Check out these two examples:<p><a href="https://github.com/olegp/stick-blog-pg/blob/master/lib/server.js" rel="nofollow">https://github.com/olegp/stick-blog-pg/blob/master/lib/serve...</a> - uses Postgres
<a href="https://github.com/olegp/stick-blog/blob/master/lib/server.js" rel="nofollow">https://github.com/olegp/stick-blog/blob/master/lib/server.j...</a> - uses MongoDB - much easier to construct dynamic queries using the JSON syntax<p>There are of course plenty of other things a relational DB like Postgres has going for it, so I've been experimenting with having a MongoDB interface to Postgres with data stored using the JSON datatype. It's now feature complete and passes all unit tests with read performance exceeding that of Mongo in some benchmarks:<p><a href="https://github.com/olegp/pg-mongo" rel="nofollow">https://github.com/olegp/pg-mongo</a>
Does anyone have experience/comparisons with OrientDB? <a href="http://www.orientechnologies.com/orientdb/" rel="nofollow">http://www.orientechnologies.com/orientdb/</a><p>It seems to be much lesser known but it ticks all the right boxes compared to other NoSQL datastores.