Grokking the Principles and Practices of Advanced System Design

This course will get you grokking system design and ace the advanced system design interview in no time!

Advanced

158 Lessons

20h

Certificate of Completion

This course will get you grokking system design and ace the advanced system design interview in no time!

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 teaches you how large, real-world systems are built and operated to meet strict service-level agreements. You’ll learn the many building blocks of a modern system’s design by picking and combining the right pieces and understanding the trade-offs between them. 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 a...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

See more

Course Content

1

Prologue

This chapter sets the stage for the course, emphasizing learning from historical systems and balancing innovation with established design practices.
2

File Systems

This chapter sets the stage for exploring distributed file systems, focusing on advancements in data management with systems like GFS, Colossus, and Tectonic.
3

Google File System (GFS)

This chapter covers the Google File System (GFS), focusing on efficient management of large data files with scalability, fault tolerance, and high throughput.
4

Google Colossus File System

This chapter covers Colossus, which improves scalability and performance over GFS using a distributed metadata model for better data management and low latency.
5

Facebook's Tectonic File System

This chapter discusses Tectonic File System, providing scalable storage with performance isolation and optimized resource management for diverse workloads.
6

Databases

1 Lesson

This chapter covers the evolution from relational to NoSQL databases, highlighting the balance between scalability, availability, and consistency.
7

Google Bigtable

7 Lessons

This chapter covers Bigtable, a scalable storage solution for managing large datasets, enhancing performance and availability with its unique design.
8

Google Megastore

6 Lessons

This chapter covers Megastore, blending NoSQL scalability with relational features for high availability, ACID transactions, and optimized cloud performance.
9

Google Spanner

9 Lessons

This chapter covers Google Spanner, combining relational features with NoSQL scalability for strong consistency, high availability, and global data management.
10

Key-value Stores

1 Lesson

This chapter introduces key-value stores, crucial for caching, NoSQL databases, and enhancing scalability and availability in modern distributed applications.
11

Many-core Key-value Store

5 Lessons

This chapter covers the many-core key-value store, enhancing efficiency and scalability while addressing power consumption and performance challenges.
12

Scaling Memcache

7 Lessons

This chapter explores Memcache scaling strategies, addressing performance, consistency, and network efficiency challenges across various operational levels.
13

SILT

12 Lessons

This chapter covers SILT, which optimizes key-value storage with a multi-store architecture, focusing on memory efficiency, low latency, and data management.
14

Amazon DynamoDB

8 Lessons

This chapter covers DynamoDB, a managed NoSQL service designed for high availability, strong durability, and scalability, meeting diverse data management needs.
15

Concurrency Management

1 Lesson

This chapter introduces concurrency management methods for efficiently handling simultaneous client requests in distributed systems.
16

Two-phase Locking (2PL)

3 Lessons

This chapter covers 2PL, a concurrency control mechanism ensuring data integrity, while addressing challenges like deadlocks and throughput issues.
17

Google Chubby Locking Service

8 Lessons

This chapter covers Chubby, a distributed locking service that enhances coordination, availability, and fault tolerance in Google’s systems with robust design.
18

ZooKeeper

5 Lessons

This chapter covers ZooKeeper, a coordination system for distributed environments, offering efficient resource management and high availability.
19

Big Data Processing: Batch to Stream Processing

1 Lesson

This chapter explores the evolution and significance of big data processing systems like MapReduce, Spark, and Kafka in data handling and management.
20

MapReduce

8 Lessons

This chapter covers MapReduce, which simplifies processing large datasets with a user-friendly model that enables efficient parallelization and fault tolerance.
21

Spark

10 Lessons

This chapter covers Spark's architecture, focusing on in-memory processing, RDDs, and features for low latency and fault tolerance.
22

Kafka

8 Lessons

This chapter introduces Kafka, a powerful messaging system for real-time event streaming, known for high scalability, efficiency, and reliable data delivery.
23

Consensus

1 Lesson

This chapter introduces consensus in distributed systems, covering algorithms like Paxos and Raft, and key concepts like FLP and Byzantine faults.
24

Understanding Consensus: Two Generals, FLP, & Byzantine Generals

4 Lessons

This chapter explores consensus challenges in distributed systems, focusing on the Two Generals problem, FLP impossibility, and Byzantine Generals problem.
25

Two-phase Commit

4 Lessons

This chapter explains 2PC, a consensus protocol to ensure atomicity in distributed transactions by coordinating across nodes and handling failure challenges.
26

State Machine Replication

10 Lessons

This chapter covers State Machine Replication, which ensures fault tolerance by using replicated state machines to maintain consistency despite failures.
27

Paxos

6 Lessons

This chapter explores the Paxos consensus algorithm, detailing its design, operation, and use in achieving reliable distributed consensus.
28

Raft

8 Lessons

This chapter covers Raft, a consensus algorithm ensuring consistency and fault tolerance through leader election, log replication, and cluster management.
29

Epilogue

1 Lesson

This chapter concludes the course by emphasizing applying system design principles to real-world challenges while encouraging ongoing exploration and 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

Looking for something else?