背景 AWS使ってサーバーレスで自分用の家計簿的なwebサービスを勉強も兼ねて開発中。消費情報を登録する部分を作り、最近それに加えて残金管理を出来るようにした。 そうなると1つの消費情報登録で、複数のテーブルに対して更新を行う事になる。整合性を保つために、トランザクション制御を行いたい。 防ぎたいケース 片方のテーブル更新後、別テーブルの更新に失敗による不整合データ発生 複数人同時処理時、更新前データ取得による不正値更新(自分しか使わないけど) DynamoDBの特性復習 読み込み整合性 を強力にする事は出来るが、基本的に結果整合性を使うべき。(複数ノードに書き込まれる前に読み出すと古いデータが読まれる) javaでDynamoDBトランザクションを実現してるライブラリ が存在する 2018年末にDynamoDBのトランザクション機能 が発表された。前述ライブラリでなく、こちらを使用するの
![DynamoDBでのトランザクションを実際に使って考えてみる。 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/7f1351b91c7316a00c77b4f3208e87ad4c430fba/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9RHluYW1vREIlRTMlODElQTclRTMlODElQUUlRTMlODMlODglRTMlODMlQTklRTMlODMlQjMlRTMlODIlQjYlRTMlODIlQUYlRTMlODIlQjclRTMlODMlQTclRTMlODMlQjMlRTMlODIlOTIlRTUlQUUlOUYlRTklOUElOUIlRTMlODElQUIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElQTYlRTglODAlODMlRTMlODElODglRTMlODElQTYlRTMlODElQkYlRTMlODIlOEIlRTMlODAlODImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWY3NTQwZjQ0NDU3YTA5YWQ5MzkyYWQ1ZTYzY2U0YWNj%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzaWx2ZXJib3gmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTkyMzNmZDNmMTRmZGM4OTE3YTlmODJjNGI5OTBhMmE3%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D3c6dfd53775b6ebd0b66c707e2b499dd)