Qual è l'eventuale coerenza?

La coerenza eventuale è un modello di programmazione in cui i programmatori sostengono che per un periodo di tempo sufficientemente lungo e senza modifiche a un sistema, la versione corrente di un particolare programma alla fine si distribuirà fino a quando ogni replica del programma non sarà coerente. Il concetto di eventuale coerenza viene utilizzato in metodi di programmazione come la replicazione ottimistica, la memoria condivisa distribuita e le transazioni distribuite. Per quanto riguarda i database, l'eventuale coerenza viene raggiunta attraverso un processo in tre fasi. Innanzitutto, le informazioni distribuite sono rese disponibili sul sistema; Questo è seguito da uno stato morbido, in cui diversi utenti potrebbero ancora lavorare con diverse versioni dei dati; e infine la coerenza è raggiunta e tutti i computer hanno accesso a dati identici.

Uno dei modi più visibili in cui viene applicata la coerenza eventuale ha a che fare con gli aggiornamenti del software distribuiti online. Per i primi secondi dopo il rilascio di un aggiornamento, nessuno lo avrà; non abbastanza tiIo è passato agli utenti del software per scaricare e installare l'aggiornamento. Questo è lo stato "disponibile"; L'aggiornamento esiste, ma deve ancora essere distribuito. Nel tempo, poiché gli utenti scaricano l'aggiornamento, alcuni lo avranno e alcuni no. Dopo che è trascorso abbastanza tempo, tuttavia, tutti coloro che utilizzano il software saranno aggiornati all'ultima versione. Questa è la premessa dietro lo stato dell'eventuale coerenza: dato abbastanza tempo, qualsiasi aggiornamento si propagerà completamente in tutto il sistema.

Poiché il sistema lavora verso l'eventuale coerenza, i conflitti sono inevitabili. Questi si verificano quando la versione del programma o le informazioni attualmente sul computer non corrispondono alla "versione del modello" del programma. I programmi sono generalmente istituiti per riconoscere tali conflitti e gestirli. Quando i file su un computer specifico sono più vecchi dell'ultima versione del modello del software o dei dati in questione, il sistema di solito richiederàl'utente per avviare un aggiornamento per risolvere la disparità.

Sono disponibili tre possibili metodi per effettuare queste risoluzioni: riparazione di scrittura, riparazione di lettura e riparazione asincrona. Tutti questi metodi portano la versione del programma o dei dati in linea con il modello coerente. La differenza chiave tra questi ha a che fare con il modo in cui il sistema trasforma l'operazione di riparazione. Tutte queste operazioni hanno vantaggi e svantaggi.

In una riparazione di scrittura, le modifiche al codice memorizzate sul computer vengono apportate durante un'operazione di scrittura, quando il computer sta già scrivendo qualcosa sul disco rigido del sistema. Ciò ripara l'incoerenza, mettendo in linea il programma o i dati con il modello, ma rallenta anche temporaneamente l'operazione di scrittura originale. Per una riparazione di lettura, l'operazione correttiva si verifica durante un ciclo di lettura dal disco rigido. Questo, a sua volta, rallenta l'operazione di lettura. Nella riparazione asincrona, la riparazione avviene quando si verifica né un'operazione di lettura né scrittura, portando al CONsumo di cicli inattivi sulla CPU.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?