When to Use NoSQL instead of SQL



What is SQL?

SQL is Structured Query Language, which is a computer language for storing, manipulating and retrieving data stored in a relational database.


SQL is the standard language for Relational Database System. All the Relational Database Management Systems (RDMS) like MySQL, MS Access, Oracle, Sybase, Informix, Postgres and SQL Server use SQL as their standard database language.


Advantages:
  • It is highly suitable for relational databases.

  • Has a predefined schema which is helpful in many cases.

  • Normalization can be greatly used here, thus it also helps in removing redundancy and organizing data in a better way.

  • Transactions in SQL databases are ACID compliant, thereby guarantees security and stability.

  • Follows well-defined standards like ISI and ANSI which are accepted worldwide.

  • Code-free.

  • Unbeatable speed in retrieving database records with great ease.

  • Uses single standardized language i.e SQL across different RDBMS.


Disadvantages:
  • The process of interfacing is complex.

  • As SQL is an object, it occupies space.

  • Handling Big data is very costly as you will have to increase the hardware for scaling.

  • When a table is dropped, the view becomes inactive.



What is NoSQL?

A NoSQL database includes simplicity of design, simpler horizontal scaling to clusters of machines and finer control over availability. The data structures used by NoSQL databases are different from those used by default in relational databases which makes so