[Allegro] Playback prinzipiell nicht zuverlaessig

Thomas Berger ThB at Gymel.com
Mo Mai 30 16:44:38 CEST 2011


Lieber Herr Fischer, liebe Liste,

> während ich Ihre Argumentation nachvollziehen kann, kommt mir prinzipiell die
> Methode, interne Informationen zur Rekonstruktion der Datenbank (bzw. des
> Datenbestandes) zu nutzen bedenklich vor. Das ist so ähnlich, als ob man mit
> dem Byte-Offset der Daten arbeiten würde: bei jeder Neuindexierung,
> Entlüftung oder auch nur Bearbeitung eines Datensatzes wird da ja alles
> mögliche durcheinander gewürfelt.

Naja, die Internen Satznummern gibt es halt und im Normalbetrieb sind
es auch diejenigen, die zaehlen. Will sagen, die Datenbank nutzt sie
fuer ihre Operationen und entgleist damit nicht. Insofern halte ich
eine Rekonstruktion nach einem Crash anhand der Logdatei und interner
Satznummern fuer die durchaus angemessene Methode.



> Solider käme mir eine Orientierung an den Identnummern vor, die dann
> vielleicht automatisch auf Eindeutigkeit geprüft bzw. dahin gezwungen werden
> müssten. Bis das allgemein so weit ist, wäre mir ein Schalter recht, der
> erlaubt, die Rekonstruktion entlang der Identnummer der Sätze statt nach ihrer
> internen Satznummer durchzuführen. Das würde mir ersparen, den Weg über
> Umwandlung in Grunddatei und Update gehen zu müssen.
> 
> Reicht es bei so einem Vorgehen eigentlich, nur die letzte Version des
> geänderten Satzes für den Update zu nutzen, oder müssen wegen etwaiger
> Nebeneffekte Zwischenvarianten auch eingespielt werden? Dabei gehe ich davon
> aus, dass im Anschluss sowieso eine Neuindexierung durchgeführt wird.

Wenn man an zwei sich gegenseitig v14-verlinkende Normsaetze denkt,
ist sofort klar, dass nur das Nachspielen aller Zwischenschritte ein
korrektes Ergebnis liefert.

Wenn aber sowieso reindexiert wird, ist das nicht stichhaltig (wenn
die Primaerschluesselbildung bereits von Schluesselersetzungen abhaengt,
ist eh' alles vorbei). Im Zusammenhang mit Datenbankreplikationen
uebertrage ich z.B. fuer eine Zeitscheibe / Logdatei-Abschnitt
alle Neusaetze, alle Loeschungen und fuer die Normalen Bearbeitung die
jeweils letzte eines Datenatzes an der jeweiligen Position. Das setzt
natuerlich voraus, die Logdatei zweimal zu durchlaufen, im ersten wird
die jeweils letzte Position aller Saetze notiert, im zweiten dann
werden alle Bearbeitungen, die nicht die jeweils letzten oder Neusatz
oder Loeschung sind, ausgefiltert. Fraglich, ob sich der Aufwand lohnt...

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro