First off I am working on a web application and eventually a mobile application with the following requirements:
* I need something that will support offline storage at some point.
* There will be a lot of reading from the database
* There will be a lot of small writes to the database, but not many big writes
* I don't really want to lose data
* I would like to support real time interactions
* I would like it to be easily scalable and maintainable (possibly hosted/maintained by a third party) as I am working solo
I have experience with Mongodb (although possible loss of data is alarming) and a lot of experience with MySQL/Postgres.
I am looking into Couchdb/Pouchdb as that seems to fit my requirements, but I am concerned about speed.
If you are lucky enough to get to the point of having scalability problems, and vertical scaling won't cut it, pick something else.