I am gonna write a multi-part series on this topic as it is a vast topic to cover. I want to start with basics and then dig deep on technologies, architecture choices, security etc.
Basics:
SQL: I think every developer, architect has used this type of schema in some shape of form. Examples of such dbs are MYSQL, Oracle, MS SQL Server, Sybase etc. They are better called as RDBMS or Relational databases. The primary idea of such dbs are ACID properties.
A-Atomicity,
C- Consistency
I- Isolation
D-Durability
In short they are transactional and relational in nature allowing SQLs to be written on them which allows joins, sub-queries on multiple tables.
No SQL: No SQL dbs have become popular in last 7-10 years and they are mainly as name suggest non RDBMS dbs. They don't adhere to strict relational properties and are more like key value kind of storage. The reason for their popularity has been the growth in data and with huge data growth the RDBMS has lot of issues in scaling and becoming distributed. They have to keep the ACID properties in check while they grow and scale out and become bottlenecks for fast applications. Hence No SQL: Example of such dbs are MongoDB, Cassandra, CouchDB etc.
The guiding property for such DBs is CAP theorem
Basics:
SQL: I think every developer, architect has used this type of schema in some shape of form. Examples of such dbs are MYSQL, Oracle, MS SQL Server, Sybase etc. They are better called as RDBMS or Relational databases. The primary idea of such dbs are ACID properties.
A-Atomicity,
C- Consistency
I- Isolation
D-Durability
In short they are transactional and relational in nature allowing SQLs to be written on them which allows joins, sub-queries on multiple tables.
No SQL: No SQL dbs have become popular in last 7-10 years and they are mainly as name suggest non RDBMS dbs. They don't adhere to strict relational properties and are more like key value kind of storage. The reason for their popularity has been the growth in data and with huge data growth the RDBMS has lot of issues in scaling and becoming distributed. They have to keep the ACID properties in check while they grow and scale out and become bottlenecks for fast applications. Hence No SQL: Example of such dbs are MongoDB, Cassandra, CouchDB etc.
The guiding property for such DBs is CAP theorem
- Consistency(Eventually)
- Availability
- tolerance to network Partitioning
I will cover little more advanced stuff about No SQL in next writeup.