Overview
Dive into a comprehensive 45-minute tutorial on essential system design concepts. Explore distributed computing, high availability, reliability, consistency models, scalability techniques, elasticity, redundancy, fault tolerance, replication strategies, database clusters, latency, ACID properties, and sharding approaches. Learn about vertical and horizontal scaling, synchronous and asynchronous replication, and partitioning methods. Gain valuable insights to enhance your backend engineering skills and prepare for system design challenges in software development.
Syllabus
- Intro
- Distributed Computing
- High Availability
- Reliability
- Consistency
- Strong vs. Eventual Consistency
- Scalability
- Vertical Scaling
- Horizontal Scaling
- Elasticity
- Single Point of Failure
- Redundancy
- Fault Tolerance
- Replication
- Database Cluster
- Synchronous Replication
- Asynchronous Replication
- Latency
- ACID
- Sharding
- Vertical Partitioning
- Horizontal Partitioning
- Conclusion
Taught by
Caleb Curry