Unanimity multiplies unavailability
Atomic commit needs every participant up; consensus needs only a majority. Replication improves the base, not the exponent.
- Availability
- availability of one participant
- Participants
- participants that must all be up
How it behaves
One input on the horizontal axis, the others held fixed.
Data table
| Participants n | series | Availability |
|---|---|---|
| 1 | each 99.9% | 99.9% |
| 1.05 | each 99.9% | 99.9% |
| 1.1 | each 99.9% | 99.9% |
| 1.16 | each 99.9% | 99.9% |
| 1.22 | each 99.9% | 99.9% |
| 1.28 | each 99.9% | 99.9% |
| 1.34 | each 99.9% | 99.9% |
| 1.41 | each 99.9% | 99.9% |
| 1.48 | each 99.9% | 99.9% |
| 1.55 | each 99.9% | 99.8% |
| 1.63 | each 99.9% | 99.8% |
| 1.71 | each 99.9% | 99.8% |
| 1.8 | each 99.9% | 99.8% |
| 1.89 | each 99.9% | 99.8% |
| 1.98 | each 99.9% | 99.8% |
| 2.08 | each 99.9% | 99.8% |
| 2.19 | each 99.9% | 99.8% |
| 2.3 | each 99.9% | 99.8% |
| 2.41 | each 99.9% | 99.8% |
| 2.53 | each 99.9% | 99.7% |
| 2.66 | each 99.9% | 99.7% |
| 2.79 | each 99.9% | 99.7% |
| 2.93 | each 99.9% | 99.7% |
| 3.08 | each 99.9% | 99.7% |
| 3.23 | each 99.9% | 99.7% |
| 3.4 | each 99.9% | 99.7% |
| 3.57 | each 99.9% | 99.6% |
| 3.74 | each 99.9% | 99.6% |
| 3.93 | each 99.9% | 99.6% |
| 4.13 | each 99.9% | 99.6% |
| 4.34 | each 99.9% | 99.6% |
| 4.55 | each 99.9% | 99.5% |
| 4.78 | each 99.9% | 99.5% |
| 5.02 | each 99.9% | 99.5% |
| 5.27 | each 99.9% | 99.5% |
| 5.54 | each 99.9% | 99.4% |
| 5.81 | each 99.9% | 99.4% |
| 6.11 | each 99.9% | 99.4% |
| 6.41 | each 99.9% | 99.4% |
| 6.73 | each 99.9% | 99.3% |
| 7.07 | each 99.9% | 99.3% |
| 7.43 | each 99.9% | 99.3% |
| 7.8 | each 99.9% | 99.2% |
| 8.19 | each 99.9% | 99.2% |
| 8.6 | each 99.9% | 99.1% |
| 9.03 | each 99.9% | 99.1% |
| 9.48 | each 99.9% | 99.1% |
| 9.96 | each 99.9% | 99% |
| 10.5 | each 99.9% | 99% |
| 11 | each 99.9% | 98.9% |
| 11.5 | each 99.9% | 98.9% |
| 12.1 | each 99.9% | 98.8% |
| 12.7 | each 99.9% | 98.7% |
| 13.4 | each 99.9% | 98.7% |
| 14 | each 99.9% | 98.6% |
| 14.7 | each 99.9% | 98.5% |
| 15.5 | each 99.9% | 98.5% |
| 16.2 | each 99.9% | 98.4% |
| 17.1 | each 99.9% | 98.3% |
| 17.9 | each 99.9% | 98.2% |
| 18.8 | each 99.9% | 98.1% |
| 19.7 | each 99.9% | 98% |
| 20.7 | each 99.9% | 97.9% |
| 21.8 | each 99.9% | 97.8% |
| 22.9 | each 99.9% | 97.7% |
| 24 | each 99.9% | 97.6% |
| 25.2 | each 99.9% | 97.5% |
| 26.5 | each 99.9% | 97.4% |
| 27.8 | each 99.9% | 97.3% |
| 29.2 | each 99.9% | 97.1% |
| 30.7 | each 99.9% | 97% |
| 32.2 | each 99.9% | 96.8% |
| 33.8 | each 99.9% | 96.7% |
| 35.5 | each 99.9% | 96.5% |
| 37.3 | each 99.9% | 96.3% |
| 39.2 | each 99.9% | 96.2% |
| 41.1 | each 99.9% | 96% |
| 43.2 | each 99.9% | 95.8% |
| 45.3 | each 99.9% | 95.6% |
| 47.6 | each 99.9% | 95.3% |
| 50 | each 99.9% | 95.1% |
| 1 | each 99.99% | 100% |
| 1.05 | each 99.99% | 100% |
| 1.1 | each 99.99% | 100% |
| 1.16 | each 99.99% | 100% |
| 1.22 | each 99.99% | 100% |
| 1.28 | each 99.99% | 100% |
| 1.34 | each 99.99% | 100% |
| 1.41 | each 99.99% | 100% |
| 1.48 | each 99.99% | 100% |
| 1.55 | each 99.99% | 100% |
| 1.63 | each 99.99% | 100% |
| 1.71 | each 99.99% | 100% |
| 1.8 | each 99.99% | 100% |
| 1.89 | each 99.99% | 100% |
| 1.98 | each 99.99% | 100% |
| 2.08 | each 99.99% | 100% |
| 2.19 | each 99.99% | 100% |
| 2.3 | each 99.99% | 100% |
| 2.41 | each 99.99% | 100% |
| 2.53 | each 99.99% | 100% |
| 2.66 | each 99.99% | 100% |
| 2.79 | each 99.99% | 100% |
| 2.93 | each 99.99% | 100% |
| 3.08 | each 99.99% | 100% |
| 3.23 | each 99.99% | 100% |
| 3.4 | each 99.99% | 100% |
| 3.57 | each 99.99% | 100% |
| 3.74 | each 99.99% | 100% |
| 3.93 | each 99.99% | 100% |
| 4.13 | each 99.99% | 100% |
| 4.34 | each 99.99% | 100% |
| 4.55 | each 99.99% | 100% |
| 4.78 | each 99.99% | 100% |
| 5.02 | each 99.99% | 99.9% |
| 5.27 | each 99.99% | 99.9% |
| 5.54 | each 99.99% | 99.9% |
| 5.81 | each 99.99% | 99.9% |
| 6.11 | each 99.99% | 99.9% |
| 6.41 | each 99.99% | 99.9% |
| 6.73 | each 99.99% | 99.9% |
| 7.07 | each 99.99% | 99.9% |
| 7.43 | each 99.99% | 99.9% |
| 7.8 | each 99.99% | 99.9% |
| 8.19 | each 99.99% | 99.9% |
| 8.6 | each 99.99% | 99.9% |
| 9.03 | each 99.99% | 99.9% |
| 9.48 | each 99.99% | 99.9% |
| 9.96 | each 99.99% | 99.9% |
| 10.5 | each 99.99% | 99.9% |
| 11 | each 99.99% | 99.9% |
| 11.5 | each 99.99% | 99.9% |
| 12.1 | each 99.99% | 99.9% |
| 12.7 | each 99.99% | 99.9% |
| 13.4 | each 99.99% | 99.9% |
| 14 | each 99.99% | 99.9% |
| 14.7 | each 99.99% | 99.9% |
| 15.5 | each 99.99% | 99.8% |
| 16.2 | each 99.99% | 99.8% |
| 17.1 | each 99.99% | 99.8% |
| 17.9 | each 99.99% | 99.8% |
| 18.8 | each 99.99% | 99.8% |
| 19.7 | each 99.99% | 99.8% |
| 20.7 | each 99.99% | 99.8% |
| 21.8 | each 99.99% | 99.8% |
| 22.9 | each 99.99% | 99.8% |
| 24 | each 99.99% | 99.8% |
| 25.2 | each 99.99% | 99.7% |
| 26.5 | each 99.99% | 99.7% |
| 27.8 | each 99.99% | 99.7% |
| 29.2 | each 99.99% | 99.7% |
| 30.7 | each 99.99% | 99.7% |
| 32.2 | each 99.99% | 99.7% |
| 33.8 | each 99.99% | 99.7% |
| 35.5 | each 99.99% | 99.6% |
| 37.3 | each 99.99% | 99.6% |
| 39.2 | each 99.99% | 99.6% |
| 41.1 | each 99.99% | 99.6% |
| 43.2 | each 99.99% | 99.6% |
| 45.3 | each 99.99% | 99.5% |
| 47.6 | each 99.99% | 99.5% |
| 50 | each 99.99% | 99.5% |
Worked examples, recomputed
Every number the mechanisms quote for this relationship is recomputed from it, so none of them disagrees with it.
- ten participants at 99.9% → ≈ 99.0%
- five at 99.9% → ≈ 99.5%
- ≈ 44 hours a year unavailable, against ≈ 9 for one
- three nines per shard, 100 shards → ≈ 90%
- 30 hard dependencies at 99.9% → ≈ 97%
- a gang over 4 racks fails with ≈ 3.9%
- 100 spot nodes at 5% per hour → 0.6% survive the hour
- first interruption after ≈ 11.7 minutes
Where it appears
Each mechanism states it in its own names. The general symbol each name stands for is shown with it.
- Transactions & Concurrency Control
What happens when many users change the same data at the same time, and how do we keep the result correct?
- Distributed Systems Coordination
Who is allowed to decide, and how does everyone else learn the decision without asking?
p (shard availability) = · N (shards) =
- Emergent Failure Dynamics
What happens when nothing is broken, every component is healthy, and the system's own response to stress makes the stress worse?
a = · N (hard dependencies) =
- Cost Mechanics
What is metered, and what is the smallest increment you are charged for?
1 − p (survives the hour) = · n (nodes) =