[데이터베이스] 병행수행 3가지 문제(갱신분실,모순성,연쇄복귀)


[데이터베이스] 병행수행 3가지 문제(갱신분실,모순성,연쇄복귀)

병행 수행과, 병행 제어는 다르다. 개념부터 명확히 이해하고 공부하자! 병행수행(Concurrency)이란? 여러개의 트랜잭션을 동시에 수행 DBMS는 여러 사용자들이 데이터베이스를 동시에 공유할 수 있도록 병행수행을 지원한다. 병행수행은, 여러개의 트랜잭션이 차례로 번갈아 수행되는 *인터리빙 방식으로 진행된다. **인터리빙 방식(interleaving) 메모리 접근시간을 최소화 하기 위해 여러 모듈로 나눈 메모리에 동시 접근이 가능하도록 하는 방식. 이러한 병행수행은, 트랜잭션들이 서로 다른 데이터를 사용할 때는 문제가 없으나, 동시에 같은 데이터에 접근 해 읽고 쓰다보면, 정확하지 않은 데이터를 얻게 될 문제가 있다. 병행수행이 일으킬 수 있는 문제에 대해 알아보자. 병행수행의 문제 1. 갱신분실(lost update) (=Dirty Write) 하나의 트랜잭션이 수행한 연산의 결과를 다른 트랜잭션이 덮어써 변경된 연산이 무효화 되는 것 예를 들어보자! a와 b 라는 트랜잭션이...


#갱신분실 #모순성 #병행수행 #병행수행문제 #병행제어 #연쇄복귀

원문링크 : [데이터베이스] 병행수행 3가지 문제(갱신분실,모순성,연쇄복귀)