Documentation - Redise Pack

A guide to Redise Pack installation, operation and administration

open all | close all

Tunable Consistency and Durability

Redise Pack (RP) comes with the ability to replicate data to another slave for high availability and persist in-memory data on disk permanently for durability. With the new WAIT command, you can control the consistency and durability guarantees for the replicated and persisted database in RP.

Any updates that are issued to the database are typically performed with the following flow depicted below;

  1. Application issues a write,
  2. Proxy communicates with the correct master “shard” in the system that contains the given key,
  3. The acknowledgement is sent to proxy once the write operation completes
  4. Proxy send the acknowledgement back to the application.

Independently, the write is communicated from master to slave and replication acknowledges the write back to the master. These are steps 5 and 6.

Independently, the write to slave is also persisted to disk and acknowledged within the slave. These are steps 7 and 8.

Weak Consistency

With the new WAIT command, applications can ask to wait for acknowledgements only after replication or persistence is confirmed on the slave. The flow of a write operation with the WAIT command is depicted below:

  1. Application issues a write,
  2. Proxy communicates with the correct master “shard” in the system that contains the given key,
  3. Replication communicated the update to the slave shard.
  4. Slave persists the update to disk (assuming AOF every write setting is selected).
  5. The acknowledgement is sent back from the slave all the way to the proxy with steps 5 to 8.

With this flow, the application only gets the acknowledgement from the write after durability is achieved with replication to the slave and to the persistent storage.

Strong Consistency

With the WAIT command, applications can have a guarantee that even under a node failures or node restarts, an acknowledged write will be present in the system and will not be lost.

Please see the WAIT command for details on the new durability and consistency options.