I modelli di consistenza definiscono garanzie su quando e come gli aggiornamenti dei dati diventano visibili in un sistema distribuito — da consistenza forte (tutti vedono i dati più recenti immediatamente) a consistenza eventuale (gli aggiornamenti si propagano nel tempo). La scelta comporta compromessi con la disponibilità e le prestazioni.
Consistenza forte vs eventuale
STRONG CONSISTENCY → every read returns the MOST RECENT write (all nodes agree immediately):
✓ simple to reason about; always correct/current data
✗ requires coordination → higher latency, lower availability (especially during partitions)
→ for: data that must be correct/current (financial balances, inventory, bookings)
EVENTUAL CONSISTENCY → updates propagate over time; reads MAY return stale data briefly,
but all nodes CONVERGE eventually:
✓ high availability, low latency, scalable
✗ reads can be stale temporarily (must tolerate this)
→ for: data where brief staleness is OK (social feeds, likes, view counts, caches)
