비행기 예약 서비스에서 두 사람이 동시에 같은 좌석을 예약한다거나, 온라인 쇼핑몰에서 수량이 1개 남은 상품을 두 사람이 동시에 결제하게 된다면 어떻게 될까? 이처럼 우리가 사용하는 서비스에서 빈번하게 마주할 수 있는 문제를 '동시성 문제'라고 한다. 이러한 상황이 발생하지 않도록 사전에 처리가 필요하다.동시성 제어를 위한 두 가지 접근법으로 비관적 락(Pessimistic Lock)과 낙관적 락(Optimistic Lock)이 있다. 비관적 락(Pessimistic Lock)비관적 락은 '충돌이 자주 발생할 것이다'라는 비관적인 가정에 기반한 제어 방식이다. 데이터에 잠금을 설정해서 다른 사용자가 같은 데이터에 접근할 수 없도록 차단하는 것이다. 원리1. 데이터를 읽거나 수정하기 전에 데이터에 락(Lo..