For IMAP, "SQL just sucks"

There's a very interesting discussion going on right now in the Dovecot list about Using MySQL to store email? (available and If you have ever thought about doing this or thought about signing up with an IMAP service provider that does this, I recommend that you read this thread. Especially interesting is this message from Timo Sirainen, the lead Dovecot developer, which includes this:
"An SQL database might be a good idea if your client (eg. webmail) used it directly and the database's schema was specifically designed for the client. But for [an] IMAP server which needs to be able to do many things and restricted by the way the IMAP RFC requires things to be done, SQL just sucks."
It's because of this that I am wary of email systems, such as Runbox and Zimbra [*], that use an SQL-based message store. Runbox and Zimbra might have perfectly wonderful web-based email clients, but these systems are probably going to suck when large mailboxes are accessed by regular IMAP clients.

[*] For details about the Zimbra architecture, see ZCS Architecture and Components in the Zimbra wiki.
Hashtag: #for-imap-sql [?]

Post & Read Comments (located elsewhere)



Post & Read Comments (located here)

It's true that as a mailstore SQL sucks. Databases are not designed to store large blobs of data. However in Zimbra's case messages aren't stored in the database. Only *meta* data is stored behind a SQL interface. This allows the flexibility to send structured queries for folder, category/tag/label, date & time, sorting etc to SQL(MySQL in our case) for quick structured results. Text searches go to the Lucene index which is optimized for text queries, and finally the messages themselves are stored in the file system as files. So keeping the MySQL database tiny since it only has meta data or pointers to the message makes queries very fast. For a deep discussion on this topic drop by our forums


Post a Comment



Links to this page

Create a Link



Each item © Nancy McGough
Each comment © the author of the comment web site hosted by
deflexions powered by Delicious · reflexions powered by Blogger
More deflexions & reflexions, & feeds available via the sidebar top & bottom

[link] For bookmarks & links, please use this page's permalink [link]