One of the main features of GenieDB is it’s ability to recover when things go wrong, for example when the network between centers fails. GenieDB is able to allow operations continue, even when the network is down, and then “heal” once the network is back up and running.
Step One – Overview
As an example, the following image represents a three node distrubuted system, whereby “green” records are kept in the consistency shard of node ‘A’, “yellow” in node ‘B’ and “red” records in node ‘C’.
Step Two – Network outage
Suddenly, the network connecting node ‘A’ to the rest of the system goes down. This means that any new “green” records can not be replicated in other nodes.
At the same time, any “red” or “yellow” records cannot be replicated in node ‘A’ due to the network outage.
Step Three – Self-Healing
When the network is back up and running, any new records stored in the persistent databases are then sent to all the nodes. These are replicated across the system so that all the nodes are consistent once again.
Also, any new records received are replicated as per normal.
