In reply to this tweet by @balupton.
I’m not a Mongo guy. Some of it’s things seem neat, but I haven’t spent enough time with it to be able to recommend it as a Good Thing. I have spent a lot of time making fun of its ability to lose data. If I want a document store, I reach for CouchDB.
That said, I think this is less of a Mongo thing and more of a document store thing. The same criticism could easily be leveled at Couch.
Personally my approach to this issue is ‘just deal with the slow reads’. If your database server is getting put under too much pressure because each request is expensive, scale it horizontally. Being able to do that is the whole point.
If your application is super latency sensitive, use Redis for the bits you really need quickly. Better yet, use Redis for everything you can get away with because it’s lovely.
If neither of those are a good option for your application then you’ll need a different way of storing your data. Maybe Postgres with a bunch of read slaves or Postgres-XC or something.
There is definitely no shortage of wacky databases out there.