Hi!

Nicola Ranaldo wrote:
I use PostgreSQL because it's very stable on True64 (!), and there is an
historic consolidation of transactions and referential integrity.
These make MySQL immature for my purpose! Howewer at first look it seems
porting C code from PostgreSQL to MySQL is very easy :)
I use postgresql for the same reasons, in alpha and x86. And I can't see any accountable performance difference between mysql and postgresql in *my* setup's :)

Anyway, returning to the topic:
A database backend would be very, very nice because you have more freedom (choices) and because, in some setup's, it could be much faster (the DB server can be in another machine).

Of course the files backend is still the obvious choice for some setup's and the way some people like it the most (it's, in some extent, the unix way of doing this :).

So, I don't think it's a waste of time :)

You talk about 1 connection per imapd/pop3d process... This may not be very good because you can have 1000 imapd processes in big setups. IMHO the right-thing to do is create a daemon that has 5 DB connections and the imapd's talk to this daemon via sockets or something.

IIRC someone implemented such a daemon and patched cyrus to use it. This daemon's backend was a text-file but the "protocol" is there.

a drawing :)

imapd1 imapd2 imapd3 ... imap1000
| | | |
-------------------------------
|
daemon
|
-----------------------
| | | | | | |
1 2 3 4 5 6 7

1 to 7 would be postgresql connections. This number may vary... maybe 1 connection per 100 imapds? Or a user defined number. IMMV...

Just searched a bit and found a reference to the mailbox-daemon here:

http://asg.web.cmu.edu/archive/message.php?mailbox=archive.info-cyrus&msg=8712

As Noll Janos points, even cache can be implemented because data always goes through this daemon.

I'm sorry for the long email.

Regards,
Nuno Silva





Reply via email to