두 락의 정의를 외워서 답하는지, 충돌이 어떻게 대기와 데드락으로 번지는지를 흐름으로 설명할 수 있는지를 가른다.
공유 락(Shared Lock, S Lock)은 같은 자원에 다른 트랜잭션의 읽기를 함께 허용하고 쓰기는 막는다. 배타 락(Exclusive Lock, X Lock)은 읽기와 쓰기를 모두 차단해 그 자원을 단독 점유한다. S끼리는 공존하지만 X는 누구와도 공존하지 못해, 충돌하면 뒤따라온 트랜잭션은 대기 큐로 밀린다. 락은 정합성을 지키는 도구지만 트랜잭션 길이와 자원 접근 순서를 같이 설계하지 않으면 대기 폭증과 데드락의 원인이 된다.
배치 작업이 운영 쿼리와 부딪쳐 대기가 폭증했던 경험과 락 획득 순서를 통일한 결정을 연결할 수 있다
데드락 로그를 보고 두 트랜잭션의 접근 순서를 맞춰 문제를 해결한 경험을 풀어낼 수 있다
조회 트랜잭션을 길게 잡아 쓰기가 막혔던 경험과 트랜잭션 범위를 줄인 결정을 엮을 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.