Timeliness and Integrity

Summary: A distinction between the temporal aspect of consistency (timeliness) and the absence of corruption or loss in the data system (integrity).

Sources: chapter12

Last updated: 2026-04-18


In many discussions about consistency, it is helpful to distinguish between two related but different goals: timeliness and integrity. While integrated database systems try to provide both, unbundled or asynchronous systems make the distinction more explicit (source: chapter12).

Definitions

  • Timeliness: Ensuring that users observe the system in an up-to-date state. Violations of timeliness lead to “eventual consistency” (e.g., seeing a stale version of a page). These issues are usually temporary and resolved by waiting (source: chapter12).
  • Integrity: The absence of corruption, data loss, or contradictory/false data. Violations of integrity lead to “perpetual inconsistency”—a permanent state where the data is incorrect (source: chapter12).

Importance

For most applications, integrity is significantly more critical than timeliness. For example, on a bank statement, it is acceptable if a transaction made in the last 24 hours does not yet appear (a timeliness violation), but it is unacceptable if the transaction is recorded with the wrong amount or missing altogether (an integrity violation) (source: chapter12).

Achieving Integrity without Coordination

Strong integrity guarantees can be achieved in asynchronous dataflow systems by:

  • Using immutable event logs as the source of record.
  • Making derivation functions deterministic and repeatable.
  • Passing unique request IDs to ensure idempotence and suppress duplicates (source: chapter12).