What is NoSQL Database - A MongoDB introduction
In this post, we going to understand some basics of NoSQL database and some useful information related to the most popular NoSQL database MongoDB.
So, let’s get started…
What is NoSQL?
NoSQL databases Developed in the late 2000s to deal with limitations of SQL databases, especially scalability, multi-structured data, geo-distribution and agile development sprints
- Basically, NoSQL Stands for “NOT ONLY SQL”
- A Non-Relational database, in other words, No Tables
- A flexible database used for big data & real-time web apps
Advantage of NoSQL Over RDBMS
When compared to relational databases, NoSQL databases are more scalable and provide superior performance, and their data model addresses several issues that the relational model is not designed to address
- Handles Big Data
- Data Models – No predefined schema
- Data Structures – NoSQL handles unstructured data
- Cheaper to manage
Advantages of RDBMS Over NoSQL
- Better for relational data
- Use Well Known language-SQL
Types of NoSQL Databases
- Document Databases[MongoDB,CouchDB]
- Column Databases[Apache Cassandra]
- Key-Value Stores[Redis, Couchbase Server]
- Cache Systems[Redis, Memcache]
- Graph Database[Neo4j]
When to choose MongoDB Over MYSQL
MySQL is well-recognized for its high performance, flexibility, reliable data protection, high availability, and management ease.
Proper data indexing can solve the issue with performance, facilitate interaction and ensure robustness.
But if your data is unstructured and complex, or if you can’t pre-define your schema, you’d better opt for MongoDB.
And what is more, if you need to handle a large volume of data and store it as documents MongoDB will help you to meet the challenges
MongoDB is schema-less and that’s why it’s often easier to get started with.
You store data in various documents without worrying about a fixed schema.
In MySQL you have to define a schema for your tables and change it with ALTER command when you need to add a new column or other details.
MySQL V/S MongoDB:
MySQL is best used for:
- Data structure fits for tables and rows
- Strong dependence on multi-row transactions
- Frequent updates and modifications of the large volume of records
- Relatively small datasets
MongoDB is best used for:
- High write loads
- Unstable schema
- Your DB is set to grow big
- Data is location-based
- HA (high availability) in unstable environment is required
- No database administrators (DBAs)
Thanks for reading.
Do let me know If you face any difficulties please feel free to comment below we love to help you. if you have any feedback suggestion then please inform us by commenting.
Don’t forget to share this tutorial with your friends on facebook, twitter, and Google+.