データベース誤り発見

データベースの「デッドロック(Deadlock)」に関する記述のうち、誤っているものはどれか。

A.デッドロックとは、複数のトランザクションが互いに相手のロックが解放されるのを待ち続け、処理が進まなくなる状態である。
✓ この記述は正しい。デッドロックは複数のトランザクションが互いのロック解放を待ち合って進行不能になる状態を指す。
B.デッドロックが発生した場合、DBMSは検出したデッドロックを自動的に解消するため、アプリケーション側での対処は一切不要である。← 正解
✓ 正解です。この記述が誤りで、正しくはDBMSがデッドロックを検出してロールバックする場合でも、アプリケーション側でエラーハンドリングや再試行処理を実装する必要がある。
C.デッドロックを予防する方法のひとつとして、すべてのトランザクションが一定の順序でロックを取得するよう設計することが有効である。
✓ この記述は正しい。ロック取得順序を統一することで循環待ちを防ぎ、デッドロックの発生を予防できる。
D.デッドロックが発生すると、DBMSはいずれかのトランザクションをロールバックしてデッドロックを解消することがある。
✓ この記述は正しい。DBMSはデッドロック検出後、犠牲となるトランザクションを選んでロールバックし、デッドロックを解消する。

基本情報技術者試験 の問題一覧