[Dovecot] Replication (Re: MySQL as a storage only.?)

2008-12-23 Thread Seth Mattinen

Timo Sirainen wrote:


I've also planned easy replication support for Dovecot. Also I don't 
think doing the SQL replication correctly and without losing any data on 
error conditions is as easy as you think.



Multiple master in MySQL is still more of a hack. Also, performance for 
billion-row SQL tables is rather poor for something interactive like 
clicking on a message in IMAP and expecting it to pop up right away.


I'm looking forward to master-master replication. Not SQL though; I 
can't find the link now but I remember reading about a master-master 
system that Dovecot would use to sync maildir/dbox over N masters or 
something. A pool of beefy master-master Dovecots with a load balancer 
in front of them would be wonderful - I'm not too keen on the user a 
goes on server a, user b on server b system. I'd love to help out but 
my own development schedule is beyond full at the moment. =)


~Seth


Re: [Dovecot] Replication (Re: MySQL as a storage only.?)

2008-12-23 Thread R A
Seth Mattinen wrote:

 Multiple master in MySQL is still more of a hack. Also, performance
 for billion-row SQL tables is rather poor for something interactive
 like clicking on a message in IMAP and expecting it to pop up right away.

 I'm looking forward to master-master replication. Not SQL though; I
 can't find the link now but I remember reading about a master-master
 system that Dovecot would use to sync maildir/dbox over N masters or
 something. A pool of beefy master-master Dovecots with a load balancer
 in front of them would be wonderful - I'm not too keen on the user a
 goes on server a, user b on server b system. I'd love to help out but
 my own development schedule is beyond full at the moment. =)

 ~Seth

Well, what I would like to see is multiple servers, where mail can come
in simultaniously for user a at both server a,b and c. But a user is
only connected to one server at a time, although it can be any of them.
DNS would solve this as they all have the name and mx value. The MTA
issue is trivial to sync mail between them (as long as sieve filters
isnt used or updated anyway and that has not propagated) but IMAP and
POP3 would be a bit trickier. No load balancer as say you have one
server on one isp in canada, one in australia, and one in germany. Say
the link suddenly go down to the server in australia for an hour, once
it comes up you want them to resync automatically.

Basically your not to keen scenario, but worse, as b  can go on a, and
then next time on b. Which means that a user can do things like delete a
file twice, move it to two different locations etc. All you have to go
on would be timestamps to resolve conflicts, so the servers pretty much
would have to use ntp for this to work.

-Roger


Re: [Dovecot] Replication (Re: MySQL as a storage only.?)

2008-12-23 Thread Seth Mattinen

R A wrote:

Seth Mattinen wrote:

Multiple master in MySQL is still more of a hack. Also, performance
for billion-row SQL tables is rather poor for something interactive
like clicking on a message in IMAP and expecting it to pop up right away.

I'm looking forward to master-master replication. Not SQL though; I
can't find the link now but I remember reading about a master-master
system that Dovecot would use to sync maildir/dbox over N masters or
something. A pool of beefy master-master Dovecots with a load balancer
in front of them would be wonderful - I'm not too keen on the user a
goes on server a, user b on server b system. I'd love to help out but
my own development schedule is beyond full at the moment. =)

~Seth


Well, what I would like to see is multiple servers, where mail can come
in simultaniously for user a at both server a,b and c. But a user is
only connected to one server at a time, although it can be any of them.
DNS would solve this as they all have the name and mx value. The MTA
issue is trivial to sync mail between them (as long as sieve filters
isnt used or updated anyway and that has not propagated) but IMAP and
POP3 would be a bit trickier. No load balancer as say you have one
server on one isp in canada, one in australia, and one in germany. Say
the link suddenly go down to the server in australia for an hour, once
it comes up you want them to resync automatically.

Basically your not to keen scenario, but worse, as b  can go on a, and
then next time on b. Which means that a user can do things like delete a
file twice, move it to two different locations etc. All you have to go
on would be timestamps to resolve conflicts, so the servers pretty much
would have to use ntp for this to work.




I found the message: [Dovecot] Replication milestone 1
http://www.dovecot.org/list/dovecot/2008-May/030446.html

This is something I can certainly provide infrastructure for (load 
balancer plus 3 or 4 servers) and possibly throw my hat in as a sponsor. 
But I have no idea how much progress Timo has made on this.


~Seth