La consistenza dei dati è il processo di mantenimento dell’uniformità delle informazioni mentre si spostano in una rete e tra le varie applicazioni su un computer. Esistono in genere tre tipi di consistenza dei dati: consistenza del momento, consistenza della transazione e consistenza dell’applicazione. Garantire che una rete di computer abbia tutti e tre gli elementi di coerenza dei dati coperti è il modo migliore per garantire che i dati non vengano persi o danneggiati mentre viaggiano attraverso il sistema. In assenza di consistenza dei dati, non vi sono garanzie che qualsiasi informazione sul sistema sia uniforme su tutta l’ampiezza della rete di computer.
La coerenza puntuale si occupa di garantire che tutti gli elementi di un sistema siano uniformi in un momento specifico. Ciò previene la perdita di dati durante arresti anomali del sistema, arresti impropri e altri problemi sulla rete. Funziona facendo riferimento a pezzi di dati sul sistema tramite timestamp e altri indicatori di coerenza, consentendo al sistema di essere ripristinato in un momento specifico nel tempo con ogni pezzo di dati nella sua posizione originale. Senza coerenza temporale, non ci sarebbe alcuna garanzia che tutte le informazioni su un computer in crash possano essere ripristinate allo stato precedente al crash.
La coerenza della transazione è la coerenza di un dato in una transazione funzionante all’interno del computer. Ad esempio, un programma bancario potrebbe originariamente richiedere il saldo iniziale del conto di un utente finale. Da quel momento in poi, l’intero programma si basa sulla cifra del saldo originale rimanendo coerente nella memoria del programma. Se il saldo originale è di $ 50,000 dollari USA ($ 50,000 USD) e un problema nel sistema lo porta a $ 75,000 USD, il computer non ha consistenza della transazione. Senza consistenza della transazione, nulla di quanto inserito in un programma rimane affidabile.
La coerenza delle applicazioni non è altro che la coerenza delle transazioni tra i programmi. Ad esempio, se il programma bancario comunica con un programma fiscale sul computer, la coerenza dell’applicazione significa che le informazioni in movimento tra i programmi rimarranno nel loro stato originale. Senza la coerenza dell’applicazione, qui sorgono gli stessi problemi che si verificano in caso di coerenza delle transazioni errata: non ci sarà modo di stabilire se un valore inserito nel sistema rimane corretto nel tempo.
Il vantaggio principale nell’assicurare la coerenza dei dati è mantenere l’integrità delle informazioni memorizzate sul computer o attraverso la rete. Senza che tutti e tre i tipi di coerenza lavorino insieme, non è possibile stabilire se i dati archiviati sul computer oggi saranno gli stessi in seguito a un arresto anomalo, un’installazione o un altro evento importante del sistema. Ecco perché mantenere la coerenza è uno degli obiettivi primari di tutti i programmi per computer basati sui dati.