갱신 손실 방지 동시에 실행되는 쓰기 트랜잭션 사이에 발생할 수 있는 문제 중 가장 널리 알려진 것은 갱신 손실(lost Update) 문제이다. 갱신 손실 문제는 애플리케이션 데이터베이스에 값을 읽고 변경한 후 변경된 값을 다시 쓸 때 (read-modify-write 주기) 발생할 수 있음, 만약 두 트랜잭션이 이 작업을 동시에 하면 두 번째 쓰기 작업이 첫 번째 변경을 포함하지 않기에 변경 중 하나는 손실될 수 있음 원자적 쓰기 연산 여러 DB에서 원자적 갱신 연산을 제공함.
이 연산으로 애플리케이션에서 read-modify-write 주기를 구현할 필요를 없애줌 UPDATE counters SET value = value + 1 WHERE key = 'foo'; 위의 쿼리는 대부분의 관계형 DB에서 동시성 안전하다. 원자적 연산은 보통 객체를 읽을 때 그 객체에 독점적인 잠금을 획득해서 구현함.
그래서 갱신이 적용될 때까지 다른 트랜잭션에서 그 객체를 읽지 못하게 함 UPDA...
#
데이터중심애플리케이션
#
트랜잭션
원문 링크 : 트랜잭션 (3)