Flashcard Deck · 22 cards · Public

System Design - Scalability, Reliability & Distributed Patterns

Master the core principles of System Design, from achieving massive scalability and robust reliability to understanding distributed patterns. This deck covers essential concepts like CAP theorem, load balancing, caching, and microservices, preparing you to build resilient, high-performance applications.

Cards in this deck

(22 cards)

Preview terms and definitions before starting your study session.

#1
Term
What is Latency?
Definition
Latency is the time delay between a user's action (request) and the system's response. Lower latency means a faster, more responsive user experience and is a key performance metric.
#2
Term
What is System Design?
Definition
System Design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements. It's about building robust, scalable, and reliable software solutions.
#3
Term
Define Scalability in System Design.
Definition
Scalability is the ability of a system to handle a growing amount of work (e.g., user requests, data volume) by adding resources, while maintaining performance and responsiveness. It ensures the system can grow with demand.
#4
Term
Explain Vertical Scalability.
Definition
Vertical scalability (scaling up) involves adding more resources (e.g., CPU, RAM, faster disk) to an existing single server or machine. It's simpler to implement but has hardware limits and introduces a single point of failure.
#5
Term
Explain Horizontal Scalability.
Definition
Horizontal scalability (scaling out) involves adding more servers or nodes to a distributed system to share the workload. It's more complex to manage but offers near-limitless growth potential and improved fault tolerance.
#6
Term
What is Reliability in System Design?
Definition
Reliability is the probability that a system will perform its intended function without failure for a specified period under specified conditions. It focuses on minimizing downtime, errors, and data loss.
#7
Term
Define Availability.
Definition
Availability is the proportion of time a system is operational and accessible to users. It's often expressed as a percentage (e.g., 'five nines' for 99.999% availability) and is crucial for user experience.
#8
Term
Define Throughput.
Definition
Throughput is the number of operations, requests, or transactions a system can process per unit of time (e.g., requests per second, messages per minute). Higher throughput indicates greater processing capacity.
Showing 8 of 22 cards in this deck.
Study All Now