[linux-l] Re: Wohin mit den alten Mails? datenbank?

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Mo Mär 26 18:03:05 CEST 2007


Hallo,

On Mon, Mar 26, 2007 at 01:10:06AM +0200, Oliver Bandel wrote:
> On Thu, Mar 22, 2007 at 07:23:55PM +0100, olafBuddenhagen at gmx.net
> wrote:

> > Meine Situation ist eine ziemlich riesige Mailbox (>500 MiB, ca.
> > 60000 Mails), geöffnet über (schlecht implementiertes) NFS -- das
> > Einlesen dauert in Mutt etwa zehn Minuten. Ich frage mich ob Maildir
> > mit Header-Caching hier Abhilfe schaffen könnte.
> 
> Probier es doch mitkleineren mbox-Files. Einmal proKalenderjahr ein
> neues anfangen, das könnte schon helfen ;-)

Vergiss es.

Weißt Du überhaupt noch, worum es in diesem Thread eigentlich ging?...
Der Ausgangspunkt war gerade, dass ich *nicht* in verschiedene Ordner
aufteilen will.

> > Ich denke die einzig wirklich elegante Lösung wäre, das sozusagen
> > objektorientiert anzugehen: Gar kein direkter Zugriff auf die
> > Maildateien durch die Tools, sondern nur über einen Daemon, an den
> > sich alle Programme wenden müssen. Keine Locking-Probleme mehr, und
> > man hätte beliebig Flexibilität, wie die Daten auf der Platte
> > abgelegt werden, ohne große Kompatibilitätsprobleme.
> 
> Was ist denn hier das elegante/effiziente? OO oder Daemon? Oder
> beides? Und: was meinst Du mit OO in dem Zusammenhang? Und: was soll
> durch Dein anderes Konzept verbessert werden? Wo wird der Zugriff
> effizienter? Was genau willst Du da den Daemon machen lassen?

Objektorientiert in dem Sinne, dass nicht alle möglichen Anwendungen
direkt in den Mailbox-Dateien herumstochern, sondern die Daten in einem
Objekt gekapselt sind (implementiert von einem Daemon), und der Zugriff
durch Methoden erfolgt.

Hauptvorteil wäre, dass man nicht mehr an eine bestimmte physische
Struktur für die Mailbox gebunden ist, da Programme nicht mehr direkt
darauf zugreifen. Der Daemon könnte die Daten ablegen wie er lustig ist,
von mir aus in einer Datenbank -- die Schnittstelle nach Außen ist davon
unbeeinflusst.

Nebenbei wäre es ziemlich einfach, Konsistenz zu sichern, da alle
Zugriffe über den Daemon erfolgen; man bräuchte keine umständlichen und
unzuverlässigen Locking-Mechanismen mehr.

> Willst Du IMAP reimplementieren?

An IMAP habe ich garnicht gedacht. Vielleicht ist das ja tatsächlich
eine Lösung. Wie werden die Mailboxen denn bei IMAP verwaltet? Ist es
so, dass nur der IMAP-Server direkten Zugriff darauf hat, und der MDA
beim Einliefern neuer Mails sich an den IMAP-Server wendet?

Nachteil von IMAP wäre der Overhead durch das Netzwerkprotokoll -- mir
geht es hier ausschließlich um das lokale Ablegen von Mails. Ich finde
generell, dass es sinnvoller ist, zunächst eine rein lokale Lösung zu
haben, und Netzwerkprotokolle optional darüber zu legen, als von
Vornherein alles über Netzwerkprotokolle zu machen. (Den Ansatz von X
finde ich zum Beispiel ziemlich blöd.)

> > (Um Kompatibilität zu bestehenden Programmen zu wahren, könnte man
> > über FUSE unter Linux, Translator unter Hurd, oder ähnliche
> > Mechanismen klassisches mbox und/oder Maildir emulieren.)
> 
> OO -> Adaptor?

Keine Ahnung was das ist :-)

-Olaf-



Mehr Informationen über die Mailingliste linux-l