[Talk-de] ?Unterstützung für die(?) Server

Frederik Ramm frederik at remote.org
Di Sep 25 09:28:53 UTC 2007


Hallo,

> Sehe ich richtig, dass es das Ziel sein sollte, die Write-Querys zu
> verkürzen/teiles um das Locking effektiver zu machen?

Was ich geschrieben habe, war ein Beispiel, das mal auf der  
englischen Liste geposted wurde. Wo genau der Falschenhals ist, weiss  
ich aber nicht; vermutlich weiss das keiner so genau. Auf  
munin.openstreetmap.org (Rechner "db") kannst Du dir einen Eindruck  
vom Zustand des db-Servers machen.

> Man könnte, wenn
> man einen MySQL-Cluster nutzt das Ziel mit LOW_PRIORITY-Updates  
> machen.
> Wenn man dann noch wenige und effektive B-Trees in der Indexierung  
> nutzt
> würde das sicher viel Wirkung zeigen. Oder wird das schon gemacht?

Was die Indexierung anbetrifft, war es immer das Problem, dass man  
effektiv halt entweder nach Laengen- oder nach Breitengrad indexieren  
konnte, beim jeweils anderen dann aber ein huebscher Tablescan  
drankam. Das ist jetzt durch ein "Quadtile"-Indexing verbessert  
worden, aber optimal ist das noch sicher nicht.

> Statt planet-File könnte man im Grunde doch durch ein Planet-Table
> ersetzen? Das würde das Caching und die Performace der Datenbank  
> nutzen.
> Oder sehe ich das falsch, dass das Planet-File eine Art "SELECT * FROM
> alle_tabellen" ist?!

Doch, ist es - aber es soll ja schliesslich nur ein einziges mal der  
Select gemacht werden, und das Ergebnis soll dann verteilt werden.  
Dieser Select (natuerlich sind es ein paar mehr) ist im Moment  
hoellisch ineffektiv geloest, die Erstellung des Planet-Files dauert  
um die 5 Stunden oder so. Da gibt es vel Optimierungspotenzial (und  
auch schon Leute, die dran herumbasteln). Ich weiss nicht so ganz,  
was Du mit "Planet Table" meinst. Das Planet-File ist derzeit 16 GB  
gross (unkomprimiert als XML, aber die MySQL-interne Darstellung wird  
sicherlich auch ihre 2 GB brauchen) und es wird, wenn der TIGER- 
Import amgeschlossen ist, um die 200 GB haben. Mit Caching ist da  
vermutlich nicht mehr viel zu wollen.

[Meine Verteil-Idee]

> Die Idee finde ich gut, aber sie ist doch extrem hoch skaliert. Als
> Unterscheidungsmerkmal könnte man den Baum sowie den DNS-Baum  
> aufbauen.
> Wobei dann jeder Server für einen bestimmten Koordinatenbereich
> zuständig ist. Das würde auch das Problem lösen wie die Daten aktuell
> bleiben.

Ja, das koennte man machen, allerdings wuerde ich das nicht gut  
finden, weil es weniger anarchisch als mein Vorschlag waere. Bei  
meinem Vorschlag kann mehr oder weniger jeder einen Slave aufsetzen,  
und jeder kann sich frei ueberlegen, an wessen Slave er sich  
dranhaengen will - der, dessen Server am besten funktioniert, bekommt  
automatisch die Nutzer (also nicht wirklich automatisch, aber es  
spricht sich halt rum, dass der und der den schnellsten Server hat).  
Bei Deiner DNS-Idee wuerden wir zentral festlegen muessen, wer jetzt  
den Zuschlag fuer ein bestimmtes Gebiet bekommt, und muessten damit  
auch gleich sicherstellen, dass derjenige auch kein Idiot ist und  
sein Server funktioniert und so. Das wiederum wuerde uns zwingen, die  
Leute gruendlich auszuwaehlen und allerhand Bedingungen aufzustellen,  
wann jemand "gut genug" ist, um so einen Server zu betreiben... alles  
unnoetiger Verwaltungsaufwand, den man ebenso dem "freien Markt"  
ueberlassen koennte.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00.09' E008°23.33'






Mehr Informationen über die Mailingliste Talk-de