MongoDB: open-source NoSQL Database for BigData and Cloud
MongoDB is a cross-platform document-oriented database program.
Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.
Big Data refers to very large and often complex data sets, so massive in size that they’re beyond the capability of managing with traditional software tools.
That's why non-relational databases such as MongoDB (which are inherently designed to handle unstructured inputs) are a great fit for Big Data, especially in the cloud.
License: OpenSource SSPL (Server Side Public License)
- MongoDB is a schema-less NoSQL database.
- No complex joins are needed in MongoDB. There is no relationship among data in MongoDB.
- Easy to scale, very easy to set-up and install.
- The document query language supported by MongoDB is very simple as compared to SQL queries.
- Because the MongoDB uses JSON format to store data, it is very easy to store arrays and objects.
- There is no need for mapping of application objects to database objects in MongoDB.
- Performance of MongoDB is much higher than compared to any relational database.
- It uses internal memory for storage which enables faster access to the data.
- MongoDB is free to use. There is no cost for it.
- Ad-hoc queries. MongoDB supports field, range query, and regular-expression searches.
- Indexing. Fields in a MongoDB document can be indexed with primary and secondary indices.
- Load balancing.
- Aggregation and Map Reduce support.
- File storage.
Project Design and Security
- In RDBMS, We need to create tables, schemas, and relations first. But in MongoDB, there is no need for such tables, schema, and relations.
- MongoDB provides an _id field which is created itself with every document and it acts as the primary key.
- Setting up a relational database is not easy while setting up MongoDB is very simple.
- RDBMS are not suitable for hierarchical data storage while MongoDB is best for it.
- RDBMS are slower as compared to NoSQL databases. MongoDB is 100 times faster than RDBMS.
## Sample Configuration for MongoDB @ /etc/mongodb.conf
# Only listen on the local network interface.
# Change this only if you need a public-facing instance and have turned on authorization.