複数のバッチ処理を並行して動かすとき,デッドロックの発生をできるだけ回避したい。バッチ処理の設計ガイドラインのうち,適切なものはどれか。
- 参照するレコードにも,専有ロックを掛けるように設計する。
- 大量データに同じ処理を行うバッチ処理は,まとめて一つのトランザクションとして処理するように設計する。
- トランザクション開始直後に,必要なレコード全てに専有ロックを掛ける。ロックに失敗したレコードには,しばらく待って再度ロックを掛けるように設計する。
- 複数レコードを更新するときにロックを掛ける順番を決めておき,全てのバッチ処理がこれに従って処理するように設計する。
解答
エ
解説
ー
- 参照するレコードにも,専有ロックを掛けるように設計する。
ー - 大量データに同じ処理を行うバッチ処理は,まとめて一つのトランザクションとして処理するように設計する。
ー - トランザクション開始直後に,必要なレコード全てに専有ロックを掛ける。ロックに失敗したレコードには,しばらく待って再度ロックを掛けるように設計する。
ー - 複数レコードを更新するときにロックを掛ける順番を決めておき,全てのバッチ処理がこれに従って処理するように設計する。
ー
参考情報
分野・分類
分野 | テクノロジ系 |
大分類 | 技術要素 |
中分類 | データベース |
小分類 | トランザクション処理 |
出題歴
- DB 令和4年度秋期 問13
- SC 令和3年度春期 問21
- DB 平成25年度春期 問17