NoSQL is not a relational database.
A relational database (RDBMS) stores a data in tabular form and that tables will have a primary key identifier. This is the predefined schema and MySQL, Oracle, PostgreSQL, Microsoft SQL Servers are examples of relational databases.
A non-relational database is a dynamic schema for unstructured data. Data can be stored in multiple collections and nodes. It is designed for distributed data stores where large scale of data storing needs. The evolution of NoSQL databases will handle huge amount of data easily. MongoDB, Redis, Cassandra are some of non-relational databases.
NoSQL is open-source, cheaper, faster and it offers for developing modern applications like Facebook, Google mail, LinkedIn. NoSQL is easily scalable, less expensive, lesser server cost, no fixed model, support integrated caching.
There are 4 basic types
It is a simple database which stores data without schema structure. Redis, Amazon S3, Amazon dynamo database are best examples of key-value store database.
Some real-time applications are using document databases. MongoDB is one of the example of document database and it can handle any kind of data, structure and format. It provides some structure and encoding. Some encodings are JSON,XML,BJSON.
MongoDB is used for Aadhar and eBay applications. In Aadhar application, it is used to store images.
Column based databases
Datas are stored in column and that columns are grouped.
The benefits of storing datas in column enables fast search, fast access and data aggregation and also very efficient at data compression and partitioning. It provides high scalability.
Graph Databases are widely using social networking applications as it is perfect to address scalability. Data transfer from one model into another can be easy.
NoSQL follows CAP Theorem. That is ,
Consistency – Database remains consistent after execution of operation
Availability – System is always on, there is no downtime Partition
Tolerance – No function break
A both SQL and NoSQL having their own places and being integrated into each other. NoSQL is best solution for rapid development, cloud-based storage and storing large volume of data.