Heim  >  Artikel  >  Welche drei Arten von Dateninkonsistenzen werden durch gleichzeitige Vorgänge verursacht?

Welche drei Arten von Dateninkonsistenzen werden durch gleichzeitige Vorgänge verursacht?

青灯夜游
青灯夜游Original
2020-09-02 13:20:0120114Durchsuche

Zu den durch gleichzeitige Vorgänge verursachten Dateninkonsistenzen gehören: verlorene Änderungen, nicht wiederholbares Lesen und das Lesen „verschmutzter“ Daten. Der Grund für diese drei Phänomene liegt darin, dass gleichzeitige Vorgänge die Isolation von Transaktionen zerstören. Um mit diesen Dateninkonsistenzen umzugehen, sind die wichtigsten Technologien: Blockierung, Zeitstempel und optimistische Kontrollmethoden.

Welche drei Arten von Dateninkonsistenzen werden durch gleichzeitige Vorgänge verursacht?

Welche Dateninkonsistenzen werden durch gleichzeitige Vorgänge verursacht ( )

A. Verlorene Änderungen, nicht wiederholbare Lesevorgänge, fehlerhafte Lesevorgänge, Deadlocks

B. Nicht wiederholbares Lesen, schmutziges Lesen, Deadlock

C. Verlorene Änderungen, Dirty Reads, Deadlocks

D. Verlorene Änderungen, nicht wiederholbare Lesevorgänge, fehlerhafte Lesevorgänge

Richtige Antwort: D

Antwortanalyse:

Die Sicherstellung der ACID-Eigenschaften der Transaktion ist eine wichtige Aufgabe der Transaktionsverarbeitung und die ACID-Eigenschaften der Transaktion. Eine der möglichen Ursachen für Schäden sind gleichzeitige Vorgänge in der Datenbank durch mehrere Transaktionen.

Zu den wichtigsten Dateninkonsistenzen, die durch gleichzeitige Vorgänge verursacht werden, gehören verlorene Änderungen, nicht wiederholbares Lesen und das Lesen „schmutziger“ Daten.

1. Verlorene Änderungen

Zwei Transaktionen T1 und T2 haben dieselben Daten gelesen und geändert. Das von T2 übermittelte Ergebnis hat das von T1 übermittelte Ergebnis zerstört, wodurch die Änderung von T1 verloren gegangen ist. Typisches Beispiel: Kauf eines Flugtickets oder einer Bahnfahrkarte.

2. Nicht wiederholbares Lesen

Nicht wiederholbares Lesen bedeutet, dass Transaktion T2 einen Aktualisierungsvorgang ausführt, nachdem Transaktion T1 die Daten gelesen hat, sodass T1 die Ergebnisse des vorherigen Lesevorgangs nicht reproduzieren kann.

Es ist in die folgenden drei Situationen unterteilt:

(1) Nachdem Transaktion T1 bestimmte Daten gelesen hat, ändert Transaktion T2 diese. Wenn Transaktion T1 die Daten erneut liest, erhält sie einen anderen Wert als beim vorherigen Mal.

(2) Nachdem Transaktion T1 bestimmte Daten gelesen hat, löscht Transaktion T2 die darin enthaltenen Datensätze. Wenn Transaktion T1 die Daten erneut liest, stellt sich heraus, dass einige Datensätze auf mysteriöse Weise verschwunden sind.

(3) Nachdem Transaktion T1 bestimmte Daten gelesen hat, fügt Transaktion T2 einige neue Datensätze ein. Wenn Transaktion T1 die Daten erneut liest, stellt sie fest, dass weitere Datensätze vorhanden sind.

Die letzten beiden Operationen werden Phantomphänomene genannt.

3. „Dirty“-Daten lesen

Transaktion T1 muss nur bestimmte Daten ändern und auf die Festplatte zurückschreiben. Nachdem Transaktion T2 bestimmte Daten gelesen hat, bricht T1 den Vorgang ab Zu diesem Zeitpunkt stimmen die von T2 gelesenen Daten nicht mit den Daten in der Datenbank überein, was als „schmutzige“ Daten bezeichnet wird.

Der Grund für die oben genannten drei Phänomene liegt darin, dass gleichzeitige Vorgänge die Isolation von Transaktionen zerstören. Um mit diesen Dateninkonsistenzen umzugehen, sind die wichtigsten Technologien: Blockierung, Zeitstempel und optimistische Kontrollmethoden.

Weitere Informationen zu diesem Thema finden Sie auf: Chinesische PHP-Website!

Das obige ist der detaillierte Inhalt vonWelche drei Arten von Dateninkonsistenzen werden durch gleichzeitige Vorgänge verursacht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn