Explore the Library
Home › Course › Scalability vs Consistency Balance
Core Principles

Scalability vs Consistency Balance

Explain how scalability and consistency interact, and choose the right trade-off for the use case.

Scalability vs Consistency Balance

Scalability measures how well a system handles increased load, often improved by distribution and parallelism. Consistency ensures data remains accurate and predictable across nodes. Tight consistency, like strict linearizability, often requires coordination that hinders scalability. Understanding this inverse relationship helps avoid forcing consistency where it degrades throughput.

Start by identifying the data's access pattern and correctness requirements. For user session state, strong consistency may be acceptable at small scale. For high-volume logs or feeds, eventual consistency with conflict resolution may offer better scalability and resilience. Define the acceptable level of staleness or ambiguity in outcomes for your domain.

Design around the critical path: use consistency where users directly perceive inconsistency (e.g., payment confirmation), and relax it in background or auxiliary paths (e.g., recommendation caches). Implement mechanisms like vector clocks or CRDTs where conflict resolution must be automated. Always validate trade-offs under realistic load and failure conditions.

Key points

  • Scalability and consistency often trade off against each other.
  • Match consistency level to data's correctness requirements.
  • Relax consistency where users cannot observe or tolerate delays.

Check yourself

In which scenario is strong consistency mostJustifiable?
What is a common way to improve scalability while accepting relaxed consistency?

Next lesson: Defining Reliability Thresholds →