[CS] 트랜잭션이란?

김민아·2025년 1월 8일

CS

목록 보기
6/8
post-thumbnail

1. 정의

트랜잭션(Transaction)은 데이터베이스 관리 시스템(DBMS)에서 데이터베이스 상태를 변화시키는 작업의 단위입니다. 트랜잭션은 하나 이상의 데이터베이스 연산(INSERT, UPDATE, DELETE 등)을 포함하며, 이들 연산은 하나의 논리적 작업 단위로 묶여서 처리됩니다.

2. 특징

  • Atomicity (원자성): 트랜잭션 내의 모든 작업은 하나의 단위로 처리되며, 트랜잭션이 성공적으로 완료되면 모든 작업이 적용되고, 중간에 오류가 발생하면 모든 작업이 취소됩니다. 즉, 트랜잭션은 "모두 성공"하거나 "모두 실패"하는 특성을 가집니다.

  • Consistency (일관성): 트랜잭션이 실행되기 전과 후에 데이터베이스는 항상 일관된 상태를 유지해야 합니다. 트랜잭션이 성공적으로 완료되면 데이터베이스의 제약 조건을 위반하지 않도록 보장됩니다.

  • Isolation (격리성): 각 트랜잭션은 다른 트랜잭션의 영향을 받지 않도록 격리됩니다. 여러 트랜잭션이 동시에 실행될 때, 하나의 트랜잭션이 완료될 때까지 다른 트랜잭션의 결과를 볼 수 없습니다.

  • Durability (지속성): 트랜잭션이 완료되면 그 결과는 영구적으로 데이터베이스에 반영됩니다. 시스템에 장애가 발생하더라도 완료된 트랜잭션의 결과는 손실되지 않습니다.

3. 역할

  • 데이터베이스의 신뢰성을 보장합니다.
  • 다수의 연산이 복잡하게 연결된 시스템에서 안정성을 제공합니다.
profile
안녕하세요.

0개의 댓글