Was ist der Unterschied zwischen "Konflikt serialisierbar" und "konfliktäquivalent"?
In der Datenbank-Theorie, was ist der Unterschied zwischen "Konflikt-serialisierbar" und "Konflikt-äquivalent"?
Mein lehrbuch hat einen Abschnitt über die Konflikt-serialisierbar, aber beschönigt Konflikt-äquivalenz. Dies sind wohl die beiden Begriffe, die ich bin vertraut mit, aber ich bin nicht vertraut mit der Terminologie, also ich bin auf der Suche nach einer Erklärung.
InformationsquelleAutor der Frage taz | 2012-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur zwei Begriffe, um zu beschreiben, eine Sache, in unterschiedlicher Weise.
Konflikt-äquivalent: müssen Sie sagen, Planen Sie Eine ist Konflikt-äquivalent zu Planen B. es muss sich um zwei Zeitpläne
Konflikt-serialisierbar: Weiterhin Schedule A und B. wir können sagen, Planen ist Konflikt-serialisierbar. Zeitplan B ist Konflikt-serialisierbar.
Wir nicht sagen, Schedule A/B ist Konflikt-äquivalent
Wir nicht sagen-Zeitplan Ein Konflikt-serialisierbaren Schedule B
InformationsquelleAutor der Antwort fengd
Konflikt in DBMS kann definiert werden als zwei oder mehr verschiedenen Transaktionen, die Zugriff auf die gleiche variable und mindestens einer von Ihnen ist eine write-operation.
Beispiel:
In diesem Fall gibt es keinen Konflikt, da beide Transaktionen durchführen, die nur-lese-Operationen.
Aber im folgenden Fall:
es einen Konflikt gibt.
Können sagen, wir haben einen Zeitplan
S
und wir können die Reihenfolge der Anweisungen in Ihnen. und erstellen Sie 2 weitere ZeitpläneS1
undS2
.Konflikt-äquivalent: Bezieht sich auf die Zeitpläne
S1
undS2
wo Sie halten die Bestellung der widersprüchlichen Anweisungen in den beiden Zeitpläne. Zum Beispiel, wennT1
LesenX
vorT2
schreibtX
imS1
dann sollte es der gleiche sein, inS2
auch. (Reihenfolge sollte beibehalten werden, nur für die widersprüchlichen Operationen).Konflikt-Serialisierbarkeit:
S
sagt, ist Konflikt-serialisierbar, wenn es ist Konflikt-äquivalent zu einem seriellen schedule (d.h., an dem die Transaktionen ausgeführt werden, einer nach dem anderen).InformationsquelleAutor der Antwort letsBeePolite
Vom Wikipedia.
Konflikt-äquivalenz
Die Zeitpläne
S1
undS2
angeblich sind Konflikt-äquivalent, wenn die folgenden Bedingungen erfüllt sind:Beide Zeitpläne
S1
undS2
beinhalten den gleichen Satz von Transaktionen (einschließlich Reihenfolge der Aktionen innerhalb jeder Transaktion).Den, um jedes paar von Konflikt-Aktionen in
S1
undS2
sind die gleichen.Konflikt-serialisierbar
Einen Zeitplan sagt, ist Konflikt-serialisierbar, wenn der Zeitplan Konflikt-äquivalent zu einem oder mehr seriellen schedules.
Andere definition für Konflikt-serialisierbarkeit ist, dass ein Zeitplan ist Konflikt-serialisierbar, wenn und nur wenn seine precedence graph/serialisierbarkeit graph, wenn nur Transaktionen berücksichtigt, also azyklisch ist (wenn der graph definiert ist, dass Sie auch Transaktionen ohne commit, dann Zyklen mit Transaktionen auftreten können, ohne Konflikt-serialisierbarkeit Verletzung).
InformationsquelleAutor der Antwort Damodaran
Wenn ein schedule S transformiert werden kann in einem schedule S, durch eine Reihe von swaps, nicht-widersprüchliche Anweisungen, sagen wir, dass S und S sind Konflikt-äquivalent.
Wir sagen, dass ein schedule S ist Konflikt-serialisierbar, wenn es ist Konflikt-äquivalent zu einem seriellen schedule.
InformationsquelleAutor der Antwort Hari Chandu Vakacharla
Konflikt-Äquivalent Zeitpläne: wenn ein Schedule S transformiert werden kann in einem schedule S' durch eine Reihe von swaps nicht widersprüchliche Anweisungen, sagen wir, dass schedule S & S' sind Konflikt-äquivalent.
Konflikt-Serialisierbaren Schedule: Schedule S ist Konflikt-serialisierbar, wenn es ist Konflikt-äquivalent zu einem seriellen schedule.
InformationsquelleAutor der Antwort thirteenguy
Konflikt-serialisierbar Konflikt equuivalent zu irgendeinem seriellen schedule.
InformationsquelleAutor der Antwort Aditya Guru
Definitionen haben bereits erklärt perfekt, aber ich denke, dies wird sehr nützlich sein, einige.
Habe ich entwickelt kleine Konsole-Programm (auf github), die test-Zeitplan für Konflikt-serialisierbarkeit und wird auch ziehen eine Rangfolge graph.
InformationsquelleAutor der Antwort gudthing
Wenn es mindestens einen Konflikt-äquivalent Zeitplan für die betrachteten Transaktion Zeitplan, es ist Konflikt-serialisierbar.
InformationsquelleAutor der Antwort Pubudu Mahesh Meththananda