Wat is momentopname isolatie?
Snapshot -isolatie is een eigenschap in transactieverwerking en databases die alle lezingen garanderen die in een transactie worden gemaakt, zie dezelfde database "Snapshot". Dit betekent dat de transactie zich ertoe zal verbinden 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 vaak anomalieën van serialisatie tegenkomen zonder snapshot -isolatie. Dit kan ertoe leiden dat grote systemen elke dag talloze gebeurtenissen van isolatiefouten hebben, whiCH kan ertoe leiden dat gegevens worden beschadigd, vooral dat wat wordt 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 - bij het nemen van werkingstijd en de hoeveelheid fouten die rekening houden - verhoogt de efficiëntie nog verder.
Sommige databases bieden snapshot -isolatie in tegenstelling tot volledige serialiseerbaarheid, maar er zijn ook anomalieën 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 applicaties met een inleiding te manipulerenvan 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 hebben nieuwe isolatieniveaus kunnen introduceren, evenals nieuwe niveaus van snapshotisolatie 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 lees- of schrijfblokkering door ze te vermijden.