2021 春 午前II 問21
複数のバッチ処理を並行して動かすとき、 デッドロックの発生をできるだけ回避したい。バッチ処理の設計ガイドラインのうち、 適切なものはどれか。
解説
IPA 公式公開の過去問です。
解答例や採点講評と合わせて根拠を確認してください。
選択肢
- ア: 参照するレコードにも、 専有ロックを掛けるように設計する。
- イ: 大量データに同じ処理を行うバッチ処理は、 まとめて一つのトランザクションとして処理するように設計する。
- ウ: トランザクション開始直後に、 必要なレコード全てに専有ロックを掛ける。ロックに失敗したレコードには、 しばらく待って再度ロックを掛けるように設計する。
- エ: 複数レコードを更新するときにロックを掛ける順番を決めておき、 全てのバッチ処理がこれに従って処理するように設計する。