CompTIA DataSys+ (DS0-001)Database DeploymentMedium

A database administrator is deploying a new database server for a critical financial application. The application requires extremely low latency for read operations and must guarantee that data written by one transaction is immediately visible to subsequent transactions globally, even in a distributed setup. Which of the following consistency models is LEAST suitable for this requirement?

  1. ARead-Your-Writes Consistency
  2. BCausal Consistency
  3. CStrong Consistency
  4. DEventual Consistency
Show answer & explanation

Correct answer: D. Eventual Consistency

Eventual consistency, while offering high availability and partition tolerance, does not guarantee that a read will return the most recent write immediately. There can be a delay before all replicas converge to the same state, which violates the requirement for data to be 'immediately visible to subsequent transactions globally'. The other options provide stronger guarantees.

Why the other options are wrong

  • A. Read-your-writes consistency guarantees that a transaction can read its own prior writes, which is a stronger guarantee than eventual consistency, though not as strong as strong consistency globally.
  • B. Causal consistency ensures that if one event causally affects another, then the causally affected event is observed after the cause, which is a stronger guarantee than eventual consistency.
  • C. Strong consistency guarantees that any read operation returns the most recent write, fulfilling the requirement.

Eventual Consistency

A consistency model in distributed systems where, if no new updates are made, all replicas of a data item will eventually converge to the same value, but there's no guarantee of immediate consistency.

  • Prioritizes availability and partition tolerance over immediate consistency.
  • Suitable for applications where minor data staleness is acceptable.
  • Common in NoSQL databases.

Memory trick: Immediate visibility needs strong, not eventual, consistency.

More Database Deployment questions