Innholdsfortegnelse:
Definisjon - Hva betyr isolasjon?
Isolering, i kontekst av databaser, spesifiserer når og hvordan endringene implementert i en operasjon blir synlige for andre parallelle operasjoner. Transaksjon isolasjon er en viktig del av ethvert transaksjonssystem. Den omhandler konsistens og fullstendighet av data hentet ved spørsmål som ikke berører brukerdata av andre brukerhandlinger. En database anskaffer låser på data for å opprettholde et høyt isolasjonsnivå.Techopedia forklarer Isolasjon
Et antall isolasjonsnivåer er definert for å kontrollere graden av datalåsing. Et høyt isolasjonsnivå kan føre til at låsningen blir låst for at systemet skaper dørlåser. De fire hovedisolasjonsnivåene er: Les ikke-forpliktet: Dette nivået omhandler skitne avlesninger, der lesedataene ikke stemmer overens med andre deler av tabellen eller spørringen og ikke er forpliktet. Her leses data direkte fra tabellblokker uten verifisering, validering og behandling. Derfor er dataene så skitne som de kan være. Les forpliktet: I dette tilfellet er rader som en spørring returnerer, rader som allerede er begått da spørringen startet. Når engasjementet er fullført før spørringen startet, vises ikke resultatet i spørreutgangen. Gjentatt lese: Radene som returneres av en spørring i dette tilfellet, blir begått da transaksjonen ble startet. Endringene som er gjort er ikke til stede i transaksjonen, og vises derfor ikke i spørreresultatet. Serialiserbar: På dette nivået skjer transaksjoner på en helt isolert måte, serielt etter hverandre. Databaser som Oracle og Postgre SQL garanterer noen ganger ikke seriell bestilling av transaksjoner, men støtter øyeblikksbildeisolering der alle leser i en transaksjon er konsistente øyeblikksbilder av databasen og transaksjonsforpliktelser bare hvis ingen oppdateringer gir konflikter med andre samtidige oppdateringer gjort siden øyeblikksbildet. Anomalier tillatt ved øyeblikksbildeisolasjoner kan føre til brudd på datakonsistensen ved å flette inn transaksjoner som opprettholder konsistensen. Disse avvikene kan elimineres ved å innføre oppdateringskonflikter eller kunstig låsing. Alle databaser tillater brukere å angi standardisolasjonsnivåer. Perfekte isolasjonsnivåer som er valgt forhindrer applikasjoner i å introdusere feil som skitne lesninger, repeterbare lesninger og fantomlesninger. Når den første transaksjonen leser uforpliktede endringer som er gjort av den andre transaksjonen, gir den skitne avlesninger. Når en datalest forblir den samme hvis den leses igjen under den samme transaksjonen, er det en gjentakelig lesing. Fantomlesinger oppstår når nye poster som er lagt til blir påpekt av transaksjoner før innsetting. De forskjellige databaselåserisolasjonsnivåene som omhandles er: Leselåser: Leselåser forhindrer at data leses under en transaksjon til transaksjonen avsluttes og eliminerer tilfeller av repeterbare lesninger. Andre transaksjoner kan lese disse dataene, men ingen tilgang til skriving eller endring er gitt. Skrivesperre: Skrivelåser forhindrer at andre transaksjoner endrer data til transaksjonen avsluttes. Eksklusive skrivelåser: Eksklusiv skrivelås forhindrer andre transaksjoner i å lese eller endre data til den gjeldende transaksjonen avsluttes. Øyeblikksbilde: Et øyeblikksbilde er et frossent bilde av dataene når transaksjonen starter. Det forhindrer skitne lesninger, ikke repeterbare lesninger og fantomlesninger. Denne definisjonen ble skrevet i sammenheng med databaser
