Learn What is MongoDB? How it is useful in managing the huge set of data, both structured and un structured.
Learn about the MongoDB and understand what is MongoDB?
MongoDB is a document based open source database acclaimed for high performance, agility and scalability. Here below we introduce MongoDB, its key components and features.
What is MongoDB?
MongoDB is an open source database characterized by high performance, agility and scalability. It is also the leading NoSQL database. It is a cross platform database that provides unmatched availability and scalability. The database works basically on the concept of collection and documents. In the recent times this high performance database is increasingly becoming popular among large corporations thanks to its well acclaimed agility, simplicity and scalability. Here below we introduce the three basic components of MongoDB.
The MongoDB database is highly scalable and high-performance document based database management system which open source and developed in C++ programming language. It supports mirroring over LANs and WANs. It supports auto-sharing, rich query and many more features.
These days enterprises are trying to find the solution to store and analyze the ever-growing data which is in many different formats. There data's are structured as well as unstructured which does not suits to the traditional relational database management system. The relational database model can't handle such set of data and the processing time of such data is very high when it is to be processed by the relational databases. To solve these problems of handling and processing the large data sets (so called Big Data), MongoDB offers the great way to store and analyze such data structured, un-structured and document based data. MongoDB is NoSQL database and it is different from the relational database as there is no requirement of having the fixed-data model.
History of MongoDB?
The company names 10gen started the development of MongoDB in the year 2007 to make a platform as service similar to the Windows Azure and Google App Engine. In the year 2009, MongoDB was released under AGPL. And it is released as Open Source Software system. In the March 2010, after the release of the version 1.4 it is declared as production ready. The latest version of MongoDB is version 2.6, which is released on April 8, 2014.
The MongoDB server is released under the GNU Affero General Public License while the language drivers are released under the Apache License. If you want the commercial license of MongoDB your application you can also take it from the MongoDB Inc.
The MongoDB is NoSQL database which provides a lost cost data storage and reporting system. It is scalable and can grow up to any size just by adding the new system and integrating it with existing system. The MongoDB can be ideal solution for any organization looking for the solution for growing business as it provides the scaling support.
Since MongoDB is capable of maintaining the structured and no-structured data, it is ideal solution to maintain the of any type. It supports JSON-like document structures which reduces the mismatch between the application data structure and the way of data presentation to the user. This makes the data management (storage) and the retrieval much more improved.
Features of MongoDB:
Here are the most important features of the MongoDB.
- High availability
- High performance
- Easy scalability
Detailed features of the MongoDB Database:
Ad hoc queries
The MongoDB is supporting the ad hoc queries based on the field, range, regular expressions etc... Support of Ad hoc queries makes MongoDB a power full database management system (although NoSQL).
MongoDB also supports the index based on certain field or fields similar to the RDBMs. Secondary indexes are also supported which is very important in the performance of the queries.
MongoDB Supports the data replication and it maintains two or more copies of data. It provides the high availabilities with the help of these replication sets. A replica set can be primary or secondary. The secondary replica set replicates the data from the primary data set. Primary data set is used for add/update/delete process and secondary data set is used for high performance read operations. If primary replica set fails the secondary replica set becomes the primary. It then starts the add/update/delete operations, but it is done only after evaluation of the data.
Through replication MongoDB provides the high availability and performance.
The Load balancing is another main feature of MongoDB server. MongoDB supports the horizontal scaling using sharding.
MongoDB is designed to run over multiple servers, it keeps the system running even in case of hardware failure. It loads and/or duplicates the data over multiple servers and keep the server running even on the hardware faliure. It supports automatic configuration and new machines can be added to a running database server without any downtime.
MongoDB can be used as a file storage server also as it load balance and maintains the multiple copies of the data on different server. It survives the hardware failure. This function of MongoDB is called GridFS, which included with the MongoDB. Developers can use this feature of MongoDB without any problem.
GridFS of MongoDB stores a files into parts, or chunks and stores it on different servers.
The MapReduce can be used with MongoDB for data aggregation operation and can be run as a batch processing tasks. You can obtain the just like the SQL GROUP BY clause.
The MongoDB server also supports fixed-size collections which is known as capped collections.
How MongoDB stores data?
MongoDB Stores data into database and on one server you can have multiple databases. While learning the MongoDB you will come across the terms like Database, Collection and Docment. Here are the description of these topics:
Database: Typically a MongoDB server can have several databases. MongoDB database is a container for collections. Every other database consists of different set of files in the file system. The databases in the MongoDB server can be accessed from multiple operating platform and they are known for quick availability and high scalability on different platforms.
Collection: Collection in the MongoDB database system is a group of documents that can be compared with the RDBMS table. A collection only exists within a single database and they are not governed by a particular schema. Documents from different fields can contain within a collection but most of the time all documents in a collection can be characterized with a single purpose or objective.
Document: Documents in a MongoDB collection are set of key value pairs. They can have different fields or purposes but typically in a collection all documents have a common purpose. But in spite of this common purpose or objective that the documents in a collection share they can have different set of fields or structure.
MongoDB compared to RDBMS
Open source, document oriented database
A database based on relational model
Documents are contained in collection
Here the closest equivalent is table
Diverse fields of documents are contained as per objective purpose
The rows of information are contained in a table
Documents can be focused on diverse fields within the same or different collection
Different fields of data here are represented in columns
Documents remain here as embedded
Here set of data is represented in tables
Next Tutorials: Features of MongoBD