• For each shard/partition, having a single copy has a few disadvantages
    • A single instance can be easily overwhelmed by a large number of requests
    • A single instance can be close to some users but far from others, who will experience greater latencies.
    • A single instance provides low overall availability

  • The improvement is to add copies/replicas, in different availability zones
  • need to consider replicas consistent(accuracy, latency, availability)
    • Example DynamoDB, only two levels
      1. Strong Consistency - A read is guaranteed to return the latest committed write
        • Accuracy
        • increase latency
        • Reduce availability during failure
      2. Eventual Consistency - Reads may temporarily return old data right after a write.
        • Latency
        • Availability: keeps working even if some replicas are behind