Software Engineering

Understanding Locking and Conditional Writes in AWS DynamoDB

Understanding Locking and Conditional Writes in AWS DynamoDB
Written by admin


Optimistic locking is a technique to make sure that the client-side merchandise that you’re updating (or deleting) is similar because the merchandise in DynamoDB. Optimistic concurrency depends upon checking a worth upon save to make sure that it has not modified. If you happen to use this technique, then your database writes are protected against being overwritten by the writes of others — and vice-versa.

Understanding Locking and Conditional Writes in AWS DynamoDB

By default, the DynamoDB write operations (PutItemUpdateItemDeleteItem) are unconditional: every of those operations will overwrite an current merchandise that has the required major key.

DynamoDB optionally helps conditional writes for these operations. A conditional write will succeed provided that the merchandise attributes meet a number of anticipated situations. In any other case, it returns an error. Conditional writes are useful in lots of conditions. For instance, you may want a PutItem operation to succeed provided that there may be not already an merchandise with the identical major key. Or you might stop an UpdateItem operation from modifying an merchandise if one among its attributes has a sure worth. Conditional writes are useful in circumstances the place a number of customers try to switch the identical merchandise.

Within the AWS SDK for PHP, there’s a PessimisticLockingStrategy class for DynamoDB. This locking technique makes use of pessimistic locking (just like how the native PHP session handler works) to make sure that periods should not edited whereas one other course of is studying/writing to it. Pessimistic locking may be costly and may enhance latencies, particularly in circumstances the place the person can entry the session greater than as soon as on the identical time (e.g. ajax, iframes, or a number of browser tabs).

About the author

admin

Leave a Comment