SQL databases are primarily referred to as Relational Databases (RDBMS).
NoSQL databases are primarily referred to as Non-relational or Distributed Database.
Have predefined schema.
Are vertically scalable.
Use SQL (Structured Query Language) for defining and manipulating the data.
A good fit for the complex query intensive environment
Emphasize ACID properties (Atomicity, Consistency, Isolation and Durability)
Examples include: MySql, Oracle, Sqlite, Postgres and MS-SQL.
NoSQL databases are document based, key-value pairs, graph databases.
Have dynamic schema.
Are horizontally scalable.
Focused on the collection of documents.
Not ideal for complex queries.
Follow the Brewers CAP theorem (Consistency, Availability and Partition tolerance )
Examples include: MongoDB, BigTable, Redis, RavenDb, Cassandra, Hbase, Neo4j and CouchDb.
Free Resources