Use of MongoDB

2013-10-26

Categorized as a NoSQL database, MongoDB is one of those cross platform database that have managed to assume widespread popularity. It is extremely different from traditional database and is considered to be an efficient way of storing, managing and retrieving data from different applications and portals.

MongoDB - A Big Data Solution

Challenges Faced:

  • The volume of data that is being handled by today’s organizations is 100 to 1000 times larger than the volume of data handled before 5 years. Traditional databases will be an overhead while scaling up to this huge volume of data.
  • As social media’s being the major source of data, it is mostly unstructured or semi structured. Traditional databases will not accommodate this kind of data as they rely on well defined schema.
MongoDB is a schema-less database which scales up to accommodate huge volume of data, without compromising on performance. Hence it is an efficient candidate to be referred as a Big Data solution.

Features of MongoDB:

Following is the list of the main features that make MongoDB one of the top choices among a lot of top companies.

  • Indexing: Like most of the other database platforms, different columns in MongoDB can be indexed. You can also opt for indexing on index columns and it is known as secondary indices. Indexing makes searching and retrieving of data extremely quick.
  • Replication: When a database platform is being designed, the ease of replication becomes a crucial factor. In MongoDB, master slave replication format is found. The master can perform both read and write operation on slaves. However, the slave copy can only read the files and create backups but they cannot write a master file.
  • Load balancing: MongoDB makes excellent use of sharing in order to balance load horizontally. This database platform can run over multiple servers concurrently and even in case of hardware failure, it balances the load and even duplicates the data to ensure that the system is fail safe.
  • File storage system: MongoDB can also be used as a file storage system. There is a separate function called GridFS which is included in MongoDB drivers and it aids in storing files in multiple machines.

Benefits of Using MongoDB

There are various benefits that one can reap by opting to use MongoDB. Some of the key points that deserve a mention are as follows.

  • Scalability: MongoDB can scale horizontally to accommodate a large volume of data, which allows large organizations to use MongoDB as a big data solution.
  • Reduces complexity: MongoDB helps in reducing complexity by cutting down the number of database requests that you need to make. Further, the amount of migrations and relationships that you may have to make will be reduced too.
  • Easy to change: With the help of this dynamic schema document, changing the schema and even altering tables is relatively easy. With the help of rich queries that are available in MongoDB, accessing and storing data is much easier.
  • Lightning fast: The speed with which database queries are executed is extremely curial to the success of an application. MongoDB is one of those DB platforms that would win the performance race against many other Databases.

Some Cons

There are some cons as well as opposed to the vast array of positive features.

  • Database-level locking: MongoDB locks an entire database for each write, restricting concurrency
  • Scalability issues: It has some scalability issues for more than 100GB of data.