Alles Biber! Wir erweitern sozusagen aktiv unser Kursangebot und freuen uns nun, ein neues einzufĂŒhren:
âRelational DBMSâ . Der Kurs wurde von einem der fĂŒhrenden Lehrer des
Linux-Administratorkurses -
Alexey Tsykunov -
erstellt . Ansonsten wird alles wie gewohnt sein: Dienstprogramme und
offene Lektionen , in denen Alex verschiedene Dinge teilt, die nicht im Kurs selbst enthalten sind.
Lass uns gehen!
Eine Transaktion kann als eine Reihe von Aufgaben definiert werden, deren ErfĂŒllung eine Voraussetzung fĂŒr den korrekten Abschluss der Transaktion ist. Eine einzelne Aufgabe ist der kleinste unteilbare Block der DatenĂ€nderung.
Hier ist ein Beispiel fĂŒr eine einfache Transaktion. Angenommen, ein Bankangestellter ĂŒberweist 500 Rupien von Konto A auf Konto B. Diese kleine und einfache Transaktion umfasst mehrere Aufgaben auf niedriger Ebene.
Konto A.
Open_Account(A) Old_Balance = A.balance New_Balance = Old_Balance - 500 A.balance = New_Balance Close_Account(A)
Konto B.
Open_Account(B) Old_Balance = B.balance New_Balance = Old_Balance + 500 B.balance = New_Balance Close_Account(B)
ACID-EigenschaftenEine Transaktion im Datenbanksystem muss AtomizitÀt, Konsistenz, Isolation und Haltbarkeit - kurz ACID - beibehalten, um Datengenauigkeit, VollstÀndigkeit und IntegritÀt sicherzustellen:
- AtomizitĂ€t - Diese Eigenschaft zeigt, dass eine Transaktion als atomare Einheit betrachtet werden sollte, dh entweder alle ihre Operationen werden ausgefĂŒhrt oder nicht als eine einzige. Die Datenbank sollte keine ZustĂ€nde enthalten, in denen die Transaktion teilweise abgeschlossen ist. Die ZustĂ€nde mĂŒssen entweder vor dem Start der Transaktion oder nach Abschluss / Unterbrechung / Ausfall der Transaktion festgelegt werden.
- Konsistenz - Diese Eigenschaft gibt an, dass die Datenbank nach jeder Transaktion in einem konsistenten Zustand bleiben soll. Keine Transaktion sollte sich negativ auf die Daten in der Datenbank auswirken. Wenn sich die Datenbank vor Abschluss der Transaktion in einem konsistenten Zustand befand, sollte sie sich nach Abschluss der Transaktion darin befinden.
- Isolation - Im Datenbanksystem, in dem mehrere Transaktionen gleichzeitig und parallel ausgefĂŒhrt werden, gibt die Isolationseigenschaft an, dass jede Transaktion so ausgefĂŒhrt und ausgefĂŒhrt wird, als wĂ€re sie die einzige Transaktion im System. Keine Transaktion sollte die Existenz anderer Transaktionen beeinflussen.
- Ausfallsicherheit - Diese Eigenschaft gibt an, dass die Datenbank stabil genug sein muss, um die neuesten Aktualisierungen zu speichern, selbst wenn das System einen Fehler macht oder neu startet. Wenn die Transaktion zu einer Aktualisierung des Datenfragments in der Datenbank fĂŒhrt, sollten diese Ănderungen weiterhin in der Datenbank gespeichert werden. Wenn die Transaktion durchgefĂŒhrt wird, das System jedoch vor dem Schreiben von Daten auf die Festplatte abstĂŒrzt, sollten die Daten sofort nach dem Neustart des Systems aktualisiert werden.
SerialisierungWenn das Betriebssystem in einer Umgebung mit mehreren Programmen mehrere Transaktionen ausfĂŒhrt, werden die Anweisungen einer Transaktion wahrscheinlich mit den Anweisungen einer anderen Transaktion gemischt.
- Ein Zeitplan ist eine chronologische AusfĂŒhrung einer Reihe von Transaktionen. Ein Zeitplan kann viele Transaktionen enthalten, von denen jede aus mehreren Anweisungen / Aufgaben besteht.
- Ein sequentieller Zeitplan ist ein Zeitplan, in dem Transaktionen so angeordnet sind, dass jede der Transaktionen der Reihe nach abgeschlossen wird. Ein Zeitplan wird nur aufgrund eines konsistenten AusfĂŒhrungsmusters als sequentiell bezeichnet.
In einer Umgebung mit mehreren Transaktionen wird ein sequentieller Zeitplan als Benchmark betrachtet. Die Reihenfolge der AusfĂŒhrung von Anweisungen in einer Transaktion kann nicht geĂ€ndert werden, aber die AusfĂŒhrung von Anweisungen von zwei Transaktionen kann zufĂ€llig sein. Die AusfĂŒhrung ist nicht schĂ€dlich, wenn zwei Transaktionen voneinander unabhĂ€ngig sind und auf unterschiedlichen Datensegmenten arbeiten. Wenn sie jedoch dieselben Daten verwenden, können die Ergebnisse unterschiedlich sein, was dazu fĂŒhren kann, dass die Datenbank in einen inkonsistenten Zustand versetzt wird.
Um dieses Problem zu lösen, erlauben wir die parallele AusfĂŒhrung des Transaktionsplans fĂŒr den Fall, dass die Transaktionen serialisiert sind oder eine Ăquivalenzbeziehung haben.
Ăquivalente ZeitplĂ€neEs gibt folgende Arten von Ă€quivalenten ZeitplĂ€nen:
Ăquivalenz des ErgebnissesWenn zwei ZeitplĂ€ne nach der AusfĂŒhrung dasselbe Ergebnis liefern, werden sie als gleichwertig angesehen. Die Ergebnisse können fĂŒr einige Werte gleich sein und fĂŒr andere Werte unterschiedlich sein. Daher wird eine solche Ăquivalenz normalerweise nicht als signifikant angesehen.
PrĂ€sentationsĂ€quivalenzZwei ZeitplĂ€ne werden in der Darstellung als gleichwertig angesehen, wenn die Transaktionen in jedem der ZeitplĂ€ne Ă€hnliche Aktionen auf Ă€hnliche Weise ausfĂŒhren.
Z.B:
- Wenn T die Originaldaten in S1 liest, liest es auch die Originaldaten in S2.
- Wenn T den von J in S1 geschriebenen Wert liest, liest es auch den von J in S2 geschriebenen Wert.
- Wenn T das Schreiben von Werten in S1 beendet, beendet es auch das Schreiben von Werten in S2.
KonfliktÀquivalenzZwei ZeitplÀne stehen in Konflikt, wenn sie die folgenden Eigenschaften haben:
- Sie gehören zu verschiedenen Transaktionen.
- Sie greifen auf dieselben Daten zu.
- Mindestens eine davon ist die Schreiboperation.
Zwei ZeitplĂ€ne mit mehreren Transaktionen mit widersprĂŒchlichen VorgĂ€ngen gelten nur dann als gleichwertig mit einem Konflikt, wenn:
- Beide ZeitplÀne enthalten denselben Satz von Transaktionen.
- Die Reihenfolge widersprĂŒchlicher Operationspaare wird in beiden ZeitplĂ€nen unterstĂŒtzt.
Hinweis - In der PrÀsentation Àquivalente ZeitplÀne sind in der PrÀsentation serialisierbar, und konfliktÀquivalente ZeitplÀne sind konfliktserialisierbar. Alle konfliktserialisierbaren ZeitplÀne sind prÀsentationsserialisierbar.
TransaktionsstatusEine Transaktion in einer Datenbank kann den folgenden Status haben:

- Aktiv (Aktiv) - In diesem Zustand beginnt die AusfĂŒhrung der Transaktion. Dies ist der Anfangszustand jeder Transaktion.
- Teilweise festgeschrieben - Wenn eine Transaktion ihren endgĂŒltigen Vorgang abgeschlossen hat, wird davon ausgegangen, dass sie sich in einem teilweise perfekten Zustand befindet.
- Fehlgeschlagen - Eine Transaktion gilt als fehlgeschlagen, wenn eine der vom Datenbankwiederherstellungssystem durchgefĂŒhrten ĂberprĂŒfungen fehlgeschlagen ist. Eine solche Transaktion kann nicht fortgesetzt werden.
- Abgebrochen - Wenn eine ĂberprĂŒfung fehlschlĂ€gt und die Transaktion in einen fehlgeschlagenen Zustand ĂŒbergeht, setzt der Wiederherstellungsmanager alle SchreibvorgĂ€nge in der Datenbank zurĂŒck, um sie vor dem Start der Transaktion in ihren ursprĂŒnglichen Zustand zurĂŒckzusetzen.
Transaktionen in diesem Zustand gelten als unterbrochen. Das Datenbankwiederherstellungsmodul kann nach Unterbrechung der Transaktion einen von zwei VorgÀngen auswÀhlen:
- Starten Sie die Transaktion neu.
- Transaktion abbrechen.
- Perfekt - Wenn die Transaktion alle VorgÀnge erfolgreich abgeschlossen hat, gilt sie als perfekt. Alle seine Auswirkungen werden permanent im Datenbanksystem aufgezeichnet.
DAS ENDEWie immer warten wir auf Kommentare, eine Frage, die sowohl hier als auch in
einer offenen Lektion mit
Alexei gestellt werden kann .