트랜잭션 2

Chapter 05. 트랜잭션과 잠금

5.1 트랜잭션 트랜잭션이란 작업의 완전성을 보장해주는 것이다. 논리적인 작업 셋을 모두 완벽 처리하거나 처리하지 못할 때에는 원 상태로 복구해서 작업의 일부만 적용되는 현상(partial update)이 발생하지 않도록 만들어주는 기능이다. MyISAM은 트랜잭션이 지원되지 않는다. 잠금(Lock)과 트랜잭션의 차이 잠금: 동시성을 제어하는 기능이다. ex) 여러 커넥션에서 하나의 데이터를 동시에 수정하려고 하는 경우에 적용하는 기능 트랜잭션: 데이터의 정합성을 보장하기 위한 기능이다. 격리 수준: 하나의 트랜잭션 내에서 또는 여러 트랜잭션 간의 작업 내용을 어떻게 공유하고 차단할 것인지를 결정하는 레벨을 의미한다. 데이터의 정합성(consistency): 데이터가 모순없이 일관되어야한다. 5.1.1 ..

Chapter 06. Spring Transaction(스프링 트랜잭션)

6.1 트랜잭션(Transaction)이란? Transaction(트랜잭션) 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위를 '트랜잭션'이라고 한다. ex) 오늘의 날씨 데이터를 가져와서 일기 정보를 DB에 저장하기까지의 작업 단위를 트랜잭션이라고 볼 수 있다. 트랜잭션의 속성 원자성(Atomicity) - 트랜잭션이 데이터베이스에 모두 반영되거나 또는 반영되지 않거나 반드시 둘 중 하나여야만 하다. 일관성(Consistency) - 트랜잭션의 작업 처리 결과는 언제나 일관적이어야한다. 독립성(Isolation) - 여러 트랜잭션들이 독립적으로 수행되어야 한다. 지속성(Durablity) - 트랜잭션이 성공적으로 완료된 경우 변화된 상태가 지속적으로 반영되어야한다. 트랜잭션의 연산 - 원자성 ..