These days, it’s all about scaling. And the toughest part of the system to scale (correct me if I’m wrong) is persistence. Traditional databases give nice reliability and consistency guarantees, but at the cost of horizontal scaling. It’s possible to replicate in order to spread the data out and provide failover, but I’ve actually seen few shops do that in a way that doesn’t require manual intervention when something bad happens.
So here’s an interesting article about how Facebook scales out MySql. Something I need to read and digest.