CLOSE
Updated on 17 Jun, 20254 mins read 17 views

When discussing system design, several key characteristics emerge as essential for building robust, efficient, and adaptable systems.

Here's an overview of the most important ones:

1 Scalability

Definition: The ability of a system to handle increased loads – be it more users, data, or transactions – without sacrificing performance.

It can be done by various ways:

  • Horizontal scaling: Adding more machines.
  • Vertical scaling: Enhancing the capacity of a single machine.

2 Reliability

Definition: The system's ability to function correctly and consistently over time, even in the presence of faults or failure of any component.

It can be done through various ways:

  • Robust error handling.
  • Minimal downtime and quick recovery from failures.

3 Availability

Definition: The degree to which a system remains operational and accessible when needed. It is represented in 9's for example, 99.90% percent availability means downtime of some hours per year.

Key Points:

  • Use of redundant components.
  • Failover mechanisms to ensure continuous service even during partial system outages.

4 Efficiency

Definition: How efficiently a system processes tasks under various loads.

It is primarily measured by:

  • Latency: Delay in getting the first response.
  • Throughput: Number of operations handled in a given time.