Jonathan Feally wrote:

> For hydra, you can't just do it per message as it would break sorting 
> with messages spread across multiple databases. The only real solution I 
> can see is to have a mailbox assigned to a backend database. This will 
> keep all of the messages for that mailbox on the same server. Header 
> caching, and sorting would remain on that server. I'm not sure about UID 
> overlap between mailboxes though. If I had a UID 1 in multiple 
> mailboxes, would clients go nuts? I think they would be ok, but I'm not 
> sure if that breaks a RFC.

It doesn't. UIDs must be unique, incremental and remain unchanged unless
 the UIDVALIDITY of a mailbox changes. For example, dovecot and
uw-imapd/panda always use UID 1 for the first message that was ever
inserted into a mailbox. I think they use an offset against the inode of
the mailbox or something similar.

> Front end database tables:
visavis
> Back end single-instance storage databases:

That will need a lot more thought, and probably extensive
experimentation. Do we go for backend servers per mailbox (_very_
complex), or per user (attainable).

If we stick to per-user distribution we still need to handle imap-acl,
but the rest becomes much simpler: no front-end/back-end distinction.
All we need is an extension of the auth module to contain the URI of the
 database server for a particular user.

For LDAP that would be a single addition attribute containing the
(encrypted?) URI of the database connection.

For SQL an addition field on dbmail_users would suffice.

Some kind of replication of the dbmail_users table across database
servers would still be required, like we do now between ldap and sql.
That would allow *any* of the database backends to function as the
primary backend - in fact, any of the active daemons/tools would be able
to use any of the backends for it's initial database connection,
switching to another if the authenticated user so requires.


-- 
  ________________________________________________________________
  Paul Stevens                                      paul at nfg.nl
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands________________________________http://www.nfg.nl
_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev

Reply via email to