/ Ruby - Text datenbanl system -
entropie
- programmiertechnik
Mfg entropie
boese return taste, bitte loeschen :/
(hab mich dann doch entschlossen keinen neuen thread anzufangen)
hallo forumer.
Ich habe vor ein umfangreicheres projekt zu starten. Das ziel ist es ein Datenbanksystem (hauptsaechlich) für text, html und pdfs zu erstellen.
Mein erstes problem ist die datenbank. Die gespeicherten daten sollen 'human-readable' sein, und wenn möglich auch veraenderbar ohne die integritaet zu gefaehrden. Ausserdem sollte es natürlich eine volltextsuche geben, wobei ich mir nicht so richtig im klaren bin, wie man das einigermassen performant hinbekommt. Zur zeit schwebt mir da eine indizierung mittels eines "updatedb" oder so, damit neue files in den index aufgenommen werden. Das gefaellt mir eigentlich nicht wirklich, bin deswegen gerade hier fuer vorschlaege offen.
Das zweite groessere problem kommt mit irgendwelchen HTML dokus (etc...) die aus mehreren dateien bestehen. Natürlich will ich innerhalb der datenbank den links in der doku folgen. Zur zeit wäre mein ansatz, jede eizelne HTML-datei per regexp durchzuparsen, und existierende HTTP links umzuformen. Das sollte (zwar mit groesserem aufwand) moeglich sein, aber vielleicht habe ich da ein brett vorm kopf. Vielleicht geht das auch mit Apache's mod_rewrite?
Zur zeit habe ich ca 20GB text, PDF und HTML dokus. Vielleicht ist es auch sinnvoll die files zu (ge)zippen, um speicherplatz zu sparen. Nun habe ich damit recht wenig erfahrung, und weiss nicht genau ob es performance-technisch sinnvoll ist die dateien zu entpacken, bevor man auf sie zugreift.
Den programmaufbau stelle ich mir in etwa (sehr grob) so vor: Zwei fast vollkommen voneinander losgeloeste systeme. Ein teil soll den Import übernehmen (der daemon), der andere nur den html/xhtml/xml output, via HTTP und per kommandozeilen client.
Der importer scannt gewisse verzeichnisse, erkennt anhand der inhalte (filetypen), welches format vorliegt und die nötigen schritte einleitet um zu speichern.
Der andere teil, uebernimmt alles was mit dem output zu tun hat.
WebFrontend, authorisierung, userbereich (fuer private daten) Via formular oder cmd-zeile, sollen imports von daten (zb. wget.., aber auch durch simples eingeben) möglich sein.
Ich denke ich konnte ungefaehr verdeutlichen worums geht, und bin für jeden gedanken offen (auch wenn er das eine oder andere bereits von mir geplante auf den kopf stellt).
Und sorry nochmal für den "leeren thread".
Mfg entropie