동시성 제어(Concurrency Control) / 낙관적 락, 비관적 락
·
DB | SQL
동시성 제어는 여러 사용자가 동시에 같은 데이터를 조회하거나 수정하더라도,데이터의 정합성과 일관성을 보장하기 위해 데이터베이스에서 제공하는 핵심 기능입니다.예매 사이트와 같이 다수의 사용자가 동시에 접근하는 서비스에서는동시성 제어가 제대로 이루어지지 않으면 심각한 문제가 발생할 수 있습니다.예매 사이트에서 동시성 문제가 발생하는 상황경기 예매 사이트를 예로 들어보겠습니다.좌석 A가 1석 남아 있는 상황에서 두 명의 사용자가 거의 동시에 예매 버튼을 눌렀다고 가정하겠습니다.사용자 1이 좌석 A의 남은 수량을 조회거의 동시에 사용자 2도 같은 좌석 A의 남은 수량을 조회두 사용자 모두 “예매 가능” 상태를 확인두 요청이 동시에 티켓 예매 및 좌석 차감 처리 진행동시성 제어가 없다면, 하나의 좌석이 두 번 판..