개발일기

트랜잭션

징구짱 2023. 6. 7. 11:25
728x90

트랜잭션은 데이터베이스 시스템에서 수행되는 단일 작업 또는 논리적인 작업 단위를 말합니다. 일련의 관련된 작업들을 하나로 묶어서 한꺼번에 처리하는 것으로, 데이터베이스에서 데이터의 일관성과 무결성을 보장하기 위해 사용됩니다.

 

  • 원자성(Atomicity)
    트랜잭션의 모든 작업은 전체적으로 완료되거나 전혀 완료되지 않아야 합니다. 작업 중 하나라도 실패하면 이전 상태로 롤백되어야 합니다.
  • 일관성(Consistency)
    트랜잭션이 실행되기 전과 후에 데이터베이스는 일관된 상태를 유지해야 합니다. 즉, 트랜잭션이 데이터베이스의 무결성 규칙을 준수해야 합니다.
  • 격리성(Isolation)
    동시에 여러 트랜잭션이 실행될 때 각 트랜잭션은 서로 영향을 주지 않고,  한 트랜잭션의 작업이 완료되기 전에는 다른 트랜잭션에서 해당 작업에 접근할 수 없습니다.
  • 지속성(Durability)
    트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 저장되어야 합니다. 시스템 장애 또는 기타 문제가 발생하더라도 데이터는 손실되지 않아야 합니다.
728x90