Re: [Talk-de] Liste aller Grenzrelationen der Staaten - L ücken in Diffs

2009-10-12 Diskussionsfäden marcus.wolschon
On Mon, 12 Oct 2009 09:23:29 +0200, Frederik Ramm frede...@remote.org
wrote:
 Hallo,
 
 marcus.wolsc...@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.

Danke für die Erklährung Frederik.

Mir ist da gerade etwas zu eingefallen:

Werden die Changeset-IDs linear hochgezählt?

Falls ja könnte man die Query so gestalten:

Select * from changesets where id  [grösste Chageset ID des letzten
Laufes]
OR id in [alle nicht aufgetauchten changeset IDs in einem geeignetem
Intervall]

der zweite Teil könnte möglicherweise genau diese Lücken finden.

Marcus

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Liste aller Grenzrelationen der Staaten - L ücken in Diffs

2009-10-12 Diskussionsfäden Frederik Ramm
Hallo,

marcus.wolsc...@googlemail.com wrote:
 Werden die Changeset-IDs linear hochgezählt?

Ich glaube ja (ist halt eine Postgres-Sequenz).

 Falls ja könnte man die Query so gestalten:
 
 Select * from changesets where id  [grösste Chageset ID des letzten
 Laufes]
 OR id in [alle nicht aufgetauchten changeset IDs in einem geeignetem
 Intervall]
 
 der zweite Teil könnte möglicherweise genau diese Lücken finden.

Grundsaetzlich ja, aber die normalen Diffs gehen nicht nach Changesets, 
dort werden einfach nodes/ways/relations in einem bestimmten Zeitfenster 
rausgesucht! Die minute-replicate-Diffs machen es ungefaehr so, wie Du 
oben beschreiben hast. Die sind relativ neu, einige Hinweise dazu finden 
sich im Thread hourly diffs are missing edits (too) auf der dev-Liste.

Bye
Frederik

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Liste aller Grenzrelationen der Staaten - L ücken in Diffs

2009-10-12 Diskussionsfäden Stephan Knauss
Frederik Ramm wrote:
 Die minute-replicate-Diffs machen es ungefaehr so, wie Du 
 oben beschreiben hast. Die sind relativ neu, einige Hinweise dazu finden 
 sich im Thread hourly diffs are missing edits (too) auf der dev-Liste.

Ich habe das mal ausprobiert, läuft ganz gut. Auf dem Server werde ich 
das wohl so verwenden. Für meine Workstation daheim finde ich es etwas 
unpraktisch. Der Rechner ist über Nacht aus, dann bin ich ein paar 
Stunden arbeiten. Dann ist es doch wieder ein größeres Stück das fehlt. 
Da würden Stunden-Diffs auch reichen. Eventuell wären die auch ein wenig 
kleiner.

Ist bekannt ob es wenn die Minutendiffs rund laufen das auch für 
Stunden/Tage geben wird?

Stephan


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de