Let’s understand about the NoSQL. We will explore MongoDB and it’s inception later.
Like any other type of database NoSQL database also provides a mechanism to store and retrieve which is modeled in such a way so that it should be different than Relational database. In short, a NoSQL database does not store data in relational format or we can say tabular format. That is why is referred as “non-relational” or “not-only SQL” database.
There are four types of NoSQL databases:
- Key-Value Store: This key value format database is stored in schema less format using a hash table which contains key-value pair. Value can be a string while key should be unique pointer which points to its value. Key factor for performance here is cache mechanism which enhance performance to a great degree. Amazon S3, VoltDB and RIAK are some databases which is based on KEY-VALUE NoSQL database.
- Column-based Store: This database usage columns to store data instead of rows. Data in this type of database stored in cells and these cells are grouped as columns. Further, these columns are also grouped to make column families. Since all cells of a column are stored in contiguous storage location, searching or aggregation on a column become faster than the database where storage are done in rows. HBase & Casandra including Google’s BigTable are being used for such property while processing BigData.
- Graph-based:When a flexible graphical representation is used and there are no rigid format of SQLs or the table and the column representation is visible, this database can be called Graph-based database. This database is flexible enough to handle scalability concerns.
- Document-based Store: One of the main category of the NoSQL database, document-based database is designed like any other database to make storing, retrieving easier. The differences here is about the data. This DB can perform it operations semi-structured data or document-oriented data. Values in this DB is also stored like Key-Value pair like Kye-Value NoSQL database.what make document based database differ from other database is the stored data is also compressed in either of XML, JSON or BSON format. Further, this type of DB also embed a metadata for stored data which makes it easier to extract information as and when required. couchbase, CouchDB, MongoDB are few of them.
Compared to the relational database NoSQL databases are designed to perform what earlier is not designed for. It is designed to handle large volume of rapidly changing structured, semi-structured and un-structured data with object oriented programming support including more scalable feature without compromising the performance. This scalability architecture is not limited with geographical limitations.
MongoDB is one of the document oriented open source database developed in c++, first come into shape in 2007 when in order to overcome the shortfall of existing database while working for an advertising company “DoubleClick” development team has decided to go further rather than struggling with database. The team of this advertising company was frustrated with their existing DB as the team was struggling for scalability and agility both on their existing DB. While facing such issues Dwight Merriman, Eliot Horowitz and Kevin Ryan has got an idea and they took this up further to develop MongoDB. They have founded MongoDB Inc.
Advantages of MongoDB over contemporaries are not just one but there are many. Few of them are:
- Open Source: First and foremost, MongoDB is opensource database and have all the features of Opensource software like licensing, one can customize as per their need etc.
- Horizontal scalibility: This is one of the required factor based on which MongoDB was evolved. Any relational database can be scaled but in vertical way which is having limitations while scaling in horizontal way is behaving like seamless.
- Data replication: MongoDB provide features to replicate data on multiple mirrored server will lesser efforts.
- Reliability: With replicated data on different servers, MongoDB proving itself as reliable to protect data of customer. It brings confidence in customer that even in the event of crash of one server, because of data replication on another server, their data will be protected.
- NoSQL Queries: JSON based document oriented NoSQL queries including storage of data are much faster than traditional SQL queries.
- Dynamic Schema Design: It supports dynamic schema design which allows documents in a collection to have different fields and structures. This is also termed as “Schema Free Design“
- Simplicity: Last but not the least, simplicity is the heart of design of MongoDB architecture. Being a NonSQL database it is much simpler than the traditional SQL. By implementing JSAON like document oriented storage structure, it is already simplifies database.