
외부 잠금은 데이터베이스 시스템에서 하나의 트랜잭션에 의해 데이터베이스의 데이터가 잠금된 상태를 유지하는 것을 의미합니다.
외부 잠금의 구체적인 동작 방식은 다음과 같습니다.
- 쉐어드 잠금(Shared Lock) : 여러 트랜잭션이 동시에 데이터를 읽을 수 있도록 허용합니다. 읽기 연산은 공유 잠금을 획득하여 데이터를 읽을 수 있습니다.
- 익스클루시브 잠금(Exclusive Lock) : 데이터를 읽기 전에 다른 트랜잭션이 데이터를 수정하지 못하도록 데이터에 대한 독점적인 잠금을 획득합니다. 쓰기 연산은 독점 잠금을 획득하여 데이터를 수정할 수 있습니다.
- 업그레이드 잠금(Upgrade Lock) : 트랜잭션이 데이터를 읽기 전에 데이터를 수정할 수 있도록 허용합니다. 다른 트랜잭션이 데이터를 읽을 수는 있지만 데이터를 수정할 수는 없습니다.
- 다운그레이드 잠금(Downgrade Lock) : 트랜잭션이 데이터를 수정하기 전에 데이터를 읽을 수 있도록 허용합니다. 다른 트랜잭션이 데이터를 수정할 수는 있지만 데이터를 읽을 수는 없습니다.
외부 잠금의 동시성 제어 방식은 다음과 같습니다.
- First-Come-First-Served(FCFS) : 트랜잭션이 잠금을 요청하면, 요청된 순서대로 잠금을 획득하거나 거절합니다.
- Priority-Based : 트랜잭션의 우선순위를 고려하여 잠금을 획득하거나 거절합니다.
- Time-Based : 트랜잭션의 시작 시간을 고려하여 잠금을 획득하거나 거절합니다.
이러한 외부 잠금의 구체적인 동작 방식과 동시성 제어 방식은 데이터베이스 시스템의 성능과 무결성을 유지하는 데 중요합니다.
2025-05-20 05:11