본문/내용
1. 트랜잭션의 개념
트랜잭션은 데이터베이스 시스템에서 실행되는 하나의 작업 단위로, 여러 개의 데이터 조작 명령어를 포함하며 완전한 작업 수행을 보장하는 묶음이다. 이는 데이터베이스의 일관성과 무결성을 유지하는 데 핵심적 역할을 수행한다. 예를 들어, 은행 계좌 이체 작업을 생각해보면, 송금자 계좌에서 금액이 차감되고 수취자 계좌에 금액이 적절히 더해지는 두 가지 작업이 동시에 이루어져야 하며, 어느 하나라도 실패하면 전체 과정은 원상복구되어야 한다. 이러한 특성은 트랜잭션이 ACID 성질을 갖추도록 하는데, 이 중에서 각각의 의미는 다음과 같다. 원자성(Atomicity)은 트랜잭션이 모두 성공하거나 모두 실패해야 함을 의미하며, 만약 중간에 실패가 발생하면 이전 상태로 되돌아간다. 일관성(Consistency)은 트랜잭션 수행 전후의 데이터베이스가 항상 규칙에 맞게 유지되어야 함을 의미하며, 무결성 제약조건을 깨지 않는 범위 내에서 수행된다. 고립성(Isolation)은 동시에 여러 트랜잭션이 수행될 때 각 트랜잭션이 독립적이어야 하며, 이로 인해 다른 트랜잭션의 영향을 받지 않는다. 지속성(Durability)은 일단 트랜잭션이 성공적으로 완…