Vortex DSE · interactive demonstration
Order without a clock
Three machines. Two writes to the same key, issued at genuinely the same instant. Which one survives — and should the answer depend on whose clock is wrong?
The clocks
Drag any clock away from true time. Watch which side changes its answer.
Ordered by wall clock
Each write carries the timestamp its own machine produced. The higher timestamp wins.
| Write | Timestamp | Outcome |
|---|
Ordered by counting
No clock is consulted. Each node derives the order from the writes themselves.
| Write | Timestamp | Outcome |
|---|
This page demonstrates a property — that the winner can be made independent of every clock in the system — not a mechanism. The derivation the engine actually uses is not shown here.
Why this matters
Last-write-wins by wall clock is the default in widely deployed systems: Cassandra, DynamoDB global tables, and peer-to-peer document stores among them. When two clocks disagree, the write from the machine that is further ahead survives and the other is discarded — with no error raised anywhere. The cluster stays consistent, stays available, and is quietly wrong.
The usual defence is to make the clocks agree more tightly: NTP, then PTP, then GPS receivers, then atomic clocks. Google's Spanner uses satellite time and atomic clocks in every datacenter, then deliberately waits out the residual uncertainty before committing. That narrows the window. It does not close it, and it costs hardware.
The other option is to stop asking what time it is. If order is generated rather than measured, clock skew has nothing to corrupt: there is no timestamp to compare, so there is no wrong answer to agree on.