Consistentieniveaus
Consistentieniveaus, of consistency levels, verwijzen naar de garanties die een gedistribueerd systeem biedt over de zichtbaarheid en volgorde van updates. Ze bepalen hoe reads de resultaten van writes weerspiegelen, hoe replicatie- leren zich gedraagt en hoe conflicten worden opgelost. Deze niveaus zijn vooral relevant in databases met meerdere kopieën, caches en berichten- of opslagsystemen die data repliceren over verschillende knooppunten of regio’s.
In de praktijk bepalen consistente niveaus een afweging tussen nauwkeurigheid, latency en beschikbaarheid. Volgens het CAP-theorema
Veelvoorkomende consistente niveaus
- Sterke betrouwbaarheid (linearizability): reads reflecteren onmiddellijk de meest recente write; alle deelnemers zien een uniforme volgorde
- Eindelijke (eventual) consistentie: replicas convergeren na verloop van tijd naar dezelfde waarde wanneer er geen nieuwe
- Causale consistentie: het bestaan van oorzakelijke relaties tussen bewerkingen wordt gerespecteerd; gelinkte acties zien dezelfde volgorde
- Gebonden veroudering (bounded staleness): er is een bekend maximum verschil in tijd of versie tussen replicas.
- Read-your-writes en monotone reads: per cliënt gegarandeerde volgorde, zodat reeds geschreven waarden zichtbaar blijven en toekomstige
Toepassing en implementatie: consistente niveaus worden vaak per operatie of per dataobject ingesteld. Methoden omvatten quorum-architecturen,