Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags


What’s the difference between SQL and NoSQL?

Educative Answers Team

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

SQL databases are primarily referred to as Relational Databases (RDBMS).

NoSQL databases are primarily referred to as Non-relational or Distributed Database.

svg viewer


  • SQL databases are table based databases.

  • 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.

Diving deeper

  • Relational database: is a collective set of multiple data sets organized by tables, records and columns.
  • Document database: pairs each key with a complex data structure known as a document. Documents can contain many different key-value pairs and nested documents.
svg viewer
  • Key-value database: are the simplest NoSQL databases. Every single item in the database is stored as an attribute name (or ‘key’), together with its value.