An introduction to MongoDB
MongoDB is the most exciting SQL-free database currently available in the market. The new kid on the block, called MongoDB is a scalable, high-performance, open source, schema free and document oriented database that focuses on the ideas of NoSQL Approach. Written in C++, it has taken rapid strides since its emergence into the public sphere as a popular way to build your database applications.
The origin of MongoDB can be traced back to its original authors at 10gen, who developed MongoDB as a stand-alone product in 2009. With the introduction of MongoDB, the goal is to bridge the gap that exists between a key/value store and a traditional RDBMS. Its conception demanded eliminating the limitations of relational databases by changing the data model from relational to document-based. By doing that, it is able to add greater functionality with features such as, embedded docs for speed and manageability, and easier horizontal scalability as it is non-relational and does not support joins. Since MongoDB uses schema-less databases, it allows agile software development during the Software Development Life Cycle (SDLC). However, it has retained some highly functional features of MySQL as well, such as, indexes, dynamic queries and updates. Creating an index in MySql or Oracle and one in MongoDB is strikingly similar, except that in the case of latter, you have the option of indexing an embedded field.
What makes MongoDB such a great data store?
The document-oriented nature of MongoDB is its major strength. It uses embedded documents and arrays, therefore multi-document transactions and joins are rarely used, which makes it highly scalable and efficient.
Since document oriented architecture of MongoDB comprises of schema-less databases that rarely uses joins for queries, it renders horizontal scalability.
MongoDB is a high-performance SQL-free database. SQL and other relational database store relational data, for instance, data in table X can have direct relations to information in table Y. Since MongoDB doesn't need this ability, it functions without a lot of overhead, making it really fast. Add to that the fact that it is not yet ACID compliant helps its cause.
On the downside though, there are a few pressing issues which the community around the application need to focus on. The barrier to entry is relatively high when compared to SQL databases, as there is a lack of skillsets around NoSQL and its tools lack robustness of SQL. Also, as it is relatively new, it is hard to find NoSQL talent.
MongoDB is a great application when it comes to handling critical social interactions as in the case of social media network. Although, when you need to manage data where you have to guarantee data integrity, especially when financial transactions are involved, SQL is a far better choice. MongoDB works best with smaller datasets. Companies are using it for their research and data mining activities where the flexibility of MongoDB's document oriented architecture becomes easily evident. However, notwithstanding the downsides, the benefits justify the risks as is proven by its rapid adoption among IT professionals worldwide.
Author: Jiji Thomas works as a content writer for Dataentryoutsourced. He also indulges in blogging, creative writing and photography.