In an upcoming project I need to create a Twitter like web application where the basic idea is to read / write short messages and status updates (similar to tweets) and group these messages (just like hashtags)
Also users can have followers and can see their status updates.
I'm estimating between 10 - 50 million message writes in a span of 1 - 2 months, and for reads it could be anything in the millions. Reads will surely be higher than writes.
I already decided that some kind of NoSQL is probably the best approach to storing this data, but I don't know which one would be the best fit for my needs.
I looked at Hadoop / Cassandra / HBase but it seems a little bit of overkill. I'm also considering MongoDB.
The whole web app will be setup on Nginx, PHP with a RESTful architecture (front-end only on mobile phones)