Il teorema CAP è un principio fondamentale nel design del sistema distribuito, affermando che un sistema può garantire solo due delle seguenti tre proprietà simultaneamente: Consistency, Availability e Partition Tolerance. Capire come questi trade-off siano gestiti in scenari reali aiuta a progettare sistemi robusti.

Concetti fondamentali del teorema della PAC

La coerenza garantisce che tutti i nodi vedano gli stessi dati allo stesso tempo. La disponibilità garantisce che ogni richiesta riceva una risposta, indipendentemente dallo stato del sistema. La tolleranza di separazione consente al sistema di continuare a funzionare nonostante i guasti di rete che si dividono il sistema in parti.

Case study: Sistema bancario

Nelle applicazioni bancarie, la coerenza è fondamentale per prevenire discrepanze nei bilanci degli account. Durante le partizioni di rete, questi sistemi spesso privilegiano la coerenza sulla disponibilità, rifiutando le transazioni fino a quando la sincronizzazione dei dati è completa.

Case study: Piattaforma dei social media

Le piattaforme dei social media spesso privilegiano la disponibilità per garantire che gli utenti possano pubblicare e visualizzare i contenuti senza interruzioni. Durante i problemi di rete, possono accettare temporaneamente i dati inconsistenti, risolvendo i conflitti in seguito.

Design Trade-offs

La progettazione di sistemi distribuiti comporta il bilanciamento di queste proprietà in base alle esigenze delle applicazioni.Gli sviluppatori scelgono di sottolineare la coerenza o la disponibilità durante le partizioni di rete, a seconda della criticità dell'accuratezza dei dati rispetto all'esperienza degli utenti.