2025/04/05 2

[테코톡] Lock & JPA Lock

출처: https://www.youtube.com/watch?v=LDi5muN2kgI&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=186  Lock은 무엇일까?데이터 수정을 위한 커넥션이 여러 개 존재할 때 데이터 일관성의 문제가 발생 -> 이를 해결하기 위한 메커니즘  Lock과 Transaction?Lock: 일관성 보장, 동시성 제어 메커니즘트랜잭션: 원자성 보장 (All or Nothing)트랜잭션 격리 수준: 여러 트랜잭션에 대하여 각 트랜잭션 처리 전략구현 방법 중 하나가 락 Lock 전략낙관적 Lock(=애플리케이션 Lock): 트랜잭션 충돌이 발생한 후 조치비관적 Lock(=데이터베이스 트랜잭션 Lock): 트랜잭션 충돌을 가정하고 사용하는 전략 JPA..

Spring & JPA 2025.04.05

7. Concurrency Control

Uncontrolled Sharing Problems1. Lost Update Problem-> T1에 의해 쓰여진 값을 잃게 된다. 2. Uncommitted Dependency Problem-> T2에서 커밋하지 않은 값을 T1이 읽어 올바르지 않은 값을 사용하게 된다. 3. Inconsistent Analysis Problem-> T1이 A를 먼저 읽고 B를 T2보다 나중에 읽게 되면 올바르지 않은 값을 계산한다. SchedulesSerializable Schedule: 결과가 순차적으로 트랜잭션을 실행한 것과 동일한 스케줄Conflict Serializable Schedule: 연산 순서를 재배치해서 직렬 가능하게 만들 수 있는 스케줄이를 보장하는 방법2PLP(2-Phase Locking Prot..