Ontotext redesigned its cluster architecture to support the case of two or more separate data centres (each with its own master and worker nodes) and to provide asynchronous transactions and master failover. GraphDB Enterprise already supports master-worker clusters with Automatic Replication, Load Balancing, and Transaction Logs.
- The Client Utility is provided as a separate GraphDB artifact (JAR file);
- There is an additional configuration that lists all available GraphDB master nodes;
- The Utility transparently provides failover to the next GraphDB master in case of master failure;
- Both asynchronous and synchronous transactions are supported. The synchronous transactions waits until the update is executed on the server and checks if it is successful (otherwise throws an Exception);
- The ClientAPI persists the submitted transaction locally to avoid the case of a possible master failure.
[GraphDB56:Client Failover Utility]
- The master node has a configurable parameter 'IncrementalUpdateLimit' set to a desired number of missing updates;
- The master node has a configurable parameter 'NetworkBandwidth' giving a rough estimation of the speed of the Full replication operation in MB/second;
- The worker node Status contains a field set to the current size of the storage folder and a fingerprint indicating the state of the data in the node.
- Now GraphDB Enterprise is always-writable and can accept update transactions (as opposed to pre-5.6 behaviour where it could transition to ReadOnly mode);
- Update transactions that are accepted for processing will be made asynchronously eventually persistent;
- All accepted transactions are recoverable after a server restart/failure or other.
[GraphDB56:Transaction Log Improvements]