즉, 보고서가 실행되는 동안에도 여러 사용자가 데이터를 수정합니다. 그렇다면 보고서에는 어
떤 숫자가 표시되어야 할까요? 답은 다음 절에서 설명할 서버의
잠금
locking
처리 방법에 따라 다
소 달라집니다.
12.1.1
잠금
잠금은 데이터베이스 서버가 데이터 자원의 동시 사용을 제어하는 데 사용하는 메커니즘입니
다. 데이터베이스의 일부가 잠기면 해당 데이터를 수정하거나 읽으려는 다른 사용자는 잠금이
해제될 때까지 기다려야 합니다. 대부분의 데이터베이스 서버는 다음 두 가지 잠금 방식 중 하
나를 사용합니다.
●
데이터베이스
writer
는 데이터를 수정하기 위해
쓰기 잠금
write
lock
을 서버에 요청하고 수신해야 하며,
데이터베이스
reader
는 데이터를 조회하기 위해 서버에
읽기 잠금
read
lock
을 요청하고 수신해야 합니다.
여러 사용자가 동시에 데이터를 읽을 수 있지만 각 테이블(또는 그 일부)에 대해 한 번에 하나의 쓰기
잠금만 제공하고 쓰기 잠금이 해제될 때까지는 읽기 요청이 차단됩니다.
●
데이터베이스
writer
는 데이터를 수정하기 위해 쓰기 잠금을 서버에 요청하고 수신해야 하지만,
reader
가 데이터를 조회할 때는 어떠한 유형의 잠금도 필요하지 않습니다. 대신 서버는 쿼리가 시작될 때부터
쿼리가 완료될 때까지
reader
에게 데이터에 대한 일관된 보기를 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.