Migrating to NoSQL – MongoDB
Data Shards

MongoDB combines the usual advantages of NoSQL databases with sharding, load balancing, replication, and failover.
Many products describe themselves with the NoSQL label. MongoDB [1] is arguably the most popular of these because it has seen incredible developer adoption. The NoSQL concept has advanced through the technology hype cycle [2], including wild claims about scalability [3], and MongoDB is making its way up the slope of enlightenment, having dealt with the trough of fear, uncertainty, and doubt [4]. With the help of 10gen, the MongoDB company, the product is now well on its way to addressing the enterprise market; however, what does that mean for you? Why should you migrate to MongoDB, and how should you do so?
After having switched an in-production app from MySQL to MongoDB back in early 2009, before even version 1.0 of MongoDB had been released, my company database now processes more than 20TB of data each month. With this experience under my belt, I'm going to cover several important areas that should help you understand when to consider switching to MongoDB.
Client Libraries
Like MySQL, Postgres, or most other databases, MongoDB is language agnostic and provides a custom wire protocol that you use to talk to the database. Some NoSQL databases operate over plain HTTP, so although having a wire protocol means using a custom driver [5], it does offer advantages, such as lower overhead and a query language implementation that makes sense to whatever programming language you're working with.
[...]
Buy this article as PDF
(incl. VAT)