Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-07 Diskussionsfäden Peter Körner

Am 07.09.2010 12:03, schrieb Peter Wendorff:

P2P-Tauschbörsen technisch anguckst, tauschen die vor allem auch Quellen
miteinander aus - also: welche IPs sind sonst noch aktiv? Welche Daten
sind auf diesen Rechnern vorhanden?
Bei den meisten P"P Netzen hast du aber relativ statische Daten. Bei uns 
stellt sich nicht nur die Frage "Wer hat welche BBox" und die 
Herausforderung, die Antworten von mehreren Peers wieder zusammen zu 
einer großen BBox bauen. Zusätzlich muss nämlich auch noch geprüft 
werden, welcher Peer welchen Lag ggü. der Haupt-Datenbank hat.


Stell dir vor, der dispatcher erhält eine Anfrage für eine Weltweite 
Suche nach Autobahnen. Er muss dann 20 Peers ansprechen, die gemeinsam 
eine komplette Planet-DB haben. Wenn jetzt einer aber 15 Minuten hinter 
den anderen Peers, liefert daher also zu den anderen Peers inkompatible 
Daten.


Der Dispatcher muss also jederzeit wissen, welcher Peer welche Daten 
hält und wie alt diese sind.


Ich denke auch nicht, dass das Unmöglich ist, halte nur den Aufwand ggü. 
dem Nutzen für zu groß. Konkret bedeutet das, dass die erwartete Anzahl 
an Peers aufgrund der Voraussetzungen die ein solcher Peer an die 
Maschine stellt so gering ist, dass der Dienst viele Anfragen

 a) gar nicht oder
 b) nur langsam
beantworten kann, da Peers für bestimmte BBoxen ganz fehlen, zu alt oder 
zu ausgelastet sind.


Ich könnte mit ein solches System gut für Regionale suchen vorstellen, 
ähnlich organisiert wie pool.ntp.org, nicht aber für eine XAPI, die 
ebenso lokale wie auch weltweite Anfragen bearbeiten können soll.


Hier wäre meiner Meinung nach ein Rewrite sinnvoller. Aufgrund der 
Skalierbarkeit würde sich Erlang [1] anbieten und aufgrund der eignung 
für GIS-Themen PostGIS. Es kann aber sinnvoll sein, nicht Erlang zu 
verwenden, um eine größere Maintainer-Basis zu erlauben. In diesem Fall 
würde sich Ruby+Rails anbieten, da in diesem Fall eine Reihe von 
Erfahrungen und Manpower, die sich um den Rails-Port gebildet haben, mit 
nutzen lässt.


Lg, Peter


[1] http://chaosradio.ccc.de/cre082.html

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-07 Diskussionsfäden Florian Gross
Am Dienstag 07 September 2010, 12:03:22 glaubte Peter Wendorff zu wissen:

> Genaueres müsste ich nachlesen - aber machbar ist da jedenfalls mehr und 
> schneller, als du das grade skizzierst.

> 
> P.S.: Ich hab nicht gesagt, dass das einfach ist ;)

Da ich mich mit sowas nicht wirklich auskenne werf ich halt mal
meine Gedanken in den Raum und hoffe dabei was lernen zu können. :-)

flo
-- 
Wir Aliens wir müssen doch auf euch arme Menschlein aufpassen. Sonst
macht Ich noch den grossen Blubb mit euerer Welt.   [WoKo in dag°]

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-07 Diskussionsfäden Peter Wendorff

 On 07.09.2010 10:00, Florian Gross wrote:

Un wie schon im Chat erwähnt, mir gefällt die Idee des verteilten
Systems, aber was passiert, wenn einer eine Abfrage für etwas, das
es nicht gibt?
IMO würde es auf folgendes hinauslaufen:

Abfrage an den Verteiler ->  Rechner A|findet nix ->  weiter zu Rehner B
der auch nix findet (aber jedesmal einen hoffentlich vorhandenen Index
absuchen muß), der gibt weiter an C...
Fehlerhafte Anfragen dürften öfter mal vorkommen, ich denk mal daß
damit in kurzer Zeit das komplette Netzwerk hauptsächlich damit
beschäftigt ist einen Rechner zu finden, der evtl. die Antwort auf
die Anfrage hat.
Ich weiß, dass es im Bereich der Peer2Peer-Netzwerke einiges in der 
Richtung gibt, das die Hops (also Sprünge zwischen Rechnern) relativ 
problemlos reduzieren kann. Wenn Du Dir die relativ alten 
P2P-Tauschbörsen technisch anguckst, tauschen die vor allem auch Quellen 
miteinander aus - also: welche IPs sind sonst noch aktiv? Welche Daten 
sind auf diesen Rechnern vorhanden?


Während diese P2P-Netzwerke das Problem haben, dass die Gesamtheit der 
Daten nicht global bekannt ist, haben wir den Vorteil, dass wir die 
OSM-Datenbank sogar mathematisch einfach berechenbar strukturieren können.


Genaueres müsste ich nachlesen - aber machbar ist da jedenfalls mehr und 
schneller, als du das grade skizzierst.


Gruß
Peter

P.S.: Ich hab nicht gesagt, dass das einfach ist ;)

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-07 Diskussionsfäden Florian Gross
Am Montag 06 September 2010, 22:09:55 glaubte Peter Wendorff zu wissen:
>   On 06.09.2010 21:13, Josias Polchau wrote:
> >> Wichtig ist auch das der import schnell geht, so das fritzchen mueller
> >> das auch mal schnell auf seiner kiste machen kann.
> > Das wird bei solchen datenmengen nicht passieren. das wird auch in 
> > zukunft die Webspaces sprengen.
> Du hast aber schon mitgekriegt, dass die Idee in Richtung verteiltes 
> System ging?
> Dass eben nicht jeder Peer alle Daten verwalten soll?

Du wirst vollen Zugriff auf die Maschine brauchen um sowas hinzustellen.

Un wie schon im Chat erwähnt, mir gefällt die Idee des verteilten
Systems, aber was passiert, wenn einer eine Abfrage für etwas, das
es nicht gibt?
IMO würde es auf folgendes hinauslaufen:

Abfrage an den Verteiler -> Rechner A|findet nix -> weiter zu Rehner B
der auch nix findet (aber jedesmal einen hoffentlich vorhandenen Index
absuchen muß), der gibt weiter an C...
Fehlerhafte Anfragen dürften öfter mal vorkommen, ich denk mal daß
damit in kurzer Zeit das komplette Netzwerk hauptsächlich damit
beschäftigt ist einen Rechner zu finden, der evtl. die Antwort auf
die Anfrage hat.

flo
-- 
>Aber wenn er sich auf Kleinbuchstaben und die wichtigsten Sonderzeichen
>beschränkt, kann er den Text sogar 5bit codieren.
Wenn er die Kleinbuchstaben und Sonderzeichen auch noch wegläßt, kann er das
Nichts sogar 0bit codieren.  [Frank Weinberg und Dieter Bruegmann in dag°]

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-06 Diskussionsfäden Bernd Wurst
Am Dienstag 07 September 2010, 08:08:31 schrieb Josias Polchau:
> Ich hatte immer gelernt:
> Entweder Schnell oder Platzsparend.

Das gilt da aber nicht. Im kleinen stimmt das meistens.

Wenn aber, wie Flo hier eindrucksvoll gezeigt hat, der Such-Index einerseits 
größer ist als der zu erwartende Arbeitsspeicher und andererseits der 
Suchindex fast genau so groß ist wie die Daten selbst, dann gilt deine Regel 
eben nicht mehr.

Dann lieber weniger Daten, die man komplett im Arbeitsspeicher halten kann, 
diese mit einem groben Index partitionieren und dann in einem Segment 
sequenzielle Suche. Das ist schneller als eine Index-basierte Suche auf der 
Platte.

Gruß, Bernd

-- 
Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit.
Aber beim Universum bin ich mir noch nicht sicher.  -  Albert Einstein


signature.asc
Description: This is a digitally signed message part.
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-06 Diskussionsfäden Josias Polchau

Am 07.09.2010 06:16, schrieb Florian Lohoff:

On Mon, Sep 06, 2010 at 09:13:24PM +0200, Josias Polchau wrote:

Am 06.09.2010 09:37, schrieb Florian Lohoff:

SQL DBs passen nicht wirklich schoen zu den OSM Daten. Das Problem mit der TRAPI
sind die vielen kleinen files und perl als interpretersprache die nicht
wirklich super fuer die bit ops ist (Ich bin sonst schon ein perl fan)


Du kennst PostGis? die Geometrie-Daten werden in einem Binärformat
abgespeichert.
Ein eigenes DB-Schema kann man auch erstellen. Ähnlich dem von Mapnik.


Ja - Kenn ich - beschaeftige mich seit mehreren Jahren damit.

Aber mal drueber nachgedacht wie ineffizient es ist in der Postgres/Gis
einen node abzulegen in einer tabelle die eine numerische id, lat, lon
und sonst nix enthaelt? Die tabelle ist nicht besonders breit
und der index in etwa genausogross wie die tabelle selbst. Das geht
wenn man es massschneidert signifikant effizienter ...

Nein die Suche ist bei Postgres effizient nicht der Speicherplatz.
und genau das brauchen wir für die XAPI
nicht um sonst hat die bisherige XAPI auch eine DB im hintergrund.
Das problem an der alten ist, dass keiner mehr den code warten kann bzw 
eine weitere instanz aufsetzen kann.



d.h. 60GB zu 6.2GB - da ist ohne index nen faktor 10 dazwischen. Postgres/Gis
ist super als rapid prototyping und um schnell mal mit wenig daten was
ans laufen zu bringen. Aber OSM bring das zeugs schnell an den rand
des machbaren es sei denn man ist kroesus und kann mit Hardware danach werfen.


Ich weiß nicht, ob du da nicht etwas vergessen hast.
Ich hatte immer gelernt:
Entweder Schnell oder Platzsparend.
also, entweder man baut ein binärformat, das klein ist, das man aber 
sequentiell ohne index durchsuchen muss
oder man benutzt ein Relationales Modell, das Sehr hohe Zugriffszeiten 
hat, dafür aber sehr groß ist.


durchsuch mal volltext 6 GB ohne index. das dauert zu lange. zumindest 
für die XAPI

Terrabyte Festplatten kosten nicht mehr die Welt.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-06 Diskussionsfäden Peter Wendorff

 On 06.09.2010 21:13, Josias Polchau wrote:

Wichtig ist auch das der import schnell geht, so das fritzchen mueller
das auch mal schnell auf seiner kiste machen kann.
Das wird bei solchen datenmengen nicht passieren. das wird auch in 
zukunft die Webspaces sprengen.
Du hast aber schon mitgekriegt, dass die Idee in Richtung verteiltes 
System ging?

Dass eben nicht jeder Peer alle Daten verwalten soll?
evtl auch einen Verteiler der je nach art die Anfrage an verschidene 
Syteme weitergibt.
Ähm... genau das hab ich heute Nachmittag geschrieben (Mail von 11:26 - 
auf die bisher komischerweise niemand geantwortet hat...)


Gruß
Peter

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] XAPI Neubauen WAS:Re: XAPI ständi g tot

2010-09-06 Diskussionsfäden Josias Polchau

Am 06.09.2010 09:37, schrieb Florian Lohoff:

SQL DBs passen nicht wirklich schoen zu den OSM Daten. Das Problem mit der TRAPI
sind die vielen kleinen files und perl als interpretersprache die nicht
wirklich super fuer die bit ops ist (Ich bin sonst schon ein perl fan)


Du kennst PostGis? die Geometrie-Daten werden in einem Binärformat 
abgespeichert.

Ein eigenes DB-Schema kann man auch erstellen. Ähnlich dem von Mapnik.

Datenbanken sind genau für so etwas gemacht. sie müssen nicht erst 
eingelesen werden, sondern haben Indzes usw.
ich hab sehr gute erfahrungen gemacht. sogar für routing gibt es eine 
Postgis erweiterung.


Selbst komplizierte GeoOperationen auf Deutschland waren in meiner VM 
extrem schnell trotz 1 GB Ram

Server haben meist ein vielfaches.
In Zukunft wird es so kommen müssen, wenn man eine Funktionierende und 
nutzbare XAPI haben möchte.

Man braucht einfach einen kompletten Server für sowas.
ein kleiner webspace reicht für die Welt nicht aus.

Ich finde das Thema OSM binary file format spannend.


hm da bin ich nicht so ein großer fan von, da wird die selbe Situation 
Entstehen wie sie jetzt existiert.
Keiner kann den Code warten, es seidenn du Kommentierst extrem gut. das 
ist aber meiner Erfahrung nach nur bei wenigen Entwicklern die solche 
Sachen machen der Fall.



Wichtig ist auch das der import schnell geht, so das fritzchen mueller
das auch mal schnell auf seiner kiste machen kann.
Das wird bei solchen datenmengen nicht passieren. das wird auch in 
zukunft die Webspaces sprengen.





Deshalb habe ich mal mit einem parallelisierten OSM XML file reading
rumgespielt d.h. beliebig viele cores dafuer zu nutzen (Wenn das bunzip single
threaded ist kann man durchauf 6-8 Cores beschaeftigen). Klappt soweit ganz
gut.  Die frage ist nur wie man jetzt das ganze XML in eine Datenbank
verbuddelt - Da habe ich erste experimente mit integer compression und string
deduplication gemacht - nen bischen wie die google protocol buffers (ohne die
zu kennen) bis ich dann ueber die osm binary file implementierung gestolpert
bin.


Cool. leider kenne ich mich in dem Gebiet noch nicht aus, sodass ich dir 
da nicht helfen kann..

außerdem kann es ja auch verschiedene Ansätze geben.

evtl auch einen Verteiler der je nach art die Anfrage an verschidene 
Syteme weitergibt.





___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de