본문 바로가기

면접준비

트랜젝션이란?

트랜잭션은 데이터베이스에서 하나 이상의 작업을 수행하는 논리적인 작업 단위를 의미합니다. 이러한 작업은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 네 가지 특성을 보장합니다.

  1. 원자성(Atomicity): 트랜잭션 내의 모든 작업은 전부 성공하거나 전부 실패해야 합니다. 즉, 모든 작업이 완료되어야 트랜잭션이 성공적으로 완료됩니다. 어느 하나라도 실패할 경우 이전의 작업들은 롤백되어야 합니다.
  2. 일관성(Consistency): 트랜잭션이 수행된 후에도 데이터베이스는 일관된 상태를 유지해야 합니다. 즉, 트랜잭션 이전과 이후에도 데이터베이스는 무결성 제약 조건을 준수해야 합니다.
  3. 고립성(Isolation): 하나의 트랜잭션이 실행 중일 때 다른 트랜잭션에 의해 영향을 받지 않아야 합니다. 즉, 각 트랜잭션은 서로 간섭 없이 실행되어야 합니다.
  4. 지속성(Durability): 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 저장되어야 합니다. 시스템이 장애가 발생하더라도 데이터는 보존되어야 합니다.

이러한 특성들은 데이터베이스 시스템에서 데이터의 무결성과 일관성을 보장하기 위해 중요합니다. 따라서 트랜잭션은 데이터베이스의 핵심 개념 중 하나이며, 데이터베이스 관리 시스템(DBMS)에서 지원됩니다. 자바의 경우, 스프링 프레임워크와 같은 프레임워크를 통해 트랜잭션 관리가 이루어집니다.