
보통 락은 데이터에 동시에 접근하게 되었을 때 일관적이지 못하게 유지되는 것을 방지하기 위해서 하는 정도로 인지하고 있다.
낙관적 락(Optimistic Lock)의 경우 데이터 충돌이 적을 것으로 가정하고, 데이터를 읽을 때 락을 설정하지 않고 트랜잭션이 데이터를 수정할 때 충돌이 발생하지 않았는 지 확인하는 방법임.
이 경우 충돌이 발생하면 애플리케이션에서 직접 롤백하거나 재시도 처리 해야 함.
비관적 락(Pessimistic Lock)은 데이터 충돌이 많을 것으로 가정하고, 트랜잭션이 시작될 때 공유락 또는 베타락을 설정하여 다른 트랜잭션이 해당 데이터에 접근하지 못하도록 하는 방식임.

두 방식의 차이는?
데이터 충돌이 자주 발생하거나 데이터 무결성이 중요한 경우는 비관적 락을 사용하는 것이 유리
조회 작업이 많고 동시 접근 성능이 중요한 경우는 낙관적 락을 사용하는 것이 유리
| [매일메일] PRG 패턴에 대해서 설명해 주세요 (1) | 2025.07.29 |
|---|---|
| [매일메일] 멀티 쓰레딩에 대해서 설명해주세요 (0) | 2025.07.28 |
| [매일메일] 자바 프로그램이 실행되는 흐름을 설명해주세요. (3) | 2025.07.23 |
| [매일메일] JCF 자료구조의 초기 용량을 지정하면 좋은 점이 무엇인가요? (1) | 2025.07.21 |
| [매일메일] 멀티 태스킹 시스템의 한계에 대해서 설명해주세요 (0) | 2025.07.18 |