Foundational Topics in System Design


Introduction

What is System Design?

Databases

Database Indexes

Scaling issues with RDBMS

NoSQL Databases

SQL vs NoSQL

Database Sharding

Locking

Distributed Locks

Optimistic and Pessimistic Locking

Distributed Systems

Distributed Transactions

CAP Theorem

Consistency patterns

Caching

What is caching?

Distributed Caching

Scaling

Horizontal and Vertical Scaling

Load Balancing

Consistent Hashing

Asynchronism

PubSub

Message Queues

System Design and Architecture


Social Platforms

Instagram - Feed

Tinder - Architecture

Twitter - Architecture

Instagram - Architecture

Twitter - Trending Topics

Whatsapp - Architecture

Search Engines

Typeahead Search

Text Search Engine - Design

Mobility Systems

Uber - Architecture

Streaming Systems

Netflix - Architecture

Platform Services

API Rate Limiter

Distributed Cache

Garbage Collector

Blob Storage

S3 - Architecture

Dropbox - Architecture

Reservation and Ticketing Systems

BookMyShow - Architecture

Utility Systems

Tiny URL - Architecture

Google Docs - Differential Synchronization

Google Docs - Architecture

PasteBin - Architecture

Online Gaming

Multiplayer Game Backend Design

High Throughput Systems

Stock Exchange - Architecture

Cricbuzz - Architecture



  • Made by Arpit Bhayani © 2021