Re: [Exim] exim's databases and sql

Top Page
Delete this message
Reply to this message
Author: Jerry Jorgenson
Date:  
To: exim-users
Subject: Re: [Exim] exim's databases and sql
On Sat, 4 Oct 2003 11:12:27 +0100 (BST)
Philip Hazel <ph10@???> wrote:

> On Fri, 3 Oct 2003, Avleen Vig wrote:
>
> > To work around file locking contention against the filesystem-based
> > db. This is a big problem on high-throughput relays.
>
> That is a concern, yes, but
>
> (1) If messages are not being delayed, there are only read accesses to
> the hints databases. These do not hold up other processes, because they
> use shared locks. One way to make use of this fact is to use fallback
> hosts, so that delayed messages are not kept on the high-throughput
> relays, but on some backup relays. If you do that, there will never be
> any writes to the hints databases on the high-throughput relays. And
> what's more, searching an empty hints file will be pretty quick. :-)
>
> (2) As has been said already, you should optimize disk hardware
> performance (e.g. by putting hints on RAM disk, etc.)


Yes, you can throw hardware at it, or you can be clever about it :-)

> (3) I can't see how using SQL can be *that* much better, in that it too
> must use some kind of locking feature in order to handle simultaneous
> accesses. Can it really do this in a more efficient way than the
> system's file locking?


In Oracle, readers don't block readers and writers don't block readers.
It's much more efficient. This is not true for all databases.

> There also has to be a process switch (as far as
> I know) in order to interact with an SQL database.


Not on a multi-cpu system. A large system with many users is where I can
see a benefit.

In my experience, most RDBMS projects are slow because the inital design
of the database was not thought out well and/or the filesystems were not
laid out correctly. Now I don't pretend to be the worlds greatest expert,
but I've had the good fortune to have worked with a couple of people who
would place in the top 100, and I've watched them take Oracle and make it
fly (hours to sub second). So I don't have any doubt whatsoever that
putting the appropriate items into a Oracle would provide a speed
increase--perhaps as large as an order of magnitude. Then there's the
recoverablilty factor...

Jerry

--
Jerry Jorgenson
jerry@???
http://www.j3iss.com/