Was ist Schnappschuss -Isolation?

Snapshot -Isolation ist eine Eigenschaft in der Transaktionsverarbeitung und in 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 Probleme vermeiden, die üblicherweise mit Parallelität auftreten. Diese Isolation wurde von mehreren verschiedenen strukturierten Query -Sprachen (SQL) -Invers implementiert, die mit minimalen Mengen an Serialisierungsanomalien betrieben werden. Snapshot -Isolierungen garantieren jedoch keine vollständige Serialisierbarkeit in einem Server.

Viele wichtige Datenverwaltungssysteme enthalten Standard -Isolationsstufen, die nicht serialisierbar sind und häufig auf Anomalien der Serialisierung ohne Snapshot -Isolierung stoßen. Dies kann dazu führen, dass große Systeme jeden Tag zahlreiche Isolationsfehler aufweisen, whiCH kann dazu führen, dass Daten beschädigt werden, insbesondere das, was in Warehouse -Anwendungen 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. Die Einbeziehung der Snapshot -Isolierung in einem System reduziert diese Anomalien und - wenn die Betriebszeit und die Anzahl der auftreten, erhöht die Effizienz 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 Isolierung 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. Eine Möglichkeit, das Problem zu lösen und Anomalien wie diese zu verhindern, besteht darin, Anwendungen mit einer Einführung zu manipulierenvon künstlichen Schlössern und widersprüchlichen Aktualisierungen, gefolgt von der Analyse der Konflikte zwischen jedem Transaktionenpaar. Eine andere Möglichkeit, diese Anomalien zu beheben, besteht jedoch darin, die Algorithmen der Parallelitätskontrolle eines Datenbanksystems so zu ändern, dass automatische Erkennungen und Vorsorge von Anomalien der Snapshot -Isolation zur Laufzeit durchgeführt werden. Dies kann für wichtige oder willkürliche Anwendungen durchgeführt werden, bietet jedoch eine serialisierbare Isolation.

neuere SQL -Server konnten neue Isolationsniveaus sowie neue Maßstäbe der Snapshot -Isolation zur Verbesserung der Parallelität in bestimmten Anwendungen einführen. 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.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?