There are a lot of databases used today in the industry. Some are SQL databases, some are NoSQL databases. The conventional database is SQL database system that uses tabular relational model to represent data and their relationship. The NoSQL database is the newer one database that provides a mechanism for storage and retrieval of data other than tabular relations model used in relational databases.

Following is a list of differences between SQL and NoSQL database:

Index

SQL

NoSQL

1)

Databases are categorized as Relational Database Management System (RDBMS).

NoSQL databases are categorized as Non-relational or distributed database system.

2)

SQL databases have fixed or static or predefined schema.

NoSQL databases have dynamic schema.

3)

SQL databases display data in form of tables so it is known as table-based database.

NoSQL databases display data as collection of key-value pair, documents, graph databases or wide-column stores.

4)

SQL databases are vertically scalable.

NoSQL databases are horizontally scalable.

5)

SQL databases use a powerful language "Structured Query Language" to define and manipulate the data.

In NoSQL databases, collection of documents are used to query the data. It is also called unstructured query language. It varies from database to database.

6)

SQL databases are best suited for complex queries.

NoSQL databases are not so good for complex queries because these are not as powerful as SQL queries.

7)

SQL databases are not best suited for hierarchical data storage.

NoSQL databases are best suited for hierarchical data storage.

8)

MySQL, Oracle, Sqlite, PostgreSQL and MS-SQL etc. are the example of SQL database.

MongoDB, BigTable, Redis, RavenDB, Cassandra, Hbase, Neo4j, CouchDB etc. are the example of nosql database