Many options exist for adding high availability of programs that manipulate soft state and these can be broadly classified into three Categories :
• Clustered application servers.
• Messaging toolkit.
• Collocated in-memory databases.
Nodes in the soft state layer are organized in a logical ring overlay as nodes of the fully decentralized type. For example, a user request can be transparently redirected during a crash or overload to a different service instance that has up-to-date session context, without requiring log-in again. Loss of connectivity to nodes prompts other nodes to take over. BASE databases can recover quickly and consistently since they usually reside on standard commodity hardware, making them affordable for most businesses.
Services using DDS (Data Distribution Service) may keep soft state, but they rely on the hash table to manage all persistent states. DDS library contains only soft state, including metadata about the cluster’s current configuration and partitioning of data in the distributed hash tables across the BRICKS (Building Resources for Integrated Cultural Knowledge Services, an open-source software framework for the management of distributed digital assets).
4.3. Eventually consistent
As data is replicated when new storage nodes are added, it is eventually copied to all applicable nodes. But there is no requirement for all nodes to have identical copies of any given data all the time. BASE ensures at least 80% consistency at any given instant over the flow of the operations.
(1) Dynamo operates with high consistency at the cost of weaker availability. It is designed to be ‘‘Eventually Consistent’’ where consistency is maintained through ‘‘Object Versioning’’. As the system aims to provide an ‘‘always writable’’ state, the conflicts are resolved in the read operation using the versioning and application-specific resolution protocols. When dealing with the uncertainty of the correctness of an answer, the data are made unavailable until it is absolutely certain that it is correct. Dynamo points to self-repair mechanisms in the key-value store to implement eventual consistency in practice .