Was ist Schnappschuss -Isolation?
Snapshot -Isolation ist eine Eigenschaft in der Transaktionsverarbeitung und Datenbanken, die alle Lesevorgänge garantiert, die in einer Transaktion vorgenommen werden. Siehe gleiche Datenbank -Snapshot.Dies bedeutet, dass sich die Transaktion dazu verpflichtet, die Anfrage erfolgreich zu verarbeiten, wenn ihre Aktualisierungen nicht mit anderen gleichzeitigen Aktualisierungen in Konflikt stehen.Die Snapshot-Isolierung ist ein Kontrollalgorithmus für die Parallelität mit mehreren Versionen, die Isolationsniveaus liefert, die die häufig bei der Parallelität aufgetretenen Probleme vermeiden.Diese Isolation wurde von mehreren verschiedenen strukturierten Abfrages -Servern (SQL) implementiert, die mit minimalen Mengen an Serialisierungsanomalien betrieben werden.Snapshot -Isolierungen garantieren jedoch keine vollständige Serialisierbarkeit in einem Server.
Viele wichtige Datenmanagementsysteme enthalten Standard -Isolationsstufen, die nicht serialisierbar sind und häufig auf Anomalien der Serialisierung ohne Schnappschuss -Isolierung stoßen.Dies kann dazu führen, dass große Systeme jeden Tag zahlreiche Isolationsfehler aufweisen, was dazu führen kann, dass Daten beschädigt werden, insbesondere das, was in Lageranwendungen von Daten zu finden ist.Der Grund, warum ein System in diesem Zustand tätig sein könnte, liegt darin, dass Anwendungen, die auf niedrigeren Isolationsniveaus betrieben werden, die Effizienz verbessern können, wenn keine schwerwiegenden Fehler auftreten.Einschließlich der Snapshot -Isolierung in einem System reduziert diese Anomalien und mdash;Wenn die Betriebszeit und die Menge an Fehlern angewendet werden, werden mdash;Erhöht die Effizienz sogar noch weiter.
Einige Datenbanken bieten eine Snapshot -Isolation im Gegensatz zur vollständigen Serialisierbarkeit, aber es gibt auch Anomalien, die in einer Datenbank mit dieser Art der Isolation auftreten können.Diese Anomalien können zu Verstößen gegen die Datenkonsistenz führen, da Transaktionen, die Konsistenz beibehalten oder in abwechselnden Schichten angeordnet sind.Die einzige Möglichkeit, das Problem zu lösen und Anomalien wie diese zu verhindern, besteht darin, Anwendungen mit einer Einführung künstlicher Schlösser und widersprüchlicher Aktualisierungen zu manipulieren, denen die Analyse der Konflikte zwischen jedem Transaktionenpaar gefolgt wurde.Eine andere Möglichkeit, diese Anomalien zu beheben, besteht jedoch darin, die Algorithmen der Parallelitätskontrolle eines Datenbanksystems zu ändern, um automatische Erkennungen und Präventionen von Anomalien der Snapshot -Isolation zur Laufzeit durchzuführen.Dies kann für wichtige oder willkürliche Anwendungen durchgeführt werden, bietet jedoch eine serialisierbare Isolation.Wenn frühe Versionen des SQL -Servers die Sperren als Grundlage für die Parallelität verwendeten, hängt die Snapshot -Isolierung von Verbesserungen der Zeilenversioning ab, die zur Verbesserung der Leistung bestimmt sind.Es verbessert diese Leistung, wenn sie Szenarien mit Lese- oder Schreibblocking begegnet, indem sie vermieden werden.