[DB] 병행 수행(concurrency) 및 병행 제어(concurrency control)
·
Computer Science and Engineering/Database
병행 수행 시 문제 병행 수행(concurrency)은 여러 사용자가 데이터베이스를 동시에 공유할 수 있도록 여러 트랜잭션을 한꺼번에 실행하는 것을 의미하며, 각 트랜잭션은 여러 트랜잭션이 차례로 번걸아 수행되는 인터리빙(interleaving) 방식으로 수행된다. 이러한 환경에서 병행 제어(concurrency control)는 서로 다른 트랜잭션이 동일한 데이터에 접근하여 연산을 수행하더라도 충돌 없이 올바른 결과를 얻을 수 있도록 트랜잭션 실행을 관리하는 작업을 말하며, 동시성 제어라고도 한다.만약 병행 제어가 제대로 이루어지지 않으면 여러 가지 문제가 발생할 수 있는데, 그중 하나가 갱신 분실(lost update)이다. 갱신 분실은 두 개 이상의 트랜잭션이 같은 데이터를 동시에 읽고 수정할 때 ..