[sql] 트랜잭션 관리자

트랜잭션 관리자의 역할

트랜잭션 관리자는 데이터베이스에서 트랜잭션의 ACID 속성(Atomicity, Consistency, Isolation, Durability)을 보장하기 위한 여러 가지 기능을 수행합니다. 이를 통해 데이터의 무결성을 유지하고 데이터 손실을 방지합니다.

1. Atomicity (원자성)

트랜잭션 관리자는 모든 데이터베이스 조작이 일관성 있는 상태로 완료되거나 완료되지 않도록 보장합니다. 따라서 트랜잭션의 상태를 추적하고 필요한 경우 롤백(rollback)하여 원자성을 보존합니다.

2. Consistency (일관성)

일관성은 트랜잭션이 완료된 후에도 데이터베이스가 유효한 상태를 유지함을 의미합니다. 트랜잭션 관리자는 데이터베이스의 일관성을 유지하기 위해 다양한 검사를 수행하고, 문제가 발생할 경우 롤백하여 일관성을 회복합니다.

3. Isolation (고립성)

트랜잭션 관리자는 여러 트랜잭션이 동시에 실행될 때 각각의 트랜잭션이 다른 트랜잭션으로부터 독립적으로 실행될 수 있도록 고립시킵니다. 이를 통해 각 트랜잭션이 다른 트랜잭션의 영향을 받지 않고 일관성을 유지합니다.

4. Durability (지속성)

트랜잭션이 성공적으로 완료될 경우, 트랜잭션 관리자는 그 변경 내용이 영구적으로 저장되어야 함을 보장합니다. 따라서 데이터가 영구적으로 보존됩니다.

따라서, 트랜잭션 관리자는 데이터베이스 시스템이 ACID 속성을 준수하도록 보장하고, 데이터 처리 과정에서 안정성과 일관성을 유지하는 핵심적인 역할을 수행합니다.