
데이터베이스 상태를 변환시키기 위해 연산이나 작업이 필요하다. 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되여야 하는 일련의 연산들을 트랜잭션이라고 한다.
Commit 되거나 Rollback된다.데이터베이스에서 트랜잭션은 일련의 연산들을 하나의 논리적인 단위로 취급하는 것입니다. 트랜잭션은 데이터베이스의 상태를 변환시키는 데 필수적이며, 주요 특징은 완료(Commit)되거나 취소(Rollback)될 수 있다는 것입니다. 트랜잭션의 핵심 속성은 ACID 원칙으로 설명됩니다.
원자성(Atomicity): 트랜잭션 내의 모든 연산은 완전히 수행되거나 전혀 수행되지 않아야 합니다. 즉, 트랜잭션 중 일부만 완료되는 상황은 발생해서는 안 됩니다.
일관성(Consistency): 트랜잭션이 성공적으로 완료되면, 데이터베이스는 항상 일관된 상태를 유지해야 합니다. 트랜잭션 전후로 데이터베이스의 무결성 제약조건이 유지되어야 합니다.
독립성(Isolation): 여러 트랜잭션이 동시에 실행될 때, 각 트랜잭션은 서로의 연산에 영향을 주지 않아야 합니다.
지속성(Durability): 트랜잭션이 완료된 후에는 결과가 영구적으로 데이터베이스에 반영되어야 합니다. 시스템에 문제가 발생하더라도 결과는 보존되어야 합니다.
ACID 트랜잭션의 장점은 데이터의 안정성과 무결성을 보장한다는 점입니다. 모든 작업은 완전하게 이루어져야 하며, 그렇지 않을 경우 데이터가 불규칙적인 상태에 빠지는 것을 방지합니다. 예를 들어, 정전과 같은 상황에서도 ACID 원칙은 데이터베이스가 일관성 없는 상태로 남지 않도록 보호합니다. 이는 데이터베이스 시스템이 신뢰할 수 있고 안정적인 운영을 가능하게 합니다.
참고
https://www.databricks.com/kr/glossary/acid-transactions
https://coding-factory.tistory.com/226