Table-Level Locking1 MySQL locking - Table-Level Locking, Row-Level Locking, Optimistic Locking 웹 프로그래밍은 기본적으로 다중 사용자 환경입니다. 동일한 자원에 여러 사용자가 동시에 접근하는 상황이 발생할 수 있습니다. 쇼핑몰에서 물건을 구매하는 상황을 생각해 봅시다. 두 명의 사용자가 재고가 하나밖에 없는 제품을 조회하고, 동시에 구매를 한 상황입니다. 서버로 요청이 넘어가면 서버에서는 다음 세 단계를 거쳐 구매를 처리한다고 가정해 봅니다. 1) 다시 한번 재고를 확인합니다.2) 재고를 감소 시킵니다.3) 구매정보를 입력합니다. 재고를 확인하고 구매할 수 있다고 판단한 후에 재고를 감소하기 전에 다른 요청을 처리하는 쓰레드 또는 프로세스가 재고를 확인하게 되면 둘 다 구매 할 수 있다고 판단하게 되고 구매 처리가 되어 버립니다. MySQL 데이터베이스를 사용하는 경우 이런 환경에서 어떻게 처리하.. 2018. 4. 20. 이전 1 다음