Concurrency kontroll håndterer problemer involvert med å la flere brukere samtidig tilgang til delte enheter som for eksempel en data bord eller andre gjenstander . I dette tilfellet er en kontroll som er påkrevd for å styre oppdateringene . Den universelt akseptert metode var å serialisere utførelsen av oppdateringene . Men det er ikke akseptabelt i noen sammenhenger som første -come , first-served behandling. Det finnes ulike concurrency kontroll metoder som gjelder i ulike situasjoner. Pessimistisk Concurrency Kontroll
Denne metoden implementerer låser som hindrer brukere fra å endre data på en måte som påvirker andre brukere . Når en bruker utfører en handling på en enhet som gjelder en lås på foretaket, kan andre brukere ikke foreta handlinger på at foretaket til eieren av låsen slipper det . Den pessimistiske kontroll benyttes når det er stor strid for data .
Optimistisk Concurrency Kontroll
Bruke optimistisk samtidighet kontroll metode , trenger brukerne ikke låse data når de bruke den. Når en bruker oppdaterer data , databasen Systemet kontrollerer om en annen bruker endret data etter lese den . Ved oppdatering fra en annen bruker , er en feil hevet . Brukeren mottar feilmeldingen ruller tilbake transaksjonen og begynner på nytt . Denne metoden benyttes når det er lav påstand av data .
To fase låseteknikk
Låsing er en operasjon som sikrer en lese-eller skrivetilgang til en enhet. For eksempel Lock ( X ) . Foretaket X er låst av en bruker. Ved hjelp av denne teknikken , er en transaksjon velformede hvis : den låser en enhet før leser eller skriver til den , den skal ikke låse en låst enhet og bør ikke forsøke å låse opp en gratis enhet
. tidsstempel - baserte Concurrency Kontroll
monotont økende heltall kalles tidsstempel viser en alder av en operasjon på en enhet . En større systemtidverdi representerer en nylig operasjon . Tidsstempel -basert metode benytter tidsstempel å kontrollere gjennomføringen av samtidige transaksjoner .