On 1/10/07, Joachim Draeger <[EMAIL PROTECTED]> wrote:
Am Mittwoch, den 10.01.2007, 00:04 +0100 schrieb Stefano Bagnara: > >> > there are various methods to get various > >> > flavours of session. > >> > >> Currently there are three. > >> The problem is that IMAP has many requirements to a backend. Many > >> backends successfully used for POP3 will probably never fulfill them. > > > > perhaps it depends on the abstractness of the perspective: i suspect > > that it all reduces to storing the email content and meta-data about > > the email, at least for the storage. > > The problem is efficently retrieve data. > We may want to access messages by 3 different identification mechanisms. > Then we need to return a subset of messages given specific filters > (mailbox, folder, search term, tag) and return size and some header > without running "full table scans" and without retrieving the full messages.
not retrieving full messages is vital
Exactly. Message get stored once and multiple times read. Web-mail and most MUAs with default configuration do not cache IMAP mail at all. Mailboxes will grow fast. (10000+) When it gets opened by the client, it requests flag, date, size and a subset of the headers.
exactly: meta-data about the email
For instance fetching a small subset of the headers of many messages has to be done in an optimal way. (e.g. in one SQL query)
not just a single query but an efficient single query. it's not good enough to sticking everything in one huge table and hoping for the best. clients are typically interested only in a subset of the headers think about this from the perspective of meta-data. when using a RDBMS for storage, it's not efficient for all meta-data to be equal. some is much more important that others. this should be reflected in the database structure. IMHO this optimization is best done in the storage layer - robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
