10 人から 15 人が同時に使用するアプリケーションを開発するのはこれが初めてなので、更新の競合を最小限に抑える良い方法がよくわかりません。
基本的に、私のアプリケーションは次のように機能します。新しいアイテムは、受信時に外部サービスを介してデータベースに挿入されます。ビジネス ルールは、各項目が 2 人の独立した従業員によってレビューされることを示しています。言うまでもなく、アイテムとレビューの間には 1 対多の関係があります。アプリケーションの最も重要な側面は、どの項目も 2 回のレビューを超えることはできず、システムは 2 人のレビュー担当者が誰であったかを追跡する必要があるということです。また、誰が第一レビュアーと第二レビュアーを務めたのか。
これで、すべてが機能しました。私が扱っている問題はこれです(多くの同様のシナリオの1つ)。すべてのユーザーが同じ 5 分以内にアイテム リストを更新した場合はどうなりますか。ユーザー 1 がアイテム ID 1 のレビューを送信します。別の人が同じアイテムのレビューを送信します。第三者がアイテム ID 1 のレビューを送信しましたが、既に 2 件のレビューがあり、アイテムは完了としてマークされています。
複数のユーザーが同じレコードを更新する可能性が高いマルチユーザー環境に対処するには、どのような方法がありますか?