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