BigTableデータストアでこれを処理する方法がわかりません。
次の例を想像してみてください(概念を説明するためだけです。この例は実際のデータモデルと一致しません)。
- データストア内のトランザクション数を追跡するCounterエンティティがあります。現在の「カウント」が100であるとしましょう。
- これで、2つのWebリクエストがこの値を同時に読み取ります。
- 両方のWebリクエストが新しいトランザクションを追加します
- そして最後に、両方ともカウンターを更新します(101に)。
カウンタ値が不正確になりました。102である必要があります。
この状況に対処する方法について何か提案はありますか?カウンターを「ロック」して、最初のWebリクエストが完了するまで2番目のWebリクエストがカウンターを読み取らないようにすることはできますか?