Making Your Application Highly Available And Highly Scalable Using NOSQL Database (MONGODB)
Databases are the “Backbone” of any Information Systems. Relational Database Management System is the base
for many legacy databases. RDBMS are great, with SQL being a rich, declarative query language and have the advantage of
enforcing referential integrity, ACID (Atomicity Consistency Isolation Durability) semantics and are well understood by
developers. RDBMS also support efficient usage of storage space if data is properly normalized and is also well supported by
popular frameworks and persistence frameworks. But at the same time, there are some well known overheads associated with
relational databases, where first comes the Object/relational impedance mismatch, where it is complicated to map rich domain
model to relational schema. Secondly, relational schema is rigid where it is difficult to handle semi-structured data and
schema changes. The extremely difficult or impossible scaling contributes to the third disadvantage. And one more caveat is
the storage of audio, video and big data.
NoSQL database technologies came into reckoning to provide a solution for the same. NoSQL databases have come into
force with an ability to store and retrieve huge volumes of data, without complex transactions. Many more value added
features to handle Cloud Computing, Big Data and Agile development and many more. A document oriented database
MongoDB introduced by 10Gen in 2007 is one of the NoSQL databases. It offers storage of huge documents, audio and video
files, scalability, performance, high availability without complex transactions as no need of joins.
We will discuss more about the architecture, features and use cases of MongoDB