Che cos’è il terorema CAP dei DBMS in informatica?

Che cos’è il terorema CAP dei DBMS in informatica?

Il teorema CAP per i DBMS è stato pensato inizialmente da Eric A. Brewer (da cui il nome di Teorema di Brewer), fondatore di Inktomi e chief scientist di Yahoo!, docente di Informatica presso UC Berkeley. In particolare questo teorema afferma che per un sistema informatico distribuito è impossibile garantire tutte e tre le seguenti tre garanzie.

Che cos'è il terorema CAP dei DBMS in informatica
Che cos’è il terorema CAP dei DBMS in informatica?
Coerenza

Un sistema è completamente coerente quando è in grado di garantire che, una volta memorizzato un nuovo stato nel sistema, questo è utilizzato in ogni operazione successiva fino alla prossima modifica dello stesso. Quindi, tutte le richieste effettuate tra uno stato e quello successivo, forniscono il medesimo risultato.

Disponibilità

Un sistema è completamente disponibile quando è sempre in grado di soddisfare le varie richieste oppure erogare i propri servizi.

Tolleranza alle partizioni

La tolleranza alle partizioni è definita come la proprietà di un sistema di continuare a funzionare correttamente anche in presenza di una serie di fallimenti dell’infrastruttura, fino a che l’intero network fallisca.

Infine, le soluzioni che in generale prevedono una configurazione in cui un nodo agisce come master e gli altri come slave, ad esempio MongoDB, HBase, e Redis, garantiscono una elevata coerenza e sono molto tolleranti alle partizioni. Infatti i dati sono mantenuti in maniera coerente in tutti i nodi del cluster, e inoltre viene garantita la tolleranza partizioni evitando che i dati possano desincronizzarsi. Altre soluzioni NoSQL, per esempio Cassandra e CouchDB, garantiscono invece una continua disponibilità e la piena tolleranza alle partizioni. Infatti i nodi rimangono sempre online anche quando momentaneamente non lavorano e sarà il processo a risincronizzare i dati e risolvere eventuali conflitti.

Precedente Che cosa sono le proprietà ACID dei DBMS in informatica? Successivo Cos'è il metodo PRINCE2 e la differenza con ITIL

Lascia un commento

*