The solution is to avoid one-size-fits-all. Some things need to be consistent and immediately available, e.g payment processing or privacy settings, even if you have 100 million users. For those use a relational database with only a few tables. For huge data sets, like billions of social interconnections, use a noSQL solution that scales to dozens of server locations. Eventual consistency is good enough, even some never consistent.