Re: mailbox format(s)
Iljitsch van Beijnum <[email protected]> Fri, 27 Feb 2004 22:40:48 +0100
| Newsgroups | gmane.mail.ng |
|---|---|
| Message-ID | <[email protected]> |
On 27-feb-04, at 21:34, Bruce Lilly wrote: >>> If the mailbox is accessed via a standard network protocol such as >>> POP or IMAP, it is trivially easy to switch MUAs. >> Not quite. Then the new MUA must download all the messages again from >> the server. > Not with IMAP, where the message store typically lives on the > server Well, then a new client would have to download all the messages from the server again, wouldn't it? > (which could very well be the same machine -- the point > being to delegate management of the storage to a specific > piece of software other than the UA per se). Ok I can see that point, but I'm not sure I agree with it. So the question we need to answer is whether the flexibility in changing the message storage format by putting this functionality in a separate piece of software is worth the complexity of having a special API or network protocol to interact with it. >>> Cyrus IMAP stores one >>> message per file, with a database for metadata (access lists, >>> etc.), and it's quite fast. >> Maybe for random access, but if you need to access all messages you're >> bound to be slower. Also, the file system overhead makes this a pretty >> bad idea. > Not necessarily. What do you mean here? Are you going to build your own file system that is optimized for storing large amounts of small files? Current file systems do a very bad job of this now that cluster sizes are typically larger than a single 512 byte sector. > Consider a POP UIDL command, which lists the > messages by UID with each message size. With a flat file, every > byte of every message is read as the sizes are determined and the > IDs generated. Yes, *today*. With a system that includes message sizes the body can be skipped and this operation is on the same level of efficiency as > simple stat() system call > The ability to use tools such as find > and grep is very important, not only to users, but administrators > as well -- when the pointy-haired boss says "I know I have a > message from John Smith somewhere, but I can't find it", would > you rather rummage around in a single 300 MB file (possibly in > a binary format), or just run something like > grep -i "john smith" /var/spool/imap/users/phb/inbox/* > ? It would be pretty stupid to store messages such that an operation is done once a month can be performed easily while operations that happen every minute suffer. If the format doesn't allow grepping then I'm sure someone will write a tool to do this. Besides, current mail clients allow searching in email as well. >> Standards improve quality, because they usually eliminate inferior >> ways >> of achieving a result. And often vendors that implement their own >> solution also support the standard to some extent in order to be >> compatible. > Among standards-conforming implementations, there can be a substantial > difference in the quality of implementation. And some vendors > that pay lip service to standards are often the cause of > interoperability problems through non-standard "extensions" > and/or broken implementations (e.g. HTML/CSS). Anything that displays the text between the tags is a valid HTML implementation. If you want to force feed your formatting on the reader, use PDF. Obviously lots of bad things can happen when there is a standard. However, none of these possibilities are a good reason to forego standardization.