YaCy-Netz, Datenbestand, Crawlen

Ereignisse, Vorschläge und Aktionen

YaCy-Netz, Datenbestand, Crawlen

Beitragvon thq » So Jan 18, 2009 4:00 pm

Da ja gerade der Sonntagscrawl läuft, wogegen ich gar nichts habe, hier nochmal was zu YaCy im allgemeinen.

Da die YaCy-Netz-Größe schon länger im Bereich von 80-1x0 Peers liegt und wie ich finde das Hauptproblem zur Zeit das speichern der Daten ist, frage ich mich ob es nicht besser ist wenn der Datenbestand langsamer wächst. So schnell wie zur Zeit die Daten reinkommen ist ein kleiner neuer Peer schnell wieder am Limit und der Benutzer vielleicht damit auch schnell wieder weg. Auch kommen so langsam einige der großen Peers an ihren Grenzen (sag ich mal ;))

Von daher bin ich der Meinung das solange wir nicht mehr Peers haben, es besser fürs Netz ist wenn nicht jeder Peer am Limit crawlt, sondern die Peers sich mehr mit dem verteilen und suchen beschäftigen.

Crawlen: ich bin immer noch der Meinung, auch wenn es den Peer nicht belastet, das es nicht nötig ist über 1.000.000 Remote-Crawls anzusammeln.

Wie ist eure Meinung dazu ?
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon lisema » So Jan 18, 2009 4:13 pm

Ich denke das Problem ist woanders

Ich sehe sehr viele wikipedia Crawls, fast jeder crawl stösst unweigerlich irgendwann auf die Wikipedia. Das gleiche gilt für Amazon etc. Sowas führt zu Xfachen Datenbelastungen.

Ich denke, es wäre besser, spezialisierte Peers genau für solche Datensätze zu erschaffen. Dazu sehe ich viele Mülldaten vorbeifliegen. Wo sich Peers einfach festfahren, als Beispiel 404 Seiten, die sich im Kreis drehen.

Das zweite wichtige ist aus meiner Sicht das recrawlen. Neue Daten müssen nicht schnell aquiriert werden, aber einige Daten sollten regelmässig recrawlt werden.

Das nächste und aus meiner Sicht größte Problem ist, dass man YaCy nicht sinnvoll limitieren kann. Der Client frisst sich fett, bis nur noch 3 GB auf der Platte sind.

Mal in Kurz:
- sinnvolle Indexerstellung (zB könnten X Personen einen größeren Peer pflegen, sodass Heise, spiegel, golem, whatever, nur einmal vorkommt, aber sinnvoll erneuert wird)
- Mit den Arbeiten von Orbiter an der Datenbank kann man einmal viele DBs zusammenführen, optimieren.
- "Grenzen" bestimmen. Was erwartet einen Betreiber mit 1 Mio Seiten?
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon bluumi » So Jan 18, 2009 4:56 pm

thq hat geschrieben:Crawlen: ich bin immer noch der Meinung, auch wenn es den Peer nicht belastet, das es nicht nötig ist über 1.000.000 Remote-Crawls anzusammeln.


:-D Der Meinung bin ich auch.. Und mit den vorgerigen Versionen schaffte ich es auch nie über 200'000 zu kommen. Aber in letzter Zeit wächst die RemoteCrawl Queue an und wächst. Für mich ist es ein Indiz, dass a) es schneller Lokal Crawlt und b) deutlich langsamer abbaut. Ginge man davon aus, dass alle welche crawlen auch in den Pausen der leeren Queue remote Crawls akzeptiert, so kann es entweder sein, dass jetzt wirklich zu schnell gecrawlt wird :) oder die RemoteCrawl deutlich weniger gut abgearbeitet werden als zuvor.
Dass es aber nur am schnelleren Crawlen liegt, glaube ich nicht, da ich auch vermehr feststellen musste dass Peers welche ich absichtlich leerlaufen lasse, dann mehr ideln als vor ~1 Monat.

lisema hat geschrieben:Ich sehe sehr viele wikipedia Crawls, fast jeder crawl stösst unweigerlich irgendwann auf die Wikipedia. Das gleiche gilt für Amazon etc. Sowas führt zu Xfachen Datenbelastungen.

Wikipedia / Heise / Amazon habe ich in meinen Peers grundsätzlich blacklisted. Ganz einfach, weil es bereits zuviele gibt, welche das immer wieder ancrawlen ;)
Genauso sind alle meine Crawlns auf max. 10'000 Seiten pro Domain limitiert, damit es sich nicht mehr so intensiv in Shop Systemen festsetzten kann.
Zuletzt geändert von bluumi am So Jan 18, 2009 4:58 pm, insgesamt 1-mal geändert.
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon rzkh » So Jan 18, 2009 5:34 pm

thq hat geschrieben:Wie ist eure Meinung dazu ?


Ich denke, wir haben hier grade zwei verschiedene Ansätze, die ein wenig aufeinanderprallen:
- der unbedarfte User, den wir dazu bringen wollen, Yacy auf seinem kleinen Arbeitsrechner mitlaufen zu lassen. Dort darf yacy nicht viel Ressourcen fressen, muss aber nette Suchergebnisse bringen und ein kleiner aber wichtiger Teil des Netzwerks sein
- ein paar Enthusiasten, die einige dicke Bleche laufen lassen wollen (aus verschiedenen Gründen), bei denen Ressourcen in der Regel keine Rolle spielen, sofern sie gut ausgenutzt werden.
In Summe müssen beide "Profile" ein brauchbares Ergebnis bringen, ohne dass immer die gleichen Seiten besucht und indexiert werden. Kann man hier vielleicht zwei verschiedene Yacy-Einstellungsgruppen erstellen, so dass die zweite Gruppe bei Bedarf sagen kann, dass es jetzt richtig losgehen soll?

Es läuft vermutlich gegen die Denke des Projekts, aber ich glaube, ein gewisser Zentralismus kann nötig sein, um zumindest das tausendste Crawlen von Wikipedia und ähnlich bekannten Seiten etwas zu unterbinden?

-h
rzkh
 
Beiträge: 127
Registriert: Do Aug 16, 2007 10:25 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon Orbiter » So Jan 18, 2009 5:53 pm

bluumi hat geschrieben: in letzter Zeit wächst die RemoteCrawl Queue an und wächst.

das ist wohl ein Ergebnis eines Bugfixes Anfgang letzter Woche, wo vorher versehentlich alle remote crawls auch lokal geladen wurden. Das hat die Anhäufung der remote crawls behindert.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon Noki » So Jan 18, 2009 7:30 pm

Ich bin recht neu dabei und verstehe YaCy wohl noch nicht so ganz. Ich verstehe nicht ganz warum alles mehrfach gecrawlt und verteilt wird.

Meiner Meinung nach müsste weniger gecrawlt und mehr koordiniert werden. Informationen sollten im Netz redundant sein, aber nur bis zu einer gewissen Menge. Für jeder URL müsste nachgeschaut werden können wie viele Peers diese indexiert haben und wie aktuell diese ist. Ist die URL im Netz häufig vorhanden und relativ aktuell muss man sie garnicht crawlen und sie eigentlich auch nicht speichern. Wird die URL selten gefunden, so kann diese gecrawlt werden und Peers welche die URL zu einem früheren Zeitpunkt gecrawlt haben können ggf. geupdated werden oder den Hinweis bekommen das sie ihre veraltete Version (nach einem Redundanzcheck) verwerfen können. Speichert man darüber hinaus die internen Zugriffe auf den Datensatz, so kann man die Redundanz und ReCrawl-Rate für häufig angefragte URL's ggf. irgendwie erhöhen und für eine schnellere Suche auf mehr Peers vorhalten. Jeder Peer könnte automatisiert veraltete Inhalte aktuallisieren und bei freiem Speicherplatz neuen Links folgen um den Index zu vergrößern.

Meine Fragen:
Wie genau handelt YaCy Redundanzen momentan?
Hält YaCy einen lokalen Index aktuell und wenn ja, wie?
Versucht YaCy aktuell Mehrfachcrawls durch verschiedene Peers zu reduzieren?
Noki
 
Beiträge: 6
Registriert: Do Jan 15, 2009 9:34 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon lisema » Mo Jan 19, 2009 12:01 pm

Das Problem sehe ich dabei darin, dass jeder für seinen Peer arbeitet. Dieses Konzept ist verständlich, führt aber auch zu zig mehrfach Crawls.

Wenn das gesamtnetz nur aus Informatikern besteht, kommen Xfach heise, slashdot whatever rein, aber kein bisschen kochen.de oder veganwelt.de. Da viele Informatik Seiten auch auf die Wikipedia verlinken, ist das Chaos Perfekt. Dort ist man als Crawler sofort gut dabei, über die Spezial Seiten erreicht man auch sofort viele Seiten. Die Crawl Queues schnellen also sofort in die Höhe.

So als spontane Idee halte ich Gruppen im YaCy Nety nicht verkehrt. jeder Peer kann in X Gruppen dabei sein und arbeitet zusammen. Zusammenarbeit heisst dabei insbesondere, das Crawlpunkte gepflegt werden, sowie eine Black List, und weitere Listen.
Dazu gibt es einen public Pool, diese Ressourcen werden vom Netz benutzt, das Netz schliesst dort Redundanzen über ein bestimmte Mass aus, und verwaltet es selbstständig.

Als Beispiel
Es gibt ene Gruppe Wikipedia, eine Gruppe News, eine Gruppe ITNews eine Gruppe Tech
Wikipedia Crawlt nur Wikipedia.Sie recrawlen auch in sinnvollen Abständen und kümmern sich drum
News crawled Heise, spon, etc
ITNews heise, slashdot, whatever

Die Blacklists sind wie gehabt. Neue Listen sind zB Wikipedia Links, die direkt an die Wikipedia Gruppe gegeben werden, auf die die News Leute stossen. Weitere Links, die nicht mehr zu den gecrawlten Seiten gehören, es wäre aber schade, wenn sie nicht gecrawlt werden, weil sie im Kontext der anderen Dinge stehen. So entsteht ein wachsendes Netz, das nach und nach diese Kontexte erschliesst. Ich finde es zB Schade, dass ab der maximalen Crawltiefe die Links verloren gehen.Teilweise sind da sehr interessante Dinger hinter, aber man muss die Peers halt beschränken. Mit niedriger Prioriät diese zu ercrawlen halte ich für gut.

Nur so als Spinnerei :)
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon thq » Mo Jan 19, 2009 12:35 pm

Ich würde radikaler vorgehen und YaCy eine Blackliste mitgeben wo große Seiten wie Amazon, Ebay, Wikipedia, alle Suchmaschinen ... fürs crawlen gesperrt werden. Solange man darauf hinweißt sehe ich kein Problem, weil es dann ja selber ändern kann wenn er möchte.

Für Wikipedia reicht im Prinzip ein einziger Peer (pro Sprache) weil es eine Seite gibt wo man immer sehen kann welche Seite sich geändert hat. Das heißt dieser Peer müsste Wikipedia nur einmal abgrasen und danach nur noch diese eine Seite überprüfen.

Immer vorausgesetzt das wir einen Peer haben der diese gesperrte Seite crawlt. Zumindest bei Seiten wie Wikipedia.

Das würde meiner DB helfen weil dadurch viele "unresolved URL Hashes" erst gar nicht entstehen ;)
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon lisema » Mo Jan 19, 2009 1:06 pm

Dort sehe ich noch Probleme. Aber das schreibe ich mal ausführlicher wannanders

Eine wichtige Sache wäre für mich noch, das finden von Loops. Hannover.de hatte auch eine, wenn ich mich recht entsinne. JoelonSoftware auch. Das sind Ratz Fatz 200 000 Links, alles Müll. Da müste eine gewisse Intelligenz mal über die URL DB gehen, und nach auffälligen pattern suchen (wiederholungen, etc) die dann ein Mensch nochmal überprüft. Wie schonmal geschrieben, die Special: Seiten in jedem Wiki sind solche Loops.
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon Orbiter » Mo Jan 19, 2009 1:37 pm

Die Errichtung einer URL-DHT wurde schon mal mit Urban im Zusammenhang mit sciencenet besprochen. Es scheint für mich sinnvoll zu sein, eine DHT für URL-Hashes zu machen, allerdings nur für die die Feststellung, das die URL erfasst wurde, nicht für die Speicherung der Metadaten selber, denn die ist sehr stark von der RWI-DHT abhängig. Ein völliges Eliminieren der vorhanden LURL-DB und Ersetzen durch eine DHT ist aus Performancegründen unmöglich. Eine exists-DHT für URLs müsste aber dann nicht nur die Information haben, das eine URL erfasst wurde, sondern auch von wem, damit es sich verifizieren läßt, dass das stimmt. Das würde aber wiederum ein Privatspährenproblem aufwerfen, und somit ist das in freeworld nicht praktikabel, wohl aber in privaten Netzen, wie sciencenet.

Die von lisema angesprochene Alternativ-Vorgehensweise mit einer 'sozialen Ordnung' ist auch gut. Vielleicht könnte man dort dann sogar ein eine Gruppen-orientierte URL-DHT machen, da dort das Privatsphärenthema anders ist (man bezieht es nicht auf eine Person sondern auf die Gruppe).

Das sind aber auch nur so Ideen, hierzu gibt es von meiner Seite noch nichts konkretes in Planung, mit einer kleinen Ausnahme: die neue vertikale DHT sieht eine x-Teilung (bsp. x = 16) der RWI-DHT in URL-Gruppen vor, so dass sich die DHT in x Teile für die URLs teilt, d.h. effektiv sollte die Menge der per RWI-DHT verteilten URLs auf 1/x fallen. Theoretisch.
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon bluumi » Mo Jan 19, 2009 6:46 pm

lisema hat geschrieben:Das Problem sehe ich dabei darin, dass jeder für seinen Peer arbeitet. Wenn das gesamtnetz nur aus Informatikern besteht, kommen Xfach heise, slashdot whatever rein,


Naja.. Da muss ich Dir in meinem Fall wiedersprechen :)
Da ich eh nicht weiss was ich ansurfen soll, habe ich angefangen nach Themen zu Crawlen, bzw. zumindest die Startpunkte ziemlich kurios zu wählen.
Ich gehe auf Google.ch, und suche 10-20 Domains welche auf ein Stichwort gut platziert sind und wirklich damit zu tun haben und lassen dann den Peer diese zur Tiefe 5 abarbeiten. Auf diese Weise habe ich nach. "Hausaufgaben", "Wald", "Frosch", "Fisch", "Kochen", "Kunst", "Freizeit", "Bergsteiger" und vielem mehr gesucht.
Im Prinzip währe ja mein Wunschziel, dass Yacy die Googlesuche ersetzten kann. Und in einigen Bereichen habe ich doch erstauliche Verbesserung wahrgenommen, was mir meine Suche an Resultaten zurück giebt ;)

Aber anderseits gebe ich Dir natürlich voll Recht, dass YACY, dadurch dass es viele TechnikFreaks (oder fast nur?) hier hat, einen enormen Hang dazu hat kochen.de nicht gross zu besuchen :P
bluumi
 
Beiträge: 388
Registriert: Mi Okt 08, 2008 7:27 am

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon lisema » Mo Jan 19, 2009 11:32 pm

Ja, aber auch die Zufallsstartpunkte bringen einen (leider) sehr schnell in die Wikipedia Falle.

Ich schreibe nun aber erstmal was zu Remote Crawls und die "Menge". Ich halte Remote Crawls (RC) für eine sehr hilfreiche Sache für das Netz. Denn eine Maschine die weit ins Netz Crawled, sagen wir mit Tiefe 10 bringt dem globalen Index sehr viel. Dabei kann jeder helfen, damit dieser Index größer wird, eben durch RCs. Dabei wird die Maschine schon irgendwann durch den Index an ihre Grenzen stossen, langsam werden, aber durch die RCs noch weiter wachsen können. Bzw schnell einen Index aufbauen.

Ich persönlich würde mir wünschen, dass es mehr remote Crawler gibt, die alles crawlen. Also alles zulassen. Ich will keine amazon/wikipedia et al Links in meinen Indizes, aber ich ercrawle sie gerne für andere. Wenn alle die blacklist auf wikipedia setzen, dann kommt der Wikipedia Crawler nicht hinterher (Es sind mehr als 120 Edits pro Minute, irgendwann)
Ohne die Blacklist lande ich aber leider mit größeren Kisten wieder bei wikipedia, und fresse mich dort fest :(

Deshalb würde ich mir wünschen, dass man RCs ohne BlackList durchführt, und auch uU ohne die Ergebnisse zu speichern. Wirklich nur für den entfernten Host.

Ein zweites Problem existiert, gerade im universitären Bereich. Einige Dokumente sind nur aus dem Subnetz verfügbar. Die darf ein Peer in dem Subnetz auf gar keinen Fall crawlen, wenn der Index öffentlich ist. Genauso ist es mit Fachdatenbanken.
DH dort muss es eine Blacklist geben, die unbedingt eingehalten werden muss.


Zu guter Letzt, RCs sind auch die Möglichkeit, kurzfristig verfügbare Peers zu nutzen. Ich spreche dort insbesondere von Peers, die nicht durchlaufen können. Als Beispiel Laptops. Mein Laptop hat im Akkubetrieb einfach nicht zu crawlen. Sollte er ein Index Server sein? Meines erachtens nach nicht, aber Crawlen insbesondere für andere, finde ich über Nacht beim Laden OK. Sie machen das Netz leistungsfähiger, wenn sie denn gut klappen. Schauen wir mal wohin es sich entwickelt.

Mal schaun ob ich das irgendwann mal als ganzes Konzept aufs Papier bringen kann.
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: YaCy-Netz, Datenbestand, Crawlen

Beitragvon Orbiter » Di Jan 20, 2009 12:05 am

lisema hat geschrieben:Ein zweites Problem existiert, gerade im universitären Bereich. Einige Dokumente sind nur aus dem Subnetz verfügbar. Die darf ein Peer in dem Subnetz auf gar keinen Fall crawlen, wenn der Index öffentlich ist. Genauso ist es mit Fachdatenbanken.
DH dort muss es eine Blacklist geben, die unbedingt eingehalten werden muss.

Die Trennung zwischen Internet und Intranet ist gegeben, und zwar durch die Netzdefinition. Ein YaCy Peer im freeworld crawlt keine Intranets, so lange sich ein solches nicht durch einen fehlkonfigurierten DNS als Internet ausgibt. Jedenfalls brauch man hier keine Blacklists. Das ganze funktioniert ja auch schon seit langem, oder hat irgendjemand jemals in YaCy ein Link zu einem Intranet gesehen? (ausser man will das)
Orbiter
 
Beiträge: 5796
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main


Zurück zu Mitmachen

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast

cron