Was ist eine Datenbanktransaktion?
Eine Datenbanktransaktion ist eine logische Verarbeitungseinheit in einem DBMS, die eine oder mehrere Datenbankzugriffsoperationen umfasst. Kurz gesagt, Datenbanktransaktionen repräsentieren reale Ereignisse eines Unternehmens.
Alle Arten von Datenbankzugriffsvorgängen, die zwischen den Anfangs- und Endtransaktionsanweisungen gehalten werden, werden in DBMS als eine einzige logische Transaktion betrachtet. Während der Transaktion ist die Datenbank inkonsistent. Erst wenn die Datenbank festgeschrieben ist, wird der Status von einem konsistenten Status in einen anderen geändert.
In diesem Tutorial lernen Sie:
- Fakten zu Datenbanktransaktionen
- Warum benötigen Sie Parallelität bei Transaktionen?
- Transaktionszustände
- Was sind ACID-Eigenschaften?
- Arten von Transaktionen
- Was ist ein Zeitplan?
Fakten zu Datenbanktransaktionen
- Eine Transaktion ist eine Programmeinheit, deren Ausführung den Inhalt einer Datenbank ändern kann oder nicht.
- Das Transaktionskonzept in DBMS wird als einzelne Einheit ausgeführt.
- Wenn die Datenbankoperationen die Datenbank nicht aktualisieren, sondern nur Daten abrufen, wird dieser Transaktionstyp als schreibgeschützte Transaktion bezeichnet.
- Eine erfolgreiche Transaktion kann die Datenbank von einem konsistenten Zustand in einen anderen ändern
- DBMS-Transaktionen müssen atomar, konsistent, isoliert und dauerhaft sein
- Wenn sich die Datenbank vor einer Transaktion in einem inkonsistenten Zustand befindet, bleibt sie nach der Transaktion im inkonsistenten Zustand.
Warum benötigen Sie Parallelität bei Transaktionen?
Eine Datenbank ist eine gemeinsam genutzte Ressource, auf die zugegriffen wird. Es wird von vielen Benutzern und Prozessen gleichzeitig verwendet. Zum Beispiel das Bankensystem, Eisenbahn- und Luftreservierungssysteme, Börsenüberwachung, Supermarktinventar und Kassen usw.
Wenn der gleichzeitige Zugriff nicht verwaltet wird, können folgende Probleme auftreten:
- Hardwarefehler und Systemabstürze
- Gleichzeitige Ausführung derselben Transaktion, Deadlock oder langsame Leistung
Transaktionszustände
Die verschiedenen Zustände eines Transaktionskonzepts in DBMS sind nachfolgend aufgeführt:
Zustand | Transaktionstypen |
Aktiver Zustand | Eine Transaktion wird aktiv, wenn der Ausführungsprozess beginnt. Während dieses Zustands können Lese- oder Schreibvorgänge ausgeführt werden. |
Teilweise verpflichtet | Eine Transaktion geht nach dem Ende einer Transaktion in den teilweise festgeschriebenen Zustand über. |
Festgelegter Staat | Wenn die Transaktion festgeschrieben wird, hat sie ihre Ausführung bereits erfolgreich abgeschlossen. Darüber hinaus werden alle Änderungen dauerhaft in der Datenbank aufgezeichnet. |
Gescheiterter Staat | Eine Transaktion gilt als fehlgeschlagen, wenn eine der Prüfungen fehlschlägt oder wenn die Transaktion abgebrochen wird, während sie sich im aktiven Zustand befindet. |
Beendeter Zustand | Der Transaktionsstatus erreicht den Status "Beendet", wenn bestimmte Transaktionen, die das System verlassen, nicht neu gestartet werden können. |

Lassen Sie uns ein Zustandsübergangsdiagramm untersuchen, das zeigt, wie sich eine Transaktion zwischen diesen verschiedenen Zuständen bewegt.
- Sobald eine Transaktion die Ausführung angibt, wird sie aktiv. Es kann eine READ- oder WRITE-Operation ausgeben.
- Sobald die Operationen READ und WRITE abgeschlossen sind, werden die Transaktionen teilweise festgeschrieben.
- Als nächstes müssen einige Wiederherstellungsprotokolle sicherstellen, dass ein Systemfehler nicht dazu führt, dass Änderungen in der Transaktion nicht dauerhaft aufgezeichnet werden können. Wenn diese Prüfung erfolgreich ist, wird die Transaktion festgeschrieben und in den festgeschriebenen Zustand versetzt.
- Wenn die Prüfung fehlschlägt, wechselt die Transaktion in den Status Fehlgeschlagen.
- Wenn die Transaktion abgebrochen wird, während sie sich im aktiven Zustand befindet, wechselt sie in den fehlgeschlagenen Zustand. Die Transaktion sollte zurückgesetzt werden, um die Auswirkung ihrer Schreibvorgänge auf die Datenbank rückgängig zu machen.
- Der abgeschlossene Status bezieht sich auf die Transaktion, die das System verlässt.
Was sind ACID-Eigenschaften?
ACID-Eigenschaften werden verwendet, um die Integrität der Datenbank während der Transaktionsverarbeitung aufrechtzuerhalten. ACID in DBMS steht für A tomicity, C onsistency, I solation und D urability.
- Atomarität: Eine Transaktion ist eine einzelne Betriebseinheit. Sie führen es entweder vollständig oder gar nicht aus. Es kann keine teilweise Ausführung geben.
- Konsistenz: Sobald die Transaktion ausgeführt wurde, sollte sie von einem konsistenten Zustand in einen anderen verschoben werden.
- Isolation: Die Transaktion sollte isoliert von anderen Transaktionen ausgeführt werden (keine Sperren). Während der gleichzeitigen Transaktionsausführung sollten Zwischentransaktionsergebnisse aus gleichzeitig ausgeführten Transaktionen einander nicht zur Verfügung gestellt werden. (Stufe 0,1,2,3)
- Haltbarkeit: · Nach erfolgreichem Abschluss einer Transaktion sollten die Änderungen in der Datenbank bestehen bleiben. Auch bei Systemausfällen.
ACID-Eigenschaft in DBMS mit Beispiel:
Unten finden Sie ein Beispiel für eine ACID-Eigenschaft in DBMS:
Transaction 1: Begin X=X+50, Y = Y-50 ENDTransaction 2: Begin X=1.1*X, Y=1.1*Y END
Transaktion 1 überträgt 50 USD von Konto X auf Konto Y.
Bei Transaktion 2 wird jedem Konto eine Zinszahlung von 10% gutgeschrieben.
Wenn beide Transaktionen zusammen übermittelt werden, gibt es keine Garantie dafür, dass die Transaktion 1 vor Transaktion 2 ausgeführt wird oder umgekehrt. Unabhängig von der Bestellung muss das Ergebnis so sein, als ob die Transaktionen seriell nacheinander stattfinden.
Arten von Transaktionen
Basierend auf Anwendungsbereichen
- Nicht verteilt vs. verteilt
- Ausgleichstransaktionen
- Transaktions-Timing
- Online vs. Batch
Basierend auf Aktionen
- Zwei Schritte
- Beschränkt
- Aktionsmodell
Basierend auf der Struktur
- Flache oder einfache Transaktionen: Sie bestehen aus einer Folge primitiver Operationen, die zwischen einer Start- und einer Endoperation ausgeführt werden.
- Verschachtelte Transaktionen: Eine Transaktion, die andere Transaktionen enthält.
- Arbeitsablauf
Was ist ein Zeitplan?
Ein Zeitplan ist ein Prozess, bei dem eine einzelne Gruppe mehrerer paralleler Transaktionen erstellt und einzeln ausgeführt wird. Es sollte die Reihenfolge beibehalten, in der die Anweisungen in jeder Transaktion erscheinen. Wenn zwei Transaktionen gleichzeitig ausgeführt werden, kann das Ergebnis einer Transaktion die Ausgabe einer anderen Transaktion beeinflussen.
Beispiel
Initial Product Quantity is 10Transaction 1: Update Product Quantity to 50Transaction 2: Read Product Quantity
Wenn Transaktion 2 vor Transaktion 1 ausgeführt wird, werden veraltete Informationen zur Produktmenge gelesen. Daher sind Zeitpläne erforderlich.
Eine parallele Ausführung in einer Datenbank ist unvermeidlich. Die parallele Ausführung ist jedoch zulässig, wenn zwischen den gleichzeitig ausgeführten Transaktionen eine Äquivalenzbeziehung besteht. Diese Äquivalenz besteht aus 3 Typen.
ERGEBNISÄQUIVALENZ:
Wenn zwei Zeitpläne nach der Ausführung dasselbe Ergebnis anzeigen, wird dies als ergebnisäquivalenter Zeitplan bezeichnet. Sie bieten möglicherweise das gleiche Ergebnis für einen bestimmten Wert und unterschiedliche Ergebnisse für einen anderen Wertesatz. Beispielsweise aktualisiert eine Transaktion die Produktmenge, während andere Kundendetails aktualisiert.
Äquivalenz anzeigen
Ansichtsäquivalenz tritt auf, wenn die Transaktion in beiden Zeitplänen eine ähnliche Aktion ausführt. Beispiel: Eine Transaktion fügt Produktdetails in die Produkttabelle ein, während eine andere Transaktion Produktdetails in die Archivtabelle einfügt. Die Transaktion ist dieselbe, aber die Tabellen sind unterschiedlich.
KONFLIKT-Äquivalenz
In diesem Fall aktualisieren / zeigen zwei Transaktionen denselben Datensatz an. Es besteht ein Konflikt zwischen den Transaktionen, da sich die Ausführungsreihenfolge auf die Ausgabe auswirkt.
Was ist Serialisierbarkeit?
Serialisierbarkeit ist der Prozess der Suche nach einem gleichzeitigen Zeitplan, dessen Ausgabe einem seriellen Zeitplan entspricht, bei dem die Transaktion nacheinander ausgeführt wird. Abhängig von der Art der Zeitpläne gibt es zwei Arten der Serialisierbarkeit:
- Konflikt
- Aussicht
Zusammenfassung:
- Das Transaktionsmanagement ist eine logische Verarbeitungseinheit in einem DBMS, die eine oder mehrere Datenbankzugriffsvorgänge umfasst
- Bei einer Transaktion handelt es sich um eine Programmeinheit, deren Ausführung den Inhalt einer Datenbank ändern kann oder nicht.
- Wenn der gleichzeitige Zugriff nicht verwaltet wird, kann dies zu Problemen wie Hardwarefehlern und Systemabstürzen führen.
- Aktiv, Teilweise festgeschrieben, Festgeschrieben, Fehlgeschlagen und Beenden sind wichtige Transaktionszustände.
- Die vollständige Form der ACID-Eigenschaften in DBMS ist Atomizität, Konsistenz, Isolation und Haltbarkeit
- Drei DBMS-Transaktionstypen sind Basis basierend auf Anwendungsbereichen, Aktion und Struktur.
- Ein Zeitplan ist ein Prozess, bei dem eine einzelne Gruppe mehrerer paralleler Transaktionen erstellt und einzeln ausgeführt wird.
- Bei der Serialisierbarkeit wird nach einem gleichzeitigen Zeitplan gesucht, dessen Ausgabe einem seriellen Zeitplan entspricht, in dem Transaktionen nacheinander ausgeführt werden.