트랜잭션(Transaction)은 데이터베이스(Database)에서 상호작용하는 작업 단위를 의미한다. 보통 하나의 논리적인 작업을 수행하기 위해 여러 개의 데이터베이스 연산(INSERT, UPDATE, DELETE 등)이 필요한데, 이러한 연산들을 논리적인 단위로 묶어서 수행하는 것이다.
트랜잭션의 ACID 속성
원자성(Atomicity): 하나의 트랜잭션은 모두 성공하거나 모두 실패해야 한다. 즉, 트랜잭션의 모든 연산이 성공적으로 수행되어야만 트랜잭션이 완료되고, 그렇지 않으면 모든 연산이 취소되어야 한다.
일관성(Consistency): 트랜잭션이 수행된 후에도 데이터베이스의 일관성이 유지되어야 한다. 이는 데이터베이스가 정의된 규칙에 따라 항상 유효한 상태를 유지해야 함을 의미.
격리성(Isolation): 여러 개의 트랜잭션이 동시에 실행될 때 각각의 트랜잭션은 서로 영향을 미치지 않고 독립적으로 실행되어야 한다.
지속성(Durability): 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 반영되어야 한다. 즉, 시스템 장애 등으로 인해 데이터베이스가 손상되어도, 트랜잭션의 결과는 보존되어야 한다.