Where to Give Priority: Consistency vs Availability

Quick Reference: CAP Theorem | Data Consistency


Quick Reference

System TypePriorityWhyExample
FinancialConsistencyData accuracy criticalBanking, payments
Social MediaAvailabilityUser experience criticalTwitter, Facebook
E-commerceBoth (hybrid)Different for different dataAmazon (inventory CP, catalog AP)
GamingAvailabilityLow latency criticalReal-time games

Clear Definition

This guide helps you decide when to prioritize Consistency vs Availability in your system design. The choice depends on your use case, user expectations, and business requirements. Many systems use a hybrid approach, prioritizing consistency for some data and availability for others.

πŸ’‘ Key Insight: Most real-world systems don't choose one exclusively. They use different strategies for different types of data (polyglot consistency).


Decision Framework

When to Prioritize Consistency (CP)

Choose CP when:

  1. Data Accuracy Critical

    • Financial transactions
    • Inventory management
    • Medical records
    • Impact: Wrong data = serious consequences
  2. Users Expect Accuracy

    • Banking balances
    • Stock prices
    • Reservation systems
    • Impact: Users trust system accuracy
  3. Can Tolerate Downtime

    • Internal systems
    • Batch processing
    • Impact: Short downtime acceptable

When to Prioritize Availability (AP)

Choose AP when:

  1. User Experience Critical

    • Social media feeds
    • Content delivery
    • Search results
    • Impact: Stale data acceptable, downtime not
  2. High Traffic

    • Millions of users
    • Global distribution
    • Impact: Must stay available
  3. Stale Data Acceptable

    • User profiles
    • Recommendations
    • Analytics
    • Impact: Eventual consistency OK

Hybrid Approaches

Example: E-commerce Platform

CP (Consistency):

  • Inventory levels (prevent overselling)
  • Payment processing (accuracy critical)
  • Order status (must be accurate)

AP (Availability):

  • Product catalog (stale data OK)
  • User reviews (eventual consistency)
  • Recommendations (approximate OK)

Example: Social Media Platform

CP (Consistency):

  • User authentication (security critical)
  • Direct messages (must be accurate)
  • Payment/subscription data

AP (Availability):

  • News feeds (stale OK)
  • Likes/comments (eventual consistency)
  • Trending topics (approximate OK)

Best Practices

  1. Analyze Data Types: Different data needs different consistency
  2. User Expectations: What do users expect?
  3. Business Impact: What happens if data is wrong vs unavailable?
  4. Hybrid Strategy: Use both CP and AP for different data
  5. Monitor: Track consistency and availability metrics

Common Pitfalls

⚠️ Common Mistake: Choosing one strategy for entire system.

Solution: Use hybrid approach. Different data needs different consistency.

⚠️ Common Mistake: Not considering user expectations.

Solution: Understand what users expect. Banking = accuracy, Social media = availability.


Interview Tips

🎯 Interview Focus: Show decision-making process.

Common Questions

  • "When would you prioritize consistency over availability?"
  • "Design a system that uses both CP and AP strategies."
  • "How would you handle consistency in a social media platform?"

Quick Reference Summary

Prioritize Consistency: When data accuracy critical (financial, inventory, medical).

Prioritize Availability: When user experience critical (social media, content, search).

Hybrid Approach: Most systems use bothβ€”CP for critical data, AP for high-volume data.


Previous Topic: CAP Theorem ←

Back to: Step 3 Overview | Main Index