I need some advice from you experts on this subject. The thing is that we have created a Facebook application some days ago and it got a lot of virality thankfully, the problem is that our database started getting REALLY FULL (some tables have more than 25 million rows now) and it got to the point that the app just stopped working because there was a queue of thousands and thousands of writes to be made.
I need to implement a solution for scaling this app QUICKLY but I'm not sure if I should pursue Sharding or Clustering since I'm not sure what are the pro's and con's of each of them and I was thinking on doing a Partition / Replication approach but I think that doesn't help if the load is on the writes?
Clustering/Sharding/Partitioning comes when single node has reached to the point where its hardware cannot bear the load. But your hardware has still room to expand. This is the first lesson I learnt when I started being hit by such issues