DE:Datenbank

From OpenStreetMap Wiki
Jump to navigation Jump to search

Die Hauptdatenbank ist ein Schlüsselelement von OpenStreetMap, weil sie der Ort ist an dem alle Daten gespeichert sind.

Bitte beachte, dass sie nicht die einzige Datenbank ist mit der Karten erzeugt werden. Siehe Komponentenübersicht für andere Datenbanken.

Auf die Hauptdatenbank wird über die API zugegriffen. Wenn Du auf die Daten zugreifen möchtest siehe Dir unter APIs die verschiedenen Möglichkeiten an.

Data model

Railsport Datenbank Schema

Die Datenbank enthält Tabellen für jeden Element Typ (Punkte, Wege, Relationen). In der Tat gibt es für jeden davon mehrere Datenbanktabellen: current, history, current_tags, history_tags. Außerdem gibt es Datenbanktabellen zur Speicherung von Änderungssätzen, GPX-Tracks, Benutzer, Tagebucheinträge, Sitzungen, Authentifizierungen etc.

Du kannst einen detaillierteren Einblick in die Datenbankstruktur unter Datenbankschema oder https://github.com/openstreetmap/openstreetmap-website/blob/master/db/structure.sql bekommen.

Tabellengrößen im Haupt-Datenbank-Cluster siehe unter Database/TableInfoDump

QuadTiles(en) sind besondere Indizes, die für das optimierte Abrufen von Daten genutzt werden (unter Verwendung eines B-Baumes in PostgreSQL).

Andere Datenbanken sind natürlich auch anders strukturiert. Zum Beispiel benutzen die meisten Anwendungen nur die aktuellen Kartendaten. Verschiedene OSM-Werkzeuge benutzen verschiedene Datenbankkonfigurationen (Siehe auch Databases#Database_Schemas).

Postgres Serverinstanz

Aktueller Zustand siehe Platform Status(en).

Das Cluster wird über eine Chef-Konfiguration gesteuert. Diese befindet sich unter https://github.com/openstreetmap/chef.

Die Aktionen jedes einzelnen Servers werden über Rollen festgelegt. Die Einstellung der Datenbankserver wird im "db"-Cookbook festgelegt.

https://github.com/openstreetmap/chef/tree/master/roles https://github.com/openstreetmap/chef/tree/master/cookbooks/db

Datenbankstatistiken

Es gibt eine Überwachung aller Server(en) mittels Munin (zeigt die Ressourcenverwendung in Echtzeit).

https://hardware.openstreetmap.org/ wird von Chef automatisch erstellt.

Geschichtliches

19.04.2009
OpenStreetMap migierte seine Hauptseite mit dem Rails port(en) von MySQL(en) nach PostgreSQL.
01.04.2012
Fortsetzung des Umzugs auf einen neuen Server

History

19 April 2009 - OpenStreetMap switched from MySQL to a PostgreSQL server for its main site [1] that is part of the rails port.

1 April 2012 - a process of moving to a new server commenced.