goblor grübelt

Ein unabhängiges Denker-Blog aus Karlsruhe
Preis: 0 €
Thursday 11.03.2010
  osm2sql  

Schon vor über einem Jahr habe ich mich etwas ausführlicher mit dem Projekt OpenStreetMap beschäftigt. Damals ging es um das Einlesen der Daten in eine eigene Datenbank und es gab schonmal ein HowTo, dessen Datenbankschema sich aber recht schnell als unnötig groß herausgestellt hat. Wirklich ordentlich beschrieben habe ich die dann folgende Lösung bis dato allerdings nicht, deshalb startet heute eine kleine Artikel-Serie zum Thema.

Datenbankschema für OpenStreetMap-Daten
Datenbankschema für OpenStreetMap-Daten

Im ersten Teil soll es darum gehen die Openstreetmap-Daten in eine MySQL-Datenbank einzulesen. Weiterlesen…

Gestern habe ich die Deutschland-Daten auf dem Server importiert. Das hat exzellent und ohne Abbruch geklappt. Direkt aus dem osm2sql in die Datenbank gepiped. Auch wenn fritsch Befürchtungen wegen des Arbeitsspeichers hatte. Die Swap-Größe hat sich seit 2 Tagen nicht verändert.

Heute haben wir uns mal dem Zeit-Problem bei der Entfernungsberechnung zwischen zwei Städten gewidmet. Wir haben mit 10 bis 20 Sekunden pro Abfrage begonnen. Fritsch hat dann heute Mittag beschlossen, die Indizes auf ein anderes Format zu ändern. Weg von BTREE hin zu HASH. Auch wenn das laut MySQL 5.0-Referenz gar nicht geht, hat uns das etwa eine Vervierfachung der Geschwindigkeit gebracht auf etwa 4 Sekunden. Weiterlesen…

Irgendwie hab ich ja das Gefühl mich zumindest ein bisschen schämen zu müssen. Vor zweieinhalb Jahren habe ich einmal gelernt, was Transaktionen bei Datenbanken sind. Wenn ich das Wissen parat gehabt hätte, wäre der Import schon gestern komplett fertig geworden.

Nach genau 2 Zeilen in der Import-Datei und damit auch 2 Zeilen im osm2sql ist der Import jetzt etwa um Faktor 40 schneller. Weiterlesen…


goblor@gemajehova:/media/data/tosort/OSM$ mysql -u root -p geostuff < importstuff.sql
Enter password:
ERROR 1054 (42S22) at line 7055199: Unknown column 'nodeid' in 'field list'
goblor@gemajehova:/media/data/tosort/OSM$ wc -l importstuff.sql
7078488 importstuff.sql

Was sagt uns obige Ausgabe? Weiterlesen…

Werbung

Im letzten Artikel haben wir festgestellt, dass das Datenbankschema, das von “osmosis” erzeugt wird, nicht so der Bringer ist, deshalb habe ich mir erlaubt mit großer Hilfe und Sachverstand meines Freundes fritsch ein eigenes Datenbankschema zu entwerfen und natürlich auch gleich noch den dazu fälligen Parser zu schreiben. Weiterlesen…

Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: