System design

Stage 2 · Lesson 1 of 10

SQL vs NoSQL and the NoSQL families

Data storage, partitioning and replication

such as and MySQL store data as rows in tables. Each table has a fixed shape, called a schema. You can join tables together, and let you change many rows as one all-or-nothing step.

NoSQL is not one thing but several families. (Redis, DynamoDB) look things up by a key, like a giant dictionary. Document stores (MongoDB) keep nested records that you read as a whole.

Wide-column stores () hold huge, write-heavy datasets split up by key. Graph databases (Neo4j) suit data with many hops of relationships, like friends of friends. Choose from how your app reads and writes data (its access patterns) and the consistency you need, not from hype.

A relational database with good indexes handles far more than most products need. Many NoSQL stores give up joins and multi-row transactions to scale writes.

Common trappicking NoSQL to avoid designing a schema.

A question to check yourself, an AI practice session and 2 cheat sheet entries come with the full roadmap. Unlock

Resources for this stage

Start with· follow one of these

Practise

Also worth your time

Mark this stage as not done?