Subject Re: [Firebird-Architect] RFC: Clustering
Author Jim Starkey
= m. Th = wrote:
> Hi,
>
> This is a draft about Firebird clustering, feel free to read and
> comment. This is the hot-swap variant (ie. true clustering). The
> cold-swap (ie restart application in order to go on other server with
> data in sync) is already done if Dmitry wants to commit the remote
> shadows feature for Windows which I tested and benchmarked for him. This
> document is a draft based on our small researches in the area and
> experience with similar products. If something isn't clear, please ask.
> Sorry for the long and convoluted text (a Word document available on
> request). Also, if someone is interested, we can provide some diagrams.
>
>
As I understand it, your proposal is to clone a physical database to
multiple servers, have each client connect to all servers, and have each
server execute each class in lockstep, resulting in (arguably) identical
databases on each node.

This architecture is fraught with many problems, each of which must be
solved. The hardest is how to make sure the servers execute all in the
same precise order. Without this, the scheme can't work. I don't have
any idea of how you might do this, but perhaps you have a solution.
Second, there is a problem of non-deterministic behaviors such as a
random number generator or translation of the manifest constant "now".
Each will yield different results on different system and the servers
will diverge. Finally, I don't see any way for a node to rejoin the
cluster without taking down the database. This rather defeats the
scheme, doesn't it?