PostgreSQL backend: a waste of time?
Nuno Silva
nuno.silva at sectium.com
Tue Nov 26 21:34:02 EST 2002
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
More information about the Info-cyrus
mailing list