Capitolo 12. Forte coerenza
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Come ho descritto nel Capitolo 11, alla fine i database coerenti sono progettati per scalare permettendo ai set di dati di essere partizionati e replicati su più macchine. La scalabilità viene ottenuta a scapito del mantenimento di una forte coerenza dei dati tra le repliche e della possibilità di effettuare scritture in conflitto.
Le conseguenze di questi compromessi sono due. In primo luogo, dopo che un oggetto di dati è stato aggiornato, i diversi client possono vedere il vecchio o il nuovo valore dell'oggetto fino a quando tutte le repliche non convergono sul valore più recente. In secondo luogo, quando più client aggiornano un oggetto in modo simultaneo, l'applicazione è responsabile di garantire che i dati non vadano persi e che lo stato finale dell'oggetto rifletta l'intento delle operazioni di aggiornamento simultanee. A seconda dei requisiti del tuo sistema, la gestione dell'incoerenza e dei conflitti può essere semplice o aggiungere una notevole complessità al codice dell'applicazione.
Un'altra classe di database distribuiti offre un modello alternativo, ovvero i sistemi di dati fortemente coerenti. Conosciuti anche come NewSQL o, più recentemente, SQL distribuito, i sistemi fortemente coerenti cercano di garantire che tutti i client vedano lo stesso valore coerente di un oggetto di dati una volta che ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access