Hvad er datakonsistens?
Datakonsistens er processen med at holde information ensartet, når den bevæger sig over et netværk og mellem forskellige applikationer på en computer. Der er typisk tre typer datakonsistens: punkt i tidskonsistens, transaktionskonsistens og applikationskonsistens. At sikre, at et computernetværk har alle tre elementer af datakonsistens, er den bedste måde at sikre, at data ikke går tabt eller ødelægges, når de kører gennem systemet. I mangel af datakonsistens er der ingen garantier for, at noget stykke information om systemet er ensartet på tværs af computernetværket.
Punkt i tidskonsistens handler om at sikre, at alle elementer i et system er ensartede på et specifikt tidspunkt. Dette forhindrer tab af data under systemnedbrud, forkert nedlukning og andre problemer på netværket. Det fungerer ved at henvise stykker af data til systemet via tidsstempler og andre markører for konsistens, hvilket giver systemet mulighed for at gendannes til et specifikt tidspunkt med hvert stykke data på det originale sted. Uden punktkonsistens ville der ikke være nogen garanti for, at alle oplysninger på en computer, der går ned, kunne gendannes til dens tilstand før kraschen.
Transaktionskonsistens er konsistensen af et stykke data på tværs af en fungerende transaktion inden for computeren. For eksempel kan et bankprogram oprindeligt anmode om en slutbrugers startkontosaldo. Fra det tidspunkt afhænger hele programmet af, at det oprindelige balancetal forbliver konsistent i programmets hukommelse. Hvis den oprindelige saldo er $ 50.000 US Dollars ($ 50.000 USD), og et problem på systemet ændrer det til $ 75.000 USD, er computeren uden transaktionskonsistens. Uden transaktionskonsistens forbliver intet, der er indgået i et program, pålideligt.
Applikationskonsistens er intet andet end transaktionskonsistens mellem programmer. For eksempel, hvis bankprogrammet kommunikerer med et skatteprogram på computeren, betyder applikationskonsistens, at informationen, der flytter mellem programmerne, forbliver i sin oprindelige tilstand. Uden applikationskonsistens opstår de samme problemer her som under en fejlbehæftet transaktionskonsistens: der vil ikke være nogen måde at fortælle, om en værdi, der indtastes i systemet, forbliver korrekt over tid.
Den primære fordel ved at sikre datakonsistens er at opretholde integriteten af de oplysninger, der er gemt på computeren eller på tværs af netværket. Uden at alle tre typer af konsistens arbejder sammen, kan man ikke se, om de data, der er gemt på computeren i dag, vil være de samme efter et nedbrud, installation eller anden større systembegivenhed. Derfor er opretholdelse af konsistens et af de primære mål for alle databaserede computerprogrammer.