x

Re: Einsatz von SSD für die Datenbank


Geschrieben von Netzwolf (Gast) am 26. Oktober 2013 10:31:17: [flux]

Als Antwort auf: Einsatz von SSD für die Datenbank geschrieben von wambacher (Gast) am 23. Oktober 2013 12:50:

Nahmd,

wambacher wrote:

Für Punkt 2 werden selbstverständlich geographische Indices aufgebaut und auch verwendet. So hat z.B. die Tabelle planet_osm_point, die alle wichtigen POI enthält, einen spatialen Index.

Natürlich gibt es diesen Index.

Ich sprach aber von der Tabelle, dem Speicher für die Datensätze. Da liegen die Nodes (vor dem ersten Update) in der Reihenfolge des Einspielens. Wenn in OSM-Id-Reihenfolge eingespielt, geographisch weitgehend zufällig. Führt dazu, dass der Index 1000 Fundstellen meldet, die über 20Gb verteilt sind. Heißt: 1000 Seeks. Heißt: warten.

Sortiert man die Nodes vor dem Einspielen um, liegen geographisch nahe Punkte mit hoher Wahrscheinlichkeit auch auf der Disk nahe beieinander, das erspart Seeks und der Zugriff kann signifikant schneller werden.

Natürlich geht diese Ordnung mit den Updates langsam verloren; das aber kann man mit einem Reorganisationslauf beheben.

Ich hab mit diesem Vorgehen in der Vor-SSD-Zeit eine lahme Anwendung in eine "jede Anfrage mit 2 Diskzugriffen beantwortet" umgebaut. Weil es da aber um eine "N×M" Zuordnung ging, also über jeweils eine von zwei Spalten gesucht wurde, die Tabelle verdoppelt, eine physisch nach N, eine phsisch nach M sortiert. Geht natürlich nur, wenn man ein Zeitfenster für die Reorganisationsläufe hat.

Just my 2.38¢.

Gruß Wolf