Middle
Wat is de CAP-theorema?
sobes.tech AI
Antwoord van AI
De CAP-theorema (ook bekend als Brewer's Theorem) stelt dat het in een gedistribueerd computersysteem onmogelijk is om gelijktijdig te garanderen:
- Consistentie (Consistency): Alle knooppunten zien dezelfde gegevens op hetzelfde moment. Elke leesoperatie krijgt de laatst geschreven gegevens.
- Beschikbaarheid (Availability): Elke aanvraag krijgt een niet-lege reactie, ongeacht de toestand van andere knooppunten. Het systeem is altijd beschikbaar voor lees- en schrijfoperaties.
- Partition Tolerance: Het systeem blijft functioneren ondanks het verlies van communicatie tussen knooppunten (netwerkpartitionering).
Bij netwerkpartitionering ($P$) moet het systeem kiezen tussen consistentie ($C$) en beschikbaarheid ($A$).
- CA-systeem: Veronderstelt dat er geen netwerkpartitionering is. Bij optreden wordt het systeem onbereikbaar of inconsistent. Voorbeelden: klassieke relationele databases met synchronisatie-replicatie binnen een lokaal netwerk.
- CP-systeem: Offer de beschikbaarheid op ten gunste van consistentie tijdens een netwerkpartitionering. Als een knooppunt geen contact kan maken met de meerderheid, stopt het met antwoorden om de gegevensconsistentie te garanderen. Voorbeelden: Zookeeper, etcd, gedistribueerde systemen die consensusprotocollen zoals Paxos of Raft gebruiken.
- AP-systeem: Offer de consistentie op ten gunste van beschikbaarheid tijdens een netwerkpartitionering. Het systeem blijft reageren op verzoeken, maar kan verouderde of conflicterende gegevens leveren. Uiteindelijk wordt consistentie bereikt (eventual consistency). Voorbeelden: DynamoDB, Cassandra, MongoDB (standaard in sommige configuraties).
De CAP-theorema geldt voor gedistribueerde gegevensopslagsystemen. In echte systemen is het vaak nodig om compromissen te sluiten en het model te kiezen dat het beste past bij de specifieke eisen van de toepassing.