MongoDB – An exciting new DBMS

Before I personally got involved as an advisor at 10Gen (home of MongoDB) two months ago, I had some wrong impressions. The first one was the name “document data model”. I somehow interpreted that as something to do with “documents” (pages, text, paragraphs, indexes,..) and imagined that to compete with the likes of Documentum or Lotus Notes data model. I could not be more wrong.

The phrase document data model is something the JSON (JavaScript Object Notation) world coined. It actually is the representation of a complex object such as an “order”, a “bill of materials”, etc. You can imbed arrays or nested hierarchies into a JSON “document”. To represent such a business entity in a relational database, one has to create several normalized tables with connections via “foreign key”. Referential integrity constraints define how the relationships will be manipulated. In the RDBMS, we define a schema to represent the data model and such schemas are fairly rigid. Any changes demand serious operational impact. That translates into less flexibility for the application developer. Sometimes the data entities are not fully known to start with. MongoDB allows the developers to begin with what they know and subsequently add new elements to the structure without causing any interruptions. This gives tremendous “agility” to building new applications very fast – a key reason for its wide adaption and rising popularity.

Another key aspect of MongoDB design is its horizontal scalability using commodity hardware which lends itself very well to the world of Big Data. Data is automatically partitioned (sharded) as the volume grows to a certain limit. High availability is also provided via replication (in triplicate). The product is “open source” and hence a vibrant community keeps adding useful tools and tips for all to use.

This is the new world, where mobile applications need to be built quickly at enterprises, to coexist with production databases. For example, Metlife wanted to build a mobile application for its customers so that they can look at all the policies and claims information on their iPhone or Android device. Using MongoDB, the whole project got built in a few months and got rolled out to very large number of users worldwide. In the demanding data-intensive world, speed and scalability combined with super agility in build-time become the secret mantra for success.

MongoDB is rapidly growing in enterprise space, given its total life-span of only five years.  It represents a truly modern DBMS (NoSQL) for the new world of connectivity and mobility. The RDBMS was right for its time (30 years back when the application backlog was the big issue). A solution like MongoDB is the right answer to today’s world where data is both external and internal and performance and scale are highly elastic.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s