Good line of reasoning in 10gen’s blog post:
One reason why NoSQL, or some iteration, is here to stay is that the way computer architectures are heading, having systems that can run across multiple machines is going to be an absolute requirement. The limitations of vertical scaling are going to get worse and worse. Youâ€™re going to get new chips that have more and more CPU cores on them, but the speed isnâ€™t much higher. And theyâ€™re going to be cheaper too so you can get more computers but youâ€™re not going to be able to get one computer thatâ€™s really fast at any price. But youâ€™re going to be able to get 1000 computers that are not terribly fast really cheaply. So the question is, at the data storage layer, can you leverage that? The traditional approach is no, not without a lot of manual effort.Â But changing computer architectures, as well as the growth of cloud computing, necessitates a better set of database systems built to achieve scale. These new solutions are going to solve that and itâ€™s going to be critical. We want a new set of tools for the data storage layer that work well with those cloud principles, which are things like infinite scalability, low to 0 configuration, and ease of development without friction.