[ad_1]
Optimistic locking is a technique to make sure that the client-side merchandise that you’re updating (or deleting) is identical because the merchandise in DynamoDB. Optimistic concurrency will depend on checking a price upon save to make sure that it has not modified. For those who use this technique, then your database writes are shielded from being overwritten by the writes of others — and vice-versa.

By default, the DynamoDB write operations (PutItem
, UpdateItem
, DeleteItem
) are unconditional: every of those operations will overwrite an present merchandise that has the required main key.
DynamoDB optionally helps conditional writes for these operations. A conditional write will succeed provided that the merchandise attributes meet a number of anticipated circumstances. 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’s not already an merchandise with the identical main key. Or you possibly can stop an UpdateItem
operation from modifying an merchandise if considered one of 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 (much like how the native PHP session handler works) to make sure that classes are usually not edited whereas one other course of is studying/writing to it. Pessimistic locking may be costly and might enhance latencies, particularly in circumstances the place the consumer can entry the session greater than as soon as on the similar time (e.g. ajax, iframes, or a number of browser tabs).
[ad_2]