![[기술 면접] 7. DB에서 DeadLock(데드락)은 무엇을 의미하나요? 1 DB에서 DeadLock(데드락)은 무엇을 의미하나요?](http://allhoneytip.com/wp-content/uploads/2023/09/제목을-입력해주세요__복사본-12-001-300x300-optimized.png)
저번 시간에 이어, 이번엔 DB에서 DeadLock(데드락)이 무엇을 의미하는지 알아보도록 하겠습니다. 운영체제 카테고리의 Deadlock을 보고 오셨다면, 익숙한 내용일 것으로 생각됩니다.
![[기술 면접] 7. DB에서 DeadLock(데드락)은 무엇을 의미하나요? 2 DB에서 DeadLock(데드락)은 무엇을 의미하나요?](http://allhoneytip.com/wp-content/uploads/2023/09/image-2-optimized.png)
Q: DB에서 DeadLock(데드락)은 무엇을 의미하나요?
여러 Transaction들이 각각 자신의 데이터에 대하여 lock을 획득한 상태에서 상대방 데이터에 접근하고자 대기를 할 때 교차 대기를 하게 되며 서로 영원히 기다리는 상태를 말합니다.
Q: DB의 DeadLock을 해결하려면 어떻게 해야하나요?
3가지 해결 방법이 있습니다.
- 예방 기법: 각 transaction이 실행되기 전에 필요한 데이터를 모두 Locking 합니다. 하지만 Locking해줘야 하는 데이터가 많다면, 사실상 모든 데이터를 전부 Locking하게 되어 transaction의 병행성을 보장하지 못할 수 있습니다.
- 회피 기법: 자원을 할당할 때 time stamp를 사용하여 deadlock을 회피합니다.
- 탐지/회복 기법: transaction이 실행되기 전엔 아무런 검사를 하지 않고, deadlock이 발생하면 이를 감지하고 회복시키는 방법입니다.
Dead Lock추천 서적
Dead Lock 발생 상황과 대응 방법에 대해 더욱 자세히 알아보실 수 있는 서적입니다 🙂
마치며
이번 시간에는 DB에서 DeadLock(데드락)이 무엇을 의미하는지와 그에 대한 해결방법을 간단하게 알아보았습니다.
다음 시간에는, Index에 대해 알아보도록 하겠습니다.
![[기술 면접] 7. DB에서 DeadLock(데드락)은 무엇을 의미하나요? 6 DB에서 DeadLock(데드락)은 무엇을 의미하나요?](http://allhoneytip.com/wp-content/uploads/2023/09/image-3-optimized.png)
“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”
답글 남기기