Wat is gedistribueerde gelijktijdigheidscontrole?
Gedistribueerde concurrency-controle is een strategie die de verantwoordelijkheid voor concurrency-controle verspreidt over een heel netwerk. Concurrency betekent dat alle computers met dezelfde versie van dezelfde bestanden werken. Als computers eenmaal met elkaar zijn verbonden, lopen de bezorgdheid over gelijktijdigheid (problemen met het identiek houden van alle bestanden op het netwerk voor alle gebruikers) op de voorgrond, omdat meerdere gebruikers tegelijkertijd toegang kunnen hebben tot alle geautoriseerde bestanden en mappen op het systeem. Zonder concurrency af te dwingen, kunnen deze bestanden gemakkelijk inconsistent worden van de ene computer naar de volgende als gebruikers gegevens veranderen en in realtime manipuleren, waardoor iedereen snel het vermogen verliest om op netwerkbestanden te vertrouwen als er veranderingen plaatsvinden. Gelijktijdigheidsbeheer houdt bestanden consistent in het hele netwerk, waardoor deze zorg wordt vermeden.
Het primaire voordeel van gedistribueerde concurrency-controle is dat het de werklast voor concurrency-problemen verspreidt over meerdere computers, waardoor de overhead op elke computer wordt verminderd. Zonder gedistribueerde concurrency control, zou het houden van concurrency op een netwerk gemakkelijk een full-time taak voor een enkele computer kunnen worden, waardoor het nutteloos wordt voor iets anders. Met gedistribueerde concurrency-controle kan elke computer in het netwerk helpen de werklast te delen, zodat eindgebruikers de terminals nog steeds kunnen gebruiken voor andere netwerktaken.
Sterke strikte tweefasige vergrendeling is een van de meest voorkomende soorten gedistribueerde concurrency-controle. Bij een sterke strikte tweefasige vergrendeling wordt een individueel netwerkbestand vergrendeld voor zowel lees- als schrijfbewerkingen totdat de toegang eindigt. Dit betekent dat slechts één gebruiker op het netwerk tegelijkertijd een bestand kan wijzigen, waardoor het onmogelijk wordt om uit de concurrency op het netwerk te vallen. Nadat de eindgebruiker wijzigingen in het bestand heeft opgeslagen of het bestand helemaal heeft verlaten, worden de vergrendelingen verwijderd, zodat een andere gebruiker op het systeem het bestand daarna opnieuw kan verwerken.
Een van de grootste nadelen van sterke, strikte tweefasige vergrendeling is de extra overhead die het op netwerkbronnen met zich meebrengt. Elk bestand onder elke gebruiker moet door het netwerk worden aangemerkt als 'vergrendeld' en die informatie moet in het geheugen worden bewaard tot het slot eindigt. Samengevat, met honderden eindgebruikers die honderden bestanden tegelijkertijd uitvoeren, kan dit gemakkelijk een aanzienlijk deel van het geheugen in het netwerk kannibaliseren. Deze overmatige kannibalisatie van geheugen kan netwerken vertragen met inefficiënte of verouderde hardware-ontwerpen.