We are currently considering Aerospike for a mission critical context and have the following need :
- We have 2 datacenters and each one will host a database cluster
- Data stored in each cluster must be exactly the same so we plan to use XDR to sync our namespaces in an active/active topology
- Data can be updated on both sides and the changes must be immediately visible on the other side
The question we have are :
- Can we guarantee immediate consistency through XDR ?
- How do we manage data update concurrency through XDR ?
- In case of datacenter link failure we may start to have data divergence since client of each datacenter may update the same set of record while the link is down. The problem is that we cannot automatically determine which record will be the correct one because both versions may be equally valid and only a human can be able to select the correct record or even merge them. I found somewhere that such a case is supported and that we could get both records through the API to allow a human to perform the conflict resolution but I was unable to find much more information about how to do this technically from the API. Is this already implemented ?
Thanks in advance for your answers