[트랜잭션과 무결성]
·
CS/Database
트랜잭션 트랜잭션은 데이터베이스에서 논리적인 기능을 수행하기 위한 작업의 단위이다. 데이터베이스에 접근하는 방법은 쿼리이므로, 여러 개의 쿼리를 하나로 묶은 단위를 말한다. 이에 대한 특징은 원자성, 일관성, 독립성, 지속성이 있으며 이를 ACID 특징이라고 한다. 1) 원자성 원자성(atomicity)은 트랜잭션과 관련된 작업이 모두 수행되거나 모두 수행되지 않는 것을 보장하는 특징이다. 예를 들어 트랜잭션을 커밋했는데 문제가 발생하여 롤백하는 경우 모두 수행되지 않음을 보장한다. 또한, 트랜잭션 단위로 여러 로직을 묶을 때 외부 API를 호출하지 않는 것이 좋다. 만약 해야한다면 어떻게 해야 할 것인지에 대한 해결 방안을 마련해야하고 트랜잭션 전파를 매우 신경 써서 관리해야 한다. 커밋과 롤백 커밋(..