eXtremeDB offers Stateful Replication
Time-Cognizant Eager Replication
What is stateful database replication?
Normally, when a replica attaches to a master, it receives a copy of the master’s entire database. This can take a significant amount of time, depending on the size of the database, speed of the communication channel, clock speed of the replica’s processor, and complexity of the database.
When “stateful” replication is enabled, the master eXtremeDB run-time retains a number of transactions in a circular buffer. When a replica connects, the master is informed of the state of the replica’s database and, if possible, the master transmits only the buffer, not the entire database (e.g. if a replica is briefly disconnected due to a spurious network error).
This is termed “stateful” replication because the master is informed of the state of the replica’s database when it requests to attach to the master.
The length of time a replica can be disconnected and be synchronized through stateful replication in lieu of a full synchronization is determined by 1) the size of the buffer (a configuration parameter), 2) the size of the transactions, and 3) the frequency of transactions applied to the master database.