Datastores, even when very different if pourpose, often follow very similar approaches to clustering, high availability, failover, etcetera …
The aim of this specification is to define a model that details the attributes, behaviours, and expectations needed of datastores. After that, we can view and operate on datastores through the model and expect the same results regardless of the software being manipulated.
A datastore is any software that stores state. State is some information that, if lost, can’t easly be regenerated. For example:
This, combined with the fact that individual datastore nodes can store up to several terabytes of data, means that simple operations may become expensive and/or risky.