A Little Background on MongoDB
MongoDB is a child of cloud computing, where boundaries between systems no longer exist and everything is infinitely scalable, or almost. The derivation of the name ‘MongoDB’ from ‘humongous’ already gives you a strong hint about what kind of data store you’re dealing with. Its inventor, the 10gen Company, began building MongoDB in 2007. A version considered suitable for general release first arrived in 2010. Since then, it has become the most popular of the NoSQL databases on offer. It has also accomplished the impressive feat of becoming the fifth most popular database technology out of all the technologies available.
MongoDB is written in the object-oriented language of C++ and runs on Linux, Windows, OS X and Solaris. It also runs on cloud platforms that include Amazon EC2, Google Compute Engine, Rackspace Cloud, VMware Cloud Foundry and Windows Azure. Official drivers for MongoDB exist for many popular development environments and programming languages. Licensing for business use is available at three levels. The Basic level with lowest fees offers AGPL (Affero General Public License) usage with sharing of derivative works. The Standard and Enterprise levels use commercial licensing with progressively higher levels of support and security features.
When Should You Choose MongoDB?
Typical uses for MongoDB involve applications that must manage data of different types that change frequently without any complex transactions between objects, together with high availability, performance and scalability. In particular, it is suited to dynamic queries (queries built ‘on demand’ by the application) of frequently written or read data. In additional to database-style usage, MongoDB can also be used as a file store with replication and partitioning over several servers. The GridFS function in MongoDB can be called by other programs to work with files and their content, while MongoDB manages fault tolerance and load-balancing. However, 10gen indicates that MongoDB is not destined for critical transaction environments such as banking.
Who is Using It Today?
Among well-known users of MongoDB are Craigslist, Shutterfly, Forbes and Foursquare. Craigslist stores over 2 billion documents in MongoDB, while Shutterfly stores 18 billion photos. Forbes uses it for storing articles and company data, and other big-name users include Viacom, eBay, the New York Times and CERN for its Large Hadron Collider data aggregation. Foursquare chose initial deployment on Amazon EC2 for storing venues and user check-ins. To keep pace with growing requirements for performance, the company recently migrated MongoDB installations to its own servers.