Like all other aspects of FineDB, its replication mechanism try to be simple (to code and to set up) and efficient (fast, not ressource intensive) at the same time. It is based on two principles:
- Data are pushed from the source to the destination.
- Each server can push data to only one other node.
Every operation processed by the master server is echoed to the slave.
In a multi-slave environment, slave servers form a chain, each one pushing data to the next.
Using the same technic than for master/slave replication, it is possible to set up a "loop". When a key/value must be created or updated, each server send it to the next one; it is discarded when it come back to the original server.
Loop clusters are fine when there is few computers in the cluster.
For bigger clusters, the replication needs an additional software to distribute data. Then all servers get the data without waiting for other servers to process it.