RDBMSの在庫管理システムのデータモデルをどのように設計しますか?
あなたは:
- 各購入と使用量を保存し、SUM()とGROUP BYを使用して、オンザフライで倉庫の数量を計算しますか?
- 1と同じですが、毎日数量を統合し、前日の値を使用しますか?
- Intフィールドとしての数量、アプリケーション層を介して更新しますか?
- 3と同じですが、DBトリガーを利用しますか?
トランザクションベースの在庫システムは、キャプチャする詳細レベルの点では優れているように見えますが、正しく実装するのは困難です。時間の経過とともにパフォーマンスが低下します。
数量ベースの在庫システムははるかに簡単に見えますが、数量値が++または--正しいことを確認するために追加のロックが必要になる場合があります。
どちらを選びますか?