私はWebアプリケーションを構築しています(これはDjango固有の質問ではありませんが、Djangoで)。私には多くのユーザーがいて、それぞれにアカウントの残高があります。アカウントの残高は、(PayPal経由で)入金するたびに増加し、アプリケーションのAPIを使用するたびに減少します。
私はどちらの方法がより適切であるかを決定しようとしています:
- 残高をユーザーと一緒に単一の整数フィールドとして格納します。お金が入ると、このフィールドがに追加されます。消えると、から差し引かれます。シンプルですが、エラーが発生しやすくなります。
- ユーザーが行ったすべての支払いと請求を合計して、その場で(おそらくキャッシュを使用して)残高を生成します。タッチはより複雑で遅くなりますが、エラーが発生しにくくなります。
それで、どちらが最善ですか、それとも別の方法がありますか?