System Design
Explore a preview of a System Design Curriculum. To interact with nodes, view detailed descriptions, and expand the map, open this curriculum in the interactive workspace.
Core Concepts in System Design
The curriculum framework above covers the following key areas. Open the workspace to dive deeper into any of these concepts:
- Requirements Gathering
- Functional Requirements
- Non Functional Requirements
- Capacity Estimation
- High Level Architecture
- Service Decomposition
- Data Modeling
- API Design
- Scalability Patterns
- Storage Choices
- Communication Patterns
- Load Balancing
- Caching
- Relational Databases
- NoSQL Databases
- REST and RPC
- Asynchronous Messaging
- Replication
- Consistency and Transactions
- Versioning and Pagination
- Fault Tolerance
- Observability
- Monitoring and Alerting
- Logging and Tracing