[Dovecot] merging the best of mdbox and sdbox
Timo Sirainen
tss at iki.fi
Thu Jan 6 00:45:29 EET 2011
With maildir, single-dbox or multi-dbox when you copy a message, just about nothing is read from disk and very little is written to disk. For example in Maildir case a copy is the same as doing:
ln ~/Maildir/.source/cur/1234 ~/Maildir/.dest/cur/1234
This only accesses the file's metadata. It would be just as fast for a file of 1 kB or 1 GB. The file contents aren't read at all, only the inode is copied.
With your idea of multi-dbox-per-mailbox it would actually have to read the 1 kB or 1 GB of data and write the 1 kB or 1 GB of data to another file. Much slower.
On 6.1.2011, at 0.30, Joan Moreau wrote:
>
>
> I am not sure I understand why it would be "read entirely", as it is
> the same as reading a message when accessing a folder and writing a file
> when a new message in arriving.... which is the very most common
> activity of a mail server... so not sure about any "wasteful" I/O
>
> Can
> we spend some more thoughts on this ?
>
> On Thu, 6 Jan 2011 00:17:36
> +0200, Timo Sirainen wrote:
>
>> On 6.1.2011, at 0.11, Joan Moreau
> wrote:
>>
>>> Is there a way to use the mdbox format (i.e. several
> message per files) for EACH IMAP folders (sdbox approach) ?
>> The
> problem with that is that when copying messages between mailboxes they
> would have to be actually read and written entirely, rather than a) with
> sdbox it can use a hard link() call, b) with mdbox it can update 3
> indexes. Copying is a rather common operation since clients often move
> messages to Trash, so the extra writing would be a bit wasteful.
More information about the dovecot
mailing list