낙관적인 락(Optimistic Lock), 비관적인 락(Pessimistic Lock)
동시성 제어를 하는 방법에는 여러가지가 있는데 Database의 낙관적인 락, 비관적인 락을 알아보고자 한다.각각의 개념과 특징, 성능, 언제 사용해야 하는지를 알아보겠다. 동시성 제어란?데이터 무결성을 침해하지 않고 동시에 트랜잭션을 처리할 때 이를 제어하는 방법의 총칭을 뜻함. Lock?동시성 제어의 한 방법으로 데이터에 잠금을 걸어 읽기/변경/삭제 등을 제한하는 수단. 낙관적인 락충돌이 발생하지 않는다고 가정Version column 추가(number, hash, timestamp 등)Database에서 최초에 읽어온 versionupdate 시 현재 Database의 version과 다르다면 롤백비관적인 락충돌이 자주 발생할 것이라고 가정Table or Row에 Lock 걸고 트랜잭션 작업다른 ..
2025.01.06