트랜잭션2 SQLP - 동시성 제어 1. 동시성 제어 DBMS는 다수의 사용자를 가정하며, 동시에 작동하는 다중 트랜잭션의 상호 간섭 작용에서 데이터베이스를 보호 할 수 있어야 하며, 이를 동시성 제어(Concurrency Control)이라 한다. 동시성을 제어할 수 있도록 하기 위해 모든 DBMS가 공통적으로 Lock 기능을 제공. SET TRANSACTION 명령어를 이용해 트랜잭션 격리성 수준을 조정할 수 있는 기능도 제공. SQL Server의 경우, 기본 트랜잭션 격리성 수준인 Read committed 상태에선 레코드를 읽고 다음 레코드로 이동하자 마자 공유 Lock을 해제하지만, Repeatable Read로 올리면 트랜잭션을 커밋될 대까지 공유 Lock을 유지 동시성과 일관성의 상관관계 가. 비관적 동시성 제어 (Pessi.. 2021. 4. 28. [J STORY] SQLP - 트랜잭션 트랜잭션(Transaction)은 업무 처리를 위한 논리적인 작업 단위이다. 1. 트랜잭션의 특징 원자성(Atomicity) 트랜잭션은 더 이상 분해가 불가능한 업무의 최소단위이므로, 전부 처리되거나 아예 하나도 처리되지 않아야 함. 일관성(Consistency) 일관된 상태의 데이터베이스에서 하나의 트랜잭션을 성공적으로 완료하고 나면 그 데이터베이스는 여전히 일관된 상태여야 함. 격리성(Isolation) 실행 중인 트랜잭션의 중간 결과를 다른 트랜잭션이 접근할 수 없음 영속성(Durability) 트랜잭션이 일단 실행을 성공적으로 완료하면 그 결과는 데이터베이스에 영속적으로 저장. 2. 트랜잭션 격리성 가. 낮은 단계의 격리성 수준에서 발생할 수 있는 현상들 1) Dirty Read 다른 트랜잭션에 .. 2021. 4. 27. 이전 1 다음