はじめに一般的に複数のトランザクションが並行して同じオブジェクトに対してアクセスを行う場合には、トランザクションの分離レベル(SERIALIZABLE/REPEATABLE READ/READ COMMITTED/READ UNCOMMITTED)によって様々な問題が発生します。 DynamoDBは2018年にトランザクションがサポートされましたが、本記事ではファントムリードによる書き込みスキューの問題とその対応について取り上げたいと思います。 書き込みスキューとはまずはじめに、「書き込みスキュー」とは具体的にどのような問題なのか、まず例を見てみるのが一番わかりやすいでしょう。 書き込みスキューの例ここではイベントの申し込みシステムを考えてみましょう。 要件としてイベントの申し込み人数の上限は3人であると仮定します。 これを実現するためには、ユーザが申し込みの要求を行なった際に現在の申し込
![DynamoDB利用時の書き込みスキュー(Write Skew)の回避 | フューチャー技術ブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/140883ea13e26c1bef04a27c87556285aba247cd/height=288;version=1;width=512/https%3A%2F%2Ffuture-architect.github.io%2Fimages%2F20220906a%2FDynamoDB_Write_Skew_Example_1.drawio.png)