트랜잭션과 ACID원칙이란

트랜잭션(Transaction)

트랜잭션은 데이터베이스 관리 시스템(DBMS)에서 수행되는 논리적인 작업의 단위를 말합니다. 일련의 데이터 조작(읽기, 쓰기, 수정, 삭제 등)이 모두 성공적으로 수행되거나, 그렇지 않으면 모두 롤백되는 원자성(Atomicity)을 가지는 작업 단위입니다.

트랜잭션은 ACID 원칙을 준수합니다.

ACID란?

ACID(원자성, 일관성, 고립성, 내구성)는 데이터베이스 관리 시스템(DBMS)에서 트랜잭션의 속성을 설명하는 네 가지 기본 원리입니다. 이러한 원리들은 데이터의 안전하고 신뢰할 수 있는 처리를 보장하기 위해 사용됩니다.

원자성(Atomicity): 트랜잭션은 원자적인 작업 단위로 간주되어야 합니다. 즉, 트랜잭션 내의 모든 작업은 전부 실행되거나 전혀 실행되지 않아야 합니다. 어떠한 작업이라도 실패하면, 트랜잭션에 의한 모든 변경 사항은 롤백되어 이전 상태로 복구됩니다.

일관성(Consistency): 트랜잭션이 완료되면 데이터베이스는 일관된 상태여야 합니다. 즉, 트랜잭션은 데이터베이스에 정의된 모든 규칙과 제약 조건을 준수해야 합니다. 데이터베이스는 트랜잭션이 실행되기 전과 후에도 일관된 상태를 유지해야 합니다.

고립성(Isolation): 동시에 실행되는 여러 트랜잭션들은 서로 간섭하지 않도록 격리되어야 합니다. 트랜잭션이 실행되는 동안 다른 트랜잭션에 의해 영향을 받지 않아야 합니다. 이를 통해 병행 처리 시 데이터 불일치나 비일관성을 방지할 수 있습니다.

내구성(Durability): 트랜잭션이 성공적으로 완료되면, 해당 변경 사항은 영구적으로 유지되어야 합니다. 시스템 장애, 전원 손실 또는 다른 장애 상황이 발생해도, 데이터는 안전하게 저장되어 복구될 수 있어야 합니다.

트랜잭션은 데이터의 일관성과 안정성을 보장하기 위해 사용됩니다. 예를 들어, 은행 거래 시 계좌 이체는 한 번에 수행되어야 하며, 송금과 수취 계좌의 잔액은 일관된 상태를 유지해야 합니다. 만약 송금이 성공하고 수취는 실패한 경우, 전체 트랜잭션은 롤백되어 이전 상태로 복원됩니다.

트랜잭션은 데이터베이스 시스템에서 중요한 개념으로 사용되며, 복잡한 비즈니스 로직과 데이터 일관성 요구사항을 처리하는 데 도움을 줍니다.

Last updated