Is DynamoDB DeleteItem read-consistent?

0

Dear Experts,

DynamoDB GetItem operations can be read-consistent or not. But there isn't a corresponding setting for DeleteItem. So are DeleteItem operations consistent?

I.e. if one connection does a PutItem, and then another connection does a DeleteItem with the same key, is it guaranteed that the just-put item is actually deleted?

In my case I'm using SetReturnValues(ALL_OLD) to both read and delete an item, if that makes any difference.

Thanks, Phil.

preguntada hace 2 años1127 visualizaciones
2 Respuestas
1
Respuesta aceptada

Consistency is a term which relates to reads only. All write operations are atomic and will appear in the order they are received, so yes, if you call DeleteItem after a PutItem then it is guaranteed to be deleted.

However, if you call DeleteItem and then PutItem, the item will be there as the PutItem was the last called event. You can add logic to your PutItem with a ConditionExpression to only write if it does not already exist.

profile pictureAWS
EXPERTO
respondido hace 2 años
0

Nice question....I can't find any specific documentation but a DeleteItem (as well as PutItem) operation would be considered a write operation and according to docs - "When your application writes data to a DynamoDB table and receives an HTTP 200 response (OK), the write has occurred and is durable".

AWS
EXPERTO
Peter_G
respondido hace 2 años
  • I don't think that "durable" is the property that I need here. Remember the database "ACID" properties. C = consistent, D = durable. They're different things.

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas