Subject RE: [firebird-support] IDEA!
Author Nigel Weeks
...have you
> considered to build
> "cluster" and "load-balancing" extensions to FB server? I'm
> imagining a rack
> of tens of servers running the same DB, sharing CPU power and
> DISK (oracle
> killer?).

(These are my uninformed ramblings...)

Unfortunately, the lock-management of Firebird is still serialised, so even
if it was multi-host capable, it would only be as fast the the central
lock-manager(on one machine) could hand out locks.

You're far better to partition your data into logical collections, and host
those on separate database server machines:

Inventory on one
POS/Sale transactions on another
Near-line/off-line OLAP/reporting data on another
Employee timesheeting/scheduling/business management on another

That said, it's astounding what one machine will do, when powered by
Firebird. If you mostly need read performance(i.e. millions per hour), post
all changes(insert/update/delete) to a single database, and
replicate(single-master/multi-slaves) to other 'read-only' database servers.
That way, any host can perform a 'read', and you only need to put a load
balancer in front to divide up the load.
The Open-Source 'balancer' software is good for non-persistent connections,
and incredibly simple.

If you need a cluster for fault tolerance, do multi-master replication,
instead of pursuing the 'single server image' method of doing it.

From a 'D.O.S.' security point of view, having replicated copies in
different geographical locations makes sense - a cluster of 16 machines in a
rack is cool, but it's only one rack to destroy by
fire/flood/sabotage/whatever. Put your sixteen boxes in different
buildings. Replicate regularly. Drink good coffee.

As I often discover, I could be wrong...check with a foundation member
before taking this advice too seriously! ;-)


P.s. This support list offers support - feature enhancement suggestions may
get ignored here. Possibly better to use firebird-general for