| SQL | NoSQL |
|---|---|
| relational | non-relational |
| structured query language and have a predefined schema | have dynamic schemas for unstructured data |
| vertically scalable | horizontally scalable |
| table based | document, key-value, graph or wide-column stores |
| better for multi-row transactions | better for unstructured data like documents or JSON |
if your data is highly structured and associations among the program entities are clearly defined (for instance, if you are developing a point of sale system where you need to store customer orders and product records), conventional SQL based databases are the best fit.
MySQL database is very popular open-source database. It is generally been stacked with apache and PHP, although it can be also stacked with nginx and server side javascripting using Node js.
to work better on both unstructured and unrelated data. The better solutions are the crossover databases that have elements of both NoSQL and SQL. RDBMSs that use SQL are schema–oriented which means the structure of the data should be known in advance to ensure that the data adheres to the schema
Mongodb is one of the most popular document based NoSQL database as it stores data in JSON like documents. It is non-relational database with dynamic schema. It has been developed by the founders of DoubleClick, written in C++ and is currently being used by some big companies like The New York Times, Craigslist, MTV Networks.
Document based database like MongoDB, and Redis are great for small scale, hierarchical data with a relatively small amount of children for each entry
in general, NoSQL/DDBMS will scale easier than RDBMS. In particular, ScyllaDB is the most scalable and one of the most performant NoSQL database that I currently know of, especially with respect to active/active regional DC replication ,
First of all, MySQL, MSSQL, Oracle, PostgreSQL, all are highly scalable, it's just that they require little maintenance for it. All SQL based databases are very stable, and are in production since years.
The term “schema” refers to the organization of data as a blueprint of how the database is constructed (divided into database tables in the case of relational databases). The formal definition of a database schema is a set of formulas (sentences) called integrity constraints imposed on a database.
Learned more about nosql vs sql.


