Thomas Mueller wrote:
>> I have used DbMail on both pgsql and mysql with much the same results
>> except as the user numbers grow mysql begins to outperform pgsql in
>> speed. That could be me. I am not as adept with PostgreSQL. One
>> thing is for sure, whatever lags there may be, pgsql always holds up
>> and all queues are finished. I have dumped MySQL cores a few times
>> on account of my test code errors and loops but not PostgreSQL. It
>> tolerates my wicked tests -- just makes me wait. MySQL dumps. Go
>> figure. 
> 
> The problem with PostgreSQL are missing transactions in dbmail.
> Because of that AutoCommit is used leading to 11 single transactions
> because of one inserted message.

Very very true.  If we implemented transactions for at least message
delivery (for begginers), we'd get a huge performance increase in
Postgres.  The problem with a lot of current applications that get
developed with database support, is that usually the database of choice
is MySQL, and support for Postgres is thrown in as an afterthought, so
the SQL ends up being very Myql specific and ignores a lot of the
advanced features and speed improvements that something like Postgres
can offer.

If DbMail had been designed for a feature-rich database like Postgres
from the start, you'd be able to take advantage of many Postgres
shortcuts for many things and in the long run it'd end up scaling much
better.  Things like triggers, (foreign key) constraints, rule-checking
etc would actually eliminate the need for many things that dbmail-util
does for example (an example being that Postgres would never allow you
to get past a foreign key constraint so you'd never have to write an app
to check for lost children, etc).

However, even with that said, here's our current DbMail setup:

- FreeBSD 4.10 Server running Postgres 7.4.3 w/2 gigs RAM, Adaptec SCSI
RAID Controller w/64 megs cache + RAID Array
- FreeBSD 4.10 Server running DbMail-CVS and Postfix
- 1000 POP/IMAP Users (mostly POP)
- 150,000 Forwarding Accounts (we offer free forwarding)
- 300,000-600,00 Message Deliveries Per Day

Our plans are to put all of our money into a fault-tolerant heavy
database server, and then have tons of 1U thin clients work as frontends
to the database server.


-----
"Any sufficiently advanced bug is indistinguishable
from a feature." -- Rich Kulawiec
[EMAIL PROTECTED]

Reply via email to