DE:Datenbank
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
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.