데이터베이스에서 트랜잭션은 데이터에 대한 하나 이상의 연산으로 구성된 작업 단위를 의미합니다. 이러한 트랜잭션은 ACID (Atomicity, Consistency, Isolation, Durability)라는 네 가지 특성을 가져야 합니다.
Atomicity (원자성): 원자성은 트랜잭션이 데이터베이스에 모두 적용되거나 전혀 적용되지 않아야 함을 의미합니다. 즉, 트랜잭션에 포함된 모든 작업이 완료되거나, 그 중 하나라도 실패하면 모든 작업이 롤백되어야 합니다.
Consistency (일관성): 일관성은 트랜잭션의 실행이 데이터베이스의 일관성을 유지해야 함을 의미합니다. 즉, 트랜잭션의 시작과 끝에 걸쳐 모든 데이터베이스 규칙이 적용되어야 하며, 트랜잭션은 데이터베이스를 하나의 일관성 있는 상태에서 다른 일관성 있는 상태로 이동해야 합니다.
Isolation (독립성): 독립성은 각 트랜잭션이 서로 독립적으로 실행되어야 함을 의미합니다. 동시에 실행되는 여러 트랜잭션의 경우, 특정 트랜잭션의 실행 중간 상태는 다른 트랜잭션에게 보이지 않아야 합니다. 이는 데이터베이스의 일관성을 유지하고, 트랜잭션 간의 충돌을 방지하는데 중요합니다.
Durability (영구성): 영구성은 성공적으로 완료된 트랜잭션의 결과가 영구적으로 데이터베이스에 저장되어야 함을 의미합니다. 즉, 시스템 장애가 발생하더라도, 한번 커밋된 트랜잭션은 손실되지 않아야 합니다.
이러한 ACID 특성은 데이터베이스에서 데이터 무결성을 유지하고, 다중 사용자 환경에서 데이터 충돌을 방지하는 데 중요한 역할을 합니다.
많은 도움이 되었습니다, 감사합니다.