Database design · from first entity to FAANG-level architecture
Don't start with "which database?".
Start with the data, the access patterns, and the failures.
Database design taught the way senior engineers practise it: model entities and keys, normalize and denormalize deliberately, write serious SQL, reason about transactions, isolation, locks and MVCC, understand PostgreSQL internals (pages, WAL, VACUUM, B-trees vs LSM), design indexes from access patterns and read EXPLAIN ANALYZE, then scale with replicas, partitions and shards, pick NoSQL stores for the right reasons, keep copies in sync with outbox and CDC, and run it all in production: migrations, backups, DR, security, multi-tenancy, observability, capacity and cost. Every topic works through an interview problem and the ways it breaks, ending with eight domain designs and a full interview bank.
- Phases
- 18
- Topics
- 88
- Hours
- 12
- Diagrams
- 22
- Exercises
- 299
By the end you can
What this course makes you able to do
- Turn business requirements into entities, keys, constraints and a normalized schema, and denormalize on purpose
- Write complex SQL (joins, window functions, recursive CTEs) and diagnose slow queries with EXPLAIN ANALYZE
- Choose isolation levels and locking to prevent lost updates, write skew and deadlocks
- Explain MVCC, WAL, VACUUM, B-trees and LSM trees, and tune PostgreSQL from its metrics
- Scale with replication, partitioning and sharding, and pick Redis, MongoDB, Cassandra, DynamoDB or Elasticsearch for the right access patterns
- Run databases in production: zero-downtime migrations, backups and PITR, DR, security, multi-tenancy, capacity and cost
Beginner → Advanced
The curriculum, by level
- 5Transactions, Isolation and Concurrency5 topics · ~45 min
- 6PostgreSQL Internals and Storage Engines5 topics · ~43 min
- 7Indexes and the Query Planner5 topics · ~41 min
- 8Query Optimization and Application Access5 topics · ~41 min
- 11NoSQL and Specialised Databases7 topics · ~60 min
- 12Caching, Read Models and Polyglot Persistence4 topics · ~34 min
- 9Replication, Partitioning and Sharding5 topics · ~43 min
- 10Distributed Data: Consistency, Transactions and Change Streams5 topics · ~43 min
- 13Operations: Migrations, Backup, Disaster Recovery and Multi-Region5 topics · ~41 min
- 14Security, Privacy and Multi-Tenancy3 topics · ~26 min
- 15Production Engineering: Observability, Performance, Failure, Capacity and Cost5 topics · ~42 min
- 16Domain Database Designs8 topics · ~69 min
- 17Interview Preparation and Hands-On Labs5 topics · ~37 min
Where should I start?
Pick a path for your goal
Foundations (0–2 years)
You use a database daily and want to design schemas and queries properly.
- 10 · Foundations and the Design Mindset
- 21 · Relational Data Modeling
- 32 · Keys, IDs and Constraints
- 43 · Normalization, Denormalization and Access Patterns
- 54 · SQL from Fundamentals to Advanced
- 65 · Transactions, Isolation and Concurrency
Then Phase 7 to design indexes from your queries.
Interview-ready (2–5 years)
You need to design and defend database architectures in interviews.
- 15 · Transactions, Isolation and Concurrency
- 27 · Indexes and the Query Planner
- 39 · Replication, Partitioning and Sharding
- 410 · Distributed Data: Consistency, Transactions and Change Streams
- 511 · NoSQL and Specialised Databases
- 616 · Domain Database Designs
- 717 · Interview Preparation and Hands-On Labs
Finish with timed mocks from the Phase 17 problem bank.
Senior / Staff
You own production databases or lead data architecture.
- 16 · PostgreSQL Internals and Storage Engines
- 29 · Replication, Partitioning and Sharding
- 310 · Distributed Data: Consistency, Transactions and Change Streams
- 413 · Operations: Migrations, Backup, Disaster Recovery and Multi-Region
- 514 · Security, Privacy and Multi-Tenancy
- 615 · Production Engineering: Observability, Performance, Failure, Capacity and Cost
- 716 · Domain Database Designs
Helpful before this course
Where this leads next
Stateful Systems · PostgreSQL field guide
Operate PostgreSQL with labs, tuning knobs and failure drills.
Redis course
Every Redis structure, caching pattern and failure mode in depth.
Kafka course
Outbox, CDC and event pipelines from the Kafka side.
Bloom Filters course
Per-SSTable filters, cache penetration and membership at scale.