[Talk-de] Liste aller Grenzrelationen der Staaten

Frederik Ramm frederik at remote.org
Mo Okt 12 07:23:29 UTC 2009


Hallo,

marcus.wolschon at googlemail.com wrote:
>> Eine Datenbank, die regelmaessig nur mit diffs gefuettert wird - 
>> Ausnahme die "minute-replicate"-Diffs - wird langsam inkonsistent, weil 
>> prinzipbedingt ein ganz kleiner Teil von Edits verloren gehen *kann* bei 
>> so einem Diff (auch Stunden- oder Tagesdiffs).
> 
> Kannst du das näher erläutern?

Osmosis erzeugt die Diffs auf dem zentralen Server aufgrund der 
History-Tabelle mit einem Query, der alles abfragt, was zwischen zwei 
Zeitpunkten passiert ist. Aufgrund der Transaktionsisolierung bekommt 
Osmosis aber nur die Daten, die einen Timestamp im fraglichen Fenster 
haben UND deren Transaktion schon committed ist. Durch diff-Uploads kann 
es einige sehr lang laufende Transaktionen geben.

Beispiel: Das stuendliche Diff fuer den Zeitraum 13:00-14:00 wird um 
14:20 erzeugt und hat alle Daten mit Timestamp 13:00-14:00. Wenn um 
12:59 eine Transaktion begonnen wird, die bis 13:21 laeuft, so 
erscheinen um 13:21 ploetzlich lauter Daten in der Datenbank, die einen 
Timestamp von 12:59 haben. Diese verpasst das Diff, und sie werden auch 
im 14:00-15:00-Diff nicht drin sein.

Fuer alle anderen Arten von diffs gilt das vergleichbar.

Bye
Frederik




Mehr Informationen über die Mailingliste Talk-de