---> Replication, Clustering, Fault-Tolerance <---
Seems that the most missed feature in OrientDB is the support for clustering, and therefore high scalability, high availability and high volume of transactions that a single node can't handle. In the last months I studied the whole different architectures of other NoSQL solutions for clustering.
Today is a new day because I'll start the development of clustering for OrientDB with the following features:
- Master-Slaves type, where it can be only one Master and N Slaves. If the Master crashes a Slave is elected to be the new Master
- IP multicast to discover cluster nodes
- Configuration of nodes using TCP/IP, useful for Clouds that don't allow the IP multicast
- Two sync modes: full where all the database is compressed and sent over the network, and partial by sending only the changes happened since the last sync
- New database handled by the Master OrientDB Server instance to store all the pending records until a configurable threshold. Up this threshold the logs are deleted and the node need a full-sync on startup
- New console commands to display nodes, listen clustering messages and elect the master manually
The release 0.9.23 is planned for the October 15th, 2010. Stay tuned and contribute with comments, ideas or critiques.