Data stores, even when very different in purpose, often follow very similar approaches to clustering, high availability, failover, and more.
The aim of this specification is to define a model that details the attributes, behaviours, and expectations needed of data stores.
While the focus is describing data stores, the specification does so with support of agents. Agents are processes on top of a data store nodes to provide additional management functions that are not part of data store duties as well as an interface abstraction point.
A data store is any software that stores state. State is some information that, if lost, can’t easily be regenerated.
For example:
This, combined with the fact that individual data store nodes can store up to several terabytes of data, means that simple operations may become slow, expensive and/or risky.