Re: suchmaschine für den hausgebrauch

Startseite
Anhänge:
Nachricht
+ (text/plain)
Nachricht löschen
Nachricht beantworten
Autor: Martin Steigerwald
Datum:  
To: list
Betreff: Re: suchmaschine für den hausgebrauch
Am Mittwoch, 31. Oktober 2012 schrieb Sven Velt:
> Hi!


Hi Sven!

> > Ich hab das ja mit KDE schon inklusive. Und mittlerweile funktioniert
> > Nepomuk ja auch. Ich hab damit schon Dateien gefunden, von denen ich
> > gar nicht mehr wusste, dass sie noch da waren :)
> >
> > Allerdings läuft das nicht zentral auf einem Server.
>
> Über Sinn und Unsinn pro User eine MySQL-Instanz laufen zu lassen, lass
> ich mich jetzt mal nicht aus - oder ist das inzwischen
> anders(brauchbar) gelöst? Wir haben in Treuchtlingen pro Server ein
> paar Dutzend KDE-Sessions laufen. Ich könnte mir vorstellen, dass da
> der
> "Single-User-Computer"-Ansatz von KDE die Kiste relativ schnell an die
> Wand fährt. Mist, nun hab ich doch mehr dazu gesagt, als ich wollte ;-)


Ei, jei, jei. Der Sven beschäftigt sich mit KDE…

Du verwechselt da ein paar Dinge.

Akonadi, die PIM-Metadaten-Zwischenspeicherlösung, nutzt standardmäßig
MySQL. Akonadi kann aber auch PostgreSQL und SQLite 3 verwenden. MySQL und
PostgreSQL dürfen auch woanders laufen. Ich hab das bei teamix
mittlerweile mit PostgreSQL so eingerichtet, da ich die Datenbank an sich
auch nicht so gerne auf einem NFS laufen lassen möchte.

Die Konfiguration dafür liegt ihn:

martin@merkaba:~> cat .config/akonadi/akonadiserverrc
[%General]
Driver=QPSQL

[QPSQL]
Name=akonadi
Host=/home/martin/.local/share/akonadi/socket-merkaba
Options=
ServerPath=/usr/lib/postgresql/9.1/bin/pg_ctl
InitDbPath=/usr/lib/postgresql/9.1/bin/initdb
StartServer=true

[Debug]
Tracer=null


Hier auf dem Laptop hab ich es lokal pro Benutzer laufen. Da ich dann fürs
Backup alle Daten im Homeverzeichnis des Benutzers liegen hab, und mir das
nun auch egal ist, ob bei maximal zwei gleichzeitig laufenden KDE-Sitzung
mal ein PostgreSQL mehr läuft. Ich hatte es auch mal mit einem zentralen
lokalen PostgreSQL laufen, bemerke aber subjektiv keinen Unterschied.

Host kann eben ein anderer Host sein. Und dann gibts noch ein paar andere
Optionen wie User, Passwort und Port, soweit ich mich erinnere.

Das entsprechende Qt SQL-Modul ist auch noch erforderlich.

> Bliebe die Frage, ob man das Ding irgendwie von Multi-User (aka
> "Rechte-Management aus den Verzeichnissen/Dateien übernehmen")
> überzeugen kann oder nicht... Wenn ich nicht gerade was anderes an der
> Backe hätte, würd ich mir's glatt mal anguggen...


Nepomuk indes verwendet die Datenbank Virtuoso und damit auch einen
anderen Datenbank-Dialekt namens SPARQL. Und da kenne ich derzeit keine
Lösung dafür, dass Virtuoso zentral laufen zu lassen.

Vielleicht geht das auch. Ich habe aber noch nicht davon gehört.

In der einzigen ausführlichen Anleitung, die ich kenne, finde ich davon
nichts¹. Auch im Userbase-Artikel ist nichts². Auch auf Techbase finde ich
auf den ersten Blick nichts³. Eine Suche nach „Nepomuk central database“
brachte mir auch keine Erleuchtung.

Ich würde im Zweifelsfall mal in der Nepomuk-Mailingliste nachfragen[4].
Wär ja doch eine nette Funktion und Virtuoso selbst kann meines Wissens
ohne Weiteres zentral laufen.

Ob jetzt eine oder mehrere Datenbank-Server auf einem System so einen
großen Unterschied machen? Du verlierst halt den Vorteil des internen
Schedulings aller Anfragen durch einen Datenbank-Server. Den Overhead
durch mehr Prozesse schätze ich eher als gering ein – bei PostgreSQL und
MySQL, bei Virtuoso wäre ich mir da nicht so sicher. Wäre im Zweifelsfall
natürlich nachzuprüfen. Der Speicherverbrauch wäre wahrscheinlich etwas
höher. Und ein Tuning der Datenbank schwieriger. Ich denke, das letzte ist
noch mit der größte Nachteil. Und gerade bei den Datenmengen, die Nepomuk
produziert, könnte das eine Rolle spielen. Akonadi kommt in Debian ja
bislang standardmäßig nur fürs Addressbuch zum Einsatz, da Debian immer
noch KDEPIM 1 in der Version 4.4.11.irgendwas einsetzt. Akonadi wird ein
Thema, wenn Mail-Metadaten auch drin landen, die Debian KDE Entwickler
also KDEPIM 2 als Pakete anbieten. Ich rechne damit, wenn sie KDE 4.10
bereitstellen. Was noch dauern kann.

Um mal einen Eindruck von den Datenmengen, die Nepomuk produziert, zu
bekommen:

martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend>
ls -lh
insgesamt 5,8G
-rw-r--r-- 1 martin martin 164K Dez 12 2011 soprano-virtuoso.cpt-after-
recov
-rw------- 1 martin martin 5,8G Nov 1 11:33 soprano-virtuoso.db
-rw-r--r-- 1 martin martin 14 Okt 29 11:42 soprano-virtuoso.lck
-rw------- 1 martin martin 0 Nov 28 2011 soprano-virtuoso.lock
-rw-r--r-- 1 martin martin 3,2M Okt 30 21:19 soprano-virtuoso.log
-rw-r--r-- 1 martin martin 0 Nov 28 2011 soprano-virtuoso.pxa
-rw-r--r-- 1 martin martin 10M Okt 29 11:42 soprano-virtuoso-temp.db
-rw-r--r-- 1 martin martin 155 Nov 1 11:33 soprano-virtuoso.trx
-rw-r--r-- 1 martin martin 904 Dez 11 2011 soprano-virtuoso.trx-after-
recov

Ja, das sind 5,8 GiB. Allerdings für ein Homeverzeichnis mit 200 GiB und
mehr als einer Millionen Dateien. Mails auf KMail Maildir-Verzeichnissen
schloss ich allerdings aus. Das macht KDEPIM 2 dann sowieso selbst.

Da ich auch mitbekomme, was Nepomuk-Entwickler gerade alles an
Optimierungen einbringen, würde ich mit dem Einsatz von Nepomuk im
Behörden/Unternehmensumfeld noch etwas warten. Auf KDE SC 4.10 oder gar
KDE Frameworks 5. Vor allem, da sie den doch etwas fehlerhaften Strigi
Indexer gerade entsorgt und durch was Eigenes ersetzt haben.

Ich halte es für sinnvoll, wenn Du Deinen Wunsch nach einer zentralen
Virtuoso-Instanz einfach mal auf der Nepomuk-Mailingliste einbringst. Es
greift auf Virtuoso via Soprano-Backend zu:

martin@merkaba:~/.kde/share/config> cat nepomukserverrc
[$Version]
update_info=nepomukstrigiservice-migrate.upd:nepomukstrigiservice-migrate

[Basic Settings]
Start Nepomuk=true

[Service-nepomukfileindexer]
autostart=true

[main Settings]
Maximum memory=512
Storage Dir[$e]=$HOME/.kde/share/apps/nepomuk/repository/main/
Used Soprano Backend=virtuosobackend


Und vielleicht läßt sich dieses irgendwie konfigurieren. Finde ich aber in
meinem Homeverzeichnis und in /etc keine Hinweise zu.

Ein anderes Thema sind inotify-Watches, womit Nepomuk das Anlegen, Löschen
und Verschieben von Dateien erkennt:

martin@merkaba:~> cat /etc/sysctl.d/nepomuk.conf
# Für Nepomuk File Indexer
# martin@merkaba:~> find -type d | wc -l
# 34515
#
# merkaba:/proc/sys/fs/inotify> cat max_user_watches
# 8192

fs.inotify.max_user_watches = 200000



PS: Ich habs auf meiner Workstation bei teamix mit einem NFS-
Homeverzeichnis laufen. Das funktioniert an sich.


[1] http://kdenepomukmanual.wordpress.com/2012/02/06/detailed-kde-nepomuk-
manual/

[2] http://userbase.kde.org/Nepomuk

[3] http://techbase.kde.org/

[4] https://mail.kde.org/mailman/listinfo/nepomuk

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7
--
Mailing-Liste der Linux User Schwabach (LUSC) e.V.
Vor und beim Posten bitte
        ?http://lusc.de/List-Netiquette <   und
        ?http://lusc.de/List-Howto      <   beachten. Danke!