Subject IB Replication - how ?
Author kepeskrisz
Hi !

We want to create a multisited program.
The two sites are in one city, but the distance is too long.

The connection is 512K, but it is used by phone, net, and novell
servers.
So: this is slowly.

I try with my program - it is uses an IB 6.0 - and the reaction
times is not too good for the users.

We search for the solution: so we want to try some replication.

But many questions we get:

A.)
Low level problem:

Two site - two server.
If we uses timestamp to stamp the modified records, the servers'
time must have been synchronized.
If times are not have been synchronized, or the times are different,
the replicators make incorrect record versions, or the last update
is updated by prior record version.


B.)
High level - logical - problems:

B.1)
Master/detail info - inconsistency.
Some cases we must store redundant informations in the higher logical
units (why : speed, or other problems).
For example: billing.
The bill must have header, and items.
If the header storing TOTAL SUM, ITEMCOUNT, etc., then:
In A server, we are modify the bill. We are update item 2, and 3.
In B server, somebody modify this bill. He/she is update 3, delete 4,
and insert item 7.
When the replicators are has been done with this replication, the
item 2 contain A, item 3,4,7 contain B server modifications.
In the headers stored the B record state, but because the A update
item record 2, the header containing wrong TOTAL SUM.

B.2)
Foreign Keys:
M/D.
Problem 1: how to keep foreign keys to not deleting by other server.
The FK-s are localized - the FK checks are localized.
When I deleting an Master, what not used in server A, but used in
server B; in the replicator I get error, because B uses this Master.
In this time we get conflict: Master A deleted, Master B not
deletable.

Also problem: we know the order, how to be insert, and modify records.
But the replicator don't know. If it not follow this order: the repli-
cation is failed.

What we can do for avoid these problems ?

Thanx:
KK