Subject Re: [Firebird-Architect] FB clusters, high availability etc
Author Jim Starkey
At 07:14 PM 4/15/03 +0400, Evgeny Stepanov wrote:
>Hello all folks around FB there!
>
>We are using Firebird in several projects related to accounting of
>energetics equipment, work planning etc. Currently i have about 100
>users online at the same time, but they are growing.
>i want to make highly available database system with 3 or more
>database servers involved. Whether it has to be clustering or it would
>be mirroring with master/slave relationships i don't know yet.
>So i'm looking for help how it can be done with FB.
>The other thing i want is load balancing
>between different servers.
>Do you have any suggestions of how to implement this?
>Thanks a lot in advance.
>Eugene.


Well, good news and bad news. The good news is that Interbase was designed
from the beginning to work on clusters. The bad news is that cluster support
requires a distributed lock manager. The Interbase family of lock managers
is closely modelled on the semantics and interface of the VMS lock manager
(which Interbase used on VMS). So all you really need to do is implement
a full functioned distributed lock manager.

Unfortunately, an efficient distributed lock manager is extraordinarily
difficult, probably
impossible, without getting deep in kernel code. A user mode demonstration
project could probably be built, but the performance would be too poor to be
useable. In any case, it would have a very difficult time approaching the
perform of a cleaned up superserver.

Somebody at IBM took a stab at building a Linux based distributed lock manager,
but I haven't heard anything about it for several years. Google might tell
more.

Distributing a non-clustered database is close to impossible to implement due
the need to maintain transaction consistency.

I think your best bet is to push for fine grain multi-threading and
multi-processors.



Jim Starkey