System Design Deep Dive: Real-World Distributed Systems

Ready to become a System Design pro? Unlock the world’s largest distributed systems, including file systems, data processing systems, and databases from hyperscalers like Google, Meta, and Amazon.

Advanced

158 Lessons

20h

Certificate of Completion

Ready to become a System Design pro? Unlock the world’s largest distributed systems, including file systems, data processing systems, and databases from hyperscalers like Google, Meta, and Amazon.

AI-POWERED

Code Feedback
Mock Interview
Explanations
Prompt

AI-POWERED

Code Feedback
Mock Interview

This course includes

31 AI Feedbacks
111 Quizzes

This course includes

31 AI Feedbacks
111 Quizzes

Course Overview

This course deep dives into how large, real-world systems are built and operated to meet strict service-level agreements. You’ll learn the building blocks of a modern system design by picking and combining the right pieces and understanding their trade-offs. You’ll learn about some great systems from hyperscalers such as Google, Facebook, and Amazon. This course has hand-picked seminal work in system design that has stood the test of time and is grounded on strong principles. You will learn all these princ...Show More

TAKEAWAY SKILLS

System Design

Prepare For Interview

What You'll Learn

Working knowledge of building large-scale systems

Ability to evaluate common system design trade-offs

Ability to map interview questions and on-job design tasks to well-known systems

Familiarity with the complexity of real-world systems behind a seemingly simple system

Understanding of large cloud service providers hosted in geographically dispersed data centers

What You'll Learn

Working knowledge of building large-scale systems

Show more

Course Content

1.

Prologue

Get familiar with core system design principles, case studies, and critical evaluation techniques.
2.

File Systems

Look at the role and evolution of distributed file systems for scalable data management.
3.

Google File System (GFS)

Examine the Google File System's design for scalability, performance, and fault tolerance in distributed environments.
4.

Google Colossus File System

Break down the steps to Colossus's scalability, low-latency, and enhanced control in data management.
5.

Facebook's Tectonic File System

Consolidate storage resources and ensure scalability, efficiency, and performance isolation in advanced systems.
6.

Databases

1 Lesson

Investigate the evolution and trade-offs in distributed database systems like Bigtable, Megastore, and Spanner.
7.

Google Bigtable

7 Lessons

Piece together the parts of Google's Bigtable, focusing on its data model, architecture, and design refinements.
8.

Google Megastore

6 Lessons

Learn how to use Megastore for scalable, reliable, and ACID-compliant cloud storage.
9.

Google Spanner

9 Lessons

Look at Google Spanner’s unique combination of SQL consistency, NoSQL scalability, and global performance.
10.

Key-value Stores

1 Lesson

Examine key-value stores' role in distributed systems and their foundational impact on NoSQL databases.
11.

Many-core Key-value Store

5 Lessons

Break down the steps to design an efficient, power-saving many-core key-value store system
12.

Scaling Memcache

7 Lessons

Solve problems in scaling Memcache, managing data replication, performance optimization, and consistency.
13.

SILT

12 Lessons

Investigate optimizing key-value stores for efficient resource use, low latency, and scalability.
14.

Amazon DynamoDB

8 Lessons

Build on DynamoDB's scalability, flexible schemas, and robust high availability mechanisms.
15.

Concurrency Management

1 Lesson

Get familiar with managing concurrency using locks and service systems for operational consistency.
16.

Two-phase Locking (2PL)

3 Lessons

Unpack the core of Two-Phase Locking (2PL), ensuring serializability while addressing deadlocks and performance issues.
17.

Google Chubby Locking Service

8 Lessons

Examine Chubby's innovative, robust design for distributed systems, enhancing fault tolerance, replication, and client coordination.
18.

ZooKeeper

5 Lessons

Break down complex ideas of ZooKeeper's architecture, primitives, and performance in distributed systems.
19.

Big Data Processing: Batch to Stream Processing

1 Lesson

Take a closer look at big data systems like MapReduce, Spark, and Kafka.
20.

MapReduce

8 Lessons

See how it works to streamline parallel data processing, fault tolerance, and scalability using MapReduce.
21.

Spark

10 Lessons

Master the steps to leverage Spark's in-memory computation for scalable, low-latency data processing.
22.

Kafka

8 Lessons

Learn how to use Kafka for efficient, scalable, and reliable real-time data streaming.
23.

Consensus

1 Lesson

Look at essential consensus algorithms for fault-tolerant distributed systems design.
24.

Understanding Consensus: Two Generals, FLP, & Byzantine Generals

4 Lessons

Examine consensus challenges in distributed systems, including the Two Generals, FLP, and Byzantine Generals problems.
25.

Two-phase Commit

4 Lessons

Grasp the fundamentals of the Two-Phase Commit protocol for ensuring distributed transaction consistency.
26.

State Machine Replication

10 Lessons

Take a closer look at replicating state machines for fault tolerance, coordinated requests, and fault-tolerant outputs.
27.

Paxos

6 Lessons

See how Paxos maintains consensus in distributed systems, addressing safety, liveness, and fault tolerance.
28.

Raft

8 Lessons

Piece together the parts of the Raft algorithm, ensuring consistent, reliable distributed systems.
29.

Epilogue

1 Lesson

Stay updated on system design, apply knowledge in real-world scenarios, and continue learning.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor