Designdokument von YaCy

Ereignisse, Vorschläge und Aktionen

Designdokument von YaCy

Beitragvon foo-bra » So Apr 18, 2010 8:55 am

Liebe YaCy-Entwickler,

wo kann ich ein Designdokument von YaCy der beim Einstieg hilft finden?
Folgende grundsätzliche Fragen wären für mein Verständnis interessant:

1. Welche sind die Lexemen (Buchstabe/Wort/N-Gram/Phrase) die indiziert werden?
2. Werden große Dokumente komplett indiziert, oder nur der Anfang?
3. Welche Meta-Informationen werden gespeichert (z.B., Stem, Sentence-Position, Capitalization, Phrase)?
4. Welche Indexes hat die Datenbank (falls sie das Konzept von Index unterstützt, auch wenn nur in ähnlicher Form)?
5. Wie Gross ist die Datenbank im Vergleich zu der Dokumentgröße? Messpunkte: .TXT, .HTML, .PDF?
6. Welche Faktoren beeinflussen die Dauer der Suche (z.B., Anzahl von Peers, Datenbankgröße, Query-Länge)?
7. Wie Komplett ist das Ergebnis-Set (wie gut ist die Replikation)?
8. Wie funktioniert das Ranking?
9. Ich sehe auf Euere Webseite dass YaCy mit dem Karlsruhe Institute of Technology zusammenarbeitet.
Gibt es wissenschaftliche Publikationen mit genauen Messungen für YaCy:
Precision, Recall u.ä., Tests mit TREC-Corpora, Skalabilität, Performanz=O(??) etc.?
10. Welche Vorteile hat die Kelondro-DB gegenüber einer SQL- oder einer NOSQL- (z.B., Key-Value) Datenbank?
Ist sie genauso schnell wie eine besser verbreitete Datenbank die mehr Entwickler und Benutzer/Tester hat?
Bei SQL kann man durch das Setzen eines Indexes neue Joins ermöglichen. Hat Kelondro diese Flexibilität?

Ich sehe gerade dass ich nicht der Erster bin der diese Frage stellt (s. Technische Dokumentation von 20.11.09).
Ein Designdokument könnte IMHO sehr wichtig sein:
- um mehrere Entwickler für das Projekt anzuwerben.
Eben wenn ihr wenig Zeit habt, sind mehrere Menschen die mitmachen sehr wichtig.
Daher: Dokumentation könnte wichtiger als Code Schreiben sein!!
- um dem Projekt eine klare Linie zu geben. Das Design leitet von den Zielen des Projekts ab.
- um zu verstehen wie YaCy gegenüber seinen Konkurrenten in Fragen wie Performanz oder Features steht.
Siehe Fragen Nr.2-4, die klären welche Queries überhaupt möglich sind.

Gruß,
Michael
foo-bra
 
Beiträge: 1
Registriert: So Apr 18, 2010 8:37 am

Re: Designdokument von YaCy

Beitragvon Quix0r » Mo Apr 19, 2010 2:39 pm

foo-bra hat geschrieben:Liebe YaCy-Entwickler,

Mabuhay sa forum! :)

foo-bra hat geschrieben:wo kann ich ein Designdokument von YaCy der beim Einstieg hilft finden?

Ich schaetze, mit Design meinst du eher das Software-Design... :)

foo-bra hat geschrieben:Folgende grundsätzliche Fragen wären für mein Verständnis interessant:

Ich gebe mir groesste Muehe, sie zu beantworten, gleich vorweg muss ich allerdings sagen, dass ich 80% User bin und 20% Entwickler.

foo-bra hat geschrieben:1. Welche sind die Lexemen (Buchstabe/Wort/N-Gram/Phrase) die indiziert werden?

Bitte nicht gleich als Rumkorregiererei verstehen, aber es heisst indexieren, indizieren wuerde unsere VDL gerne tun. ;) Ich kenne zudem Lexemen nicht als Fremdwort? Ich glaube aber, dass so gut wie jedes Wort geparst wird.

foo-bra hat geschrieben:2. Werden große Dokumente komplett indiziert, oder nur der Anfang?

Komplett, auch PDF usw. Eben alles was du unter Parser-Einstellungen aktiviert hast.

foo-bra hat geschrieben:3. Welche Meta-Informationen werden gespeichert (z.B., Stem, Sentence-Position, Capitalization, Phrase)?

Uff, muss ich passen.

foo-bra hat geschrieben:4. Welche Indexes hat die Datenbank (falls sie das Konzept von Index unterstützt, auch wenn nur in ähnlicher Form)?

Ich glaube, die Kelondro-DB ist keine rationale Datenbank. Sie ist im Grund genommen nur fuer YaCy konzepiert worden (meine ich jedenfalls) und besteht aus sogn. Blobs. Das sind serialisierte byte-Arrays.

foo-bra hat geschrieben:5. Wie Gross ist die Datenbank im Vergleich zu der Dokumentgröße? Messpunkte: .TXT, .HTML, .PDF?

Noch nicht so direkt gemessen. Die Groesse der DB hat sich aber seit vielen Versionen zurueck stark verkleinert. Heute kannst du 30 Mio. URLs + 7 Mio. RWIs im Speicher haben und brauchst nur 4 GB (5 GB und mehr sind besser).

foo-bra hat geschrieben:6. Welche Faktoren beeinflussen die Dauer der Suche (z.B., Anzahl von Peers, Datenbankgröße, Query-Länge)?

Ob lokale oder mit DHT-Suche macht sich schon bemerkbar. Auch haengt dies von deiner verwendeten Hardware ab. An der DB-Groesse sollte es kaum liegen, da Indexes erstellt werden. Es liegt oefters wirklich an der verwendeten (Festplatten-) Hardware.

foo-bra hat geschrieben:7. Wie Komplett ist das Ergebnis-Set (wie gut ist die Replikation)?

Muss ich wieder passen.

foo-bra hat geschrieben:8. Wie funktioniert das Ranking?

Das kannst du selbst beeinflussen. Ist links im Menue zu finden, ziemlich weit oben. Mehr weiss ich auch nicht. ;)

foo-bra hat geschrieben:9. Ich sehe auf Euere Webseite dass YaCy mit dem Karlsruhe Institute of Technology zusammenarbeitet.
Gibt es wissenschaftliche Publikationen mit genauen Messungen für YaCy:
Precision, Recall u.ä., Tests mit TREC-Corpora, Skalabilität, Performanz=O(??) etc.?

Ich glaube, in der Richtung ist noch nichts gelaufen. Das KIT (bzw. liebl-lab) betreibt einen vom freeworld abgetrennten Suchcluster "sciencenet" (dort bitte nicht selber einreihen).

foo-bra hat geschrieben:10. Welche Vorteile hat die Kelondro-DB gegenüber einer SQL- oder einer NOSQL- (z.B., Key-Value) Datenbank?
Ist sie genauso schnell wie eine besser verbreitete Datenbank die mehr Entwickler und Benutzer/Tester hat?
Bei SQL kann man durch das Setzen eines Indexes neue Joins ermöglichen. Hat Kelondro diese Flexibilität?

Das sind ja gleich drei Fragen auf einmal! ;) Uff, also... Vorteile? Ich denke, die DBs sind ganz unterschiedlicher Natur. Queries wie SELECT * FROM table WHERE foo=bar sind wohl kaum moeglich. Was meinst du mit genauso schnell wie eine besser verbreitete Datenbank? Wie bereits oben geschrieben, ist sie eine "Custom-DB", wenn du es so nehmen willst. :) Und sie ist performanter geworden, das war zur 0.4-Zeiten nicht der Fall... Indexes sind glaube ich nicht moeglich.

foo-bra hat geschrieben:Ich sehe gerade dass ich nicht der Erster bin der diese Frage stellt (s. Technische Dokumentation von 20.11.09).

Die meisten nutzen YaCy halt. :) Aber du bist (denke ich mal) gerne Willkommen, dich in's Team einzureihen. Bedenke aber, dass der Code seine Eigenheiten hat (andere Namenskonvention z.B.) oder (muss ich mal so offen sagen) wenig gekapselt ist, auch wenn sich da vieles getan hat, ist noch immer viel Code ungekapselt. (Ich selber bin schon zichmal am Code gescheitert... :( )

foo-bra hat geschrieben:Ein Designdokument könnte IMHO sehr wichtig sein:
[...]

Etwas dazu gibt es im Wiki. Einfach nur durchsuchen und bei Bedarf auf der Diskussionsseite deine Vorschlaege anbringen.

Ich hoffe, das hat etwas beantwortet und dich nicht gleich abgeschreckt... :)
Quix0r
 
Beiträge: 1345
Registriert: Di Jul 31, 2007 9:22 am
Wohnort: Krefeld

Re: Designdokument von YaCy

Beitragvon LA_FORGE » Sa Jun 11, 2011 9:20 am

Die Fragen richten sich mE nicht an einen Softwarearchitekten sondern mehr an einen Dokumentations- bzw. Informationswissenschaftler :-)

Die Beantwortung der noch offenen Punkte würde mich sehr interessieren.
LA_FORGE
 
Beiträge: 559
Registriert: Sa Okt 11, 2008 5:24 pm


Zurück zu Mitmachen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

cron