On Thursday, August 10 at 05:01 PM, quoth Nicolas George:
Le duodi 22 thermidor, an CCXIV, Nicolas Rachinsky a écrit :Maildir with the header cache shouldn't need to access that much data on the disk to open a folder.That is probably true. But maildir is evil for big archived spools.First, not all filesystems handle efficiently directories with a lot of small files, and changing filesystem is often not an option. Secondly, even if the filesystem is efficient, thousands of files will trash the operating system's inode and dentries cache, reducing the whole system performance.
That depends on whether you are optimizing your mailstore for mail(dir) storage, or whether you are optimizing it for general-purpose access. A dedicated mailstore can be configured to deal with this problem.
Furthermore, the central point of maildir features is avoiding concurrent modification problems, which is irrelevant for read-only folders.
Concurrent modification is one problem that it addresses, yes. There are also major benefits for serial modification; for example, flagging a message: in something like mbox, that could require rewriting the entire mailbox. Additionally, mbox has built-in inefficiencies, for example, trying to read the 1000th message of an mbox requires first reading through all previous 999 messages (searching for "From " lines) in order to find where the 1000th message begins.
Le tridi 23 thermidor, an CCXIV, Kyle Wheeler a écrit :DBmail was actually apropo to the subject of a recent heated debate on the qmail mailing list. The summary is here: http://www.memoryhole.net/~kyle/databaseemail.htmlIt can be summarized further: "I know nothing about databases, but that does not prevent me from ranting about them."
Actually, I know a great deal about databases.But if you choose not to believe me, I can also point you to other examples of people trying to store large blobs of static things in a database and discovering that it's a bad idea:
mail: http://www.intevation.de/pipermail/kolab-users/2004-April/000098.html images: http://mysqldump.azundris.com/archives/36-Serving-Images-From-A-Database.html
web articles: http://www.killersites.com/articles/newsletterArchive/Newsletter_Nov9_2003.htm | Database connections are expensive in terms of time and | processing power; it is always faster to deliver static pages.
On the other hand, a database _around_ the spool, to cache the most useful headers and allow efficient complex queries, that is another question.
I think that's a far better idea. ~Kyle --The liberty of a democracy is not safe if the people tolerate the growth of a private power to a point where it becomes stronger than the democratic state itself.
-- Franklin D. Roosevelt
Description: PGP signature