Nowadays, I have begun to defer my database choice until I absolutely have to put an app into production if possible. That way I can write an app and have it working without worrying too much about queries, caching, and so on until I need to actually put it out on a real server.
MySQL, Mongo, HBase, Cassandra, Postgres, Riak, Redis, Memcache, Couchbase, Filesystem? It doesn't matter.
They're all going to break at different times for different reasons depending on how you use them and what scale you are at. Everything breaks at scale eventually.
Build something awesome enough that it breaks under the user load. That's a good problem to have.