Skip to main content

Wat is snapshot isolatie?

Snapshot -isolatie is een eigenschap in transactieverwerking en databases die alle lezingen garanderen die in een transactie worden gemaakt, zie dezelfde database -momentopname.Dit betekent dat de transactie zich ertoe verbindt het verzoek succesvol te verwerken als de updates ervan niet in strijd zijn met andere gelijktijdige updates.Snapshot-isolatie is een besturingsalgoritme voor gelijktijdigheid met meerdere versies dat isolatieniveaus biedt die de problemen vermijden die vaak met gelijktijdigheid optreden.Deze isolatie is geïmplementeerd door verschillende gestructureerde querytaal (SQL) -servers, die werken met minimale hoeveelheden serialisatie -anomalieën.Snapshot -isolaties zullen echter geen volledige serialiseerbaarheid in een server garanderen.

Veel belangrijke gegevensbeheersystemen bevatten standaardisolatieniveaus die niet serialiseerbaar zijn en komen vaak afwijkingen van serialisatie tegen zonder snapshot -isolatie.Dit kan ertoe leiden dat grote systemen elke dag tal van isolatiefouten hebben, wat kan leiden tot gegevens die worden beschadigd, met name die welke worden gevonden in magazijntoepassingen van gegevens.De reden dat een systeem in deze status kan werken, is omdat toepassingen die op lagere isolatieniveaus werken de efficiëntie kunnen verbeteren als er geen ernstige fouten optreden.Inclusief snapshot isolatie in een systeem vermindert deze afwijkingen en mdash;Bij het nemen van de werkingstijd en de hoeveelheid fouten die in aanmerking komen mdash;Verhoogt de efficiëntie nog verder.

Sommige databases bieden snapshot -isolatie in tegenstelling tot volledige serialiseerbaarheid, maar er zijn ook afwijkingen die kunnen optreden in een database met behulp van dit type isolatie.Deze afwijkingen kunnen leiden tot schendingen van gegevensconsistentie omdat transacties die consistentie onderhouden, of zijn gerangschikt in afwisselende lagen.De enige manier om het probleem op te lossen en afwijkingen zoals deze te voorkomen, is om toepassingen te manipuleren met een introductie van kunstmatige sloten en conflicterende updates, die werden gevolgd door analyse van de conflicten tussen elk paar transacties.Een andere manier om deze afwijkingen op te lossen, is echter om de algoritmen van de gelijktijdigheidscontrole van een databasesysteem te wijzigen om automatische detecties en preventies van anomalieën van snapshot -isolatie tijdens runtime te doen.Dit kan worden gedaan voor belangrijke of willekeurige toepassingen, maar biedt isolatie die serialiseerbaar is.

Nieuwere SQL -servers zijn in staat geweest om nieuwe isolatieniveaus te introduceren, evenals nieuwe niveaus van momentopname isolatie voor de verbetering van de gelijktijdigheid in bepaalde toepassingen.Waar vroege versies van de SQL -server vergrendeling als basis voor gelijktijdigheid gebruikten, is snapshot -isolatie afhankelijk van verbeteringen van rijversie -versie die bedoeld zijn voor de verbetering van de prestaties.Het verbetert deze prestaties wanneer het scenario's tegenkomt met lezen of schrijven door ze te vermijden.