Why NoSQL and why MongoDB?
In the past decade, dataset sizes, especially for web-based enterprises, have been growing incredibly fast. Storage demands are now in the terabyte range. As this demand increases, developers have to choose between expanding their machine size (scaling up) or distributing their data among many independent machines (scaling out). A growing database is easier to manage, scaling up, but that option is more expensive and eventually limited in size. Scaling out is clearly a better option, but standard Rdbs do not distribute easily or cheaply.
MongoDB is a document-based system that easily scales out. It automatically balances its databases across a cluster, redistributing documents transparently, making it easy to add machines when needed.