Hi, I am evaluating using Tigris as a distributed storage layer for my application. I plan on storing data in multiple regions globally and will be frequently ‘updating’ objects (new put over already existing objects). I have a few questions about the specifics of Tigris’ multi-region consistency model.
- What is the atomicity of a put operation to multiple regions? For example, I try to update an object in the
iad
andfra
regions. For whatever reason, the put tofra
fails. Could theiad
put still be executed? Will the put request report a failure? - If the
iad
put still goes through, what happens if I then make a get request in thefra
region with thex-tigris-cas: true
header set? Would the request get routed to theiad
region with the stored data that’s been more recently updated? Would Tigris eventually update the existing/outdated stored object in thefra
region? - What is the default behavior for a get request with the
x-tigris-cas: true
header when there are multiple copies of data stored? Will it get routed to the closest region with the object stored?
Thanks!