새로운 질서 위키

트랜잭션

트랜잭션(transaction)은 여러 작업을 하나의 처리 단위로 묶는 방식이다. 데이터베이스에서는 관련 변경이 일부만 적용되는 상황을 피하는 데 사용한다. (PostgreSQL의 트랜잭션 안내)

  • 예컨대 한 계좌의 잔액을 줄이고 다른 계좌의 잔액을 늘리는 작업을 함께 묶는다. 중간에 실패했을 때 한쪽 변경만 남지 않도록 한다. (계좌 이체 예)
  • BEGIN으로 시작해 COMMIT으로 확정하거나 ROLLBACK으로 취소한다. 사용하는 도구가 자동으로 트랜잭션을 시작하는지도 확인한다. (명시적 처리와 클라이언트 동작)
  • 작업 일부를 되돌릴 기준점이 필요하면 세이브포인트를 둔다. 최종 확정 전의 부분 취소와 전체 취소를 나눠 다룰 수 있다. (SAVEPOINT 사용)

기타 등등

  • PostgreSQL은 명시적인 BEGIN이 없는 개별 SQL 문장도 자체 트랜잭션 안에서 실행한다. 출처
  • 확정 전의 변경은 다른 트랜잭션에 보이지 않으며, 확정할 때 그 변경들이 함께 드러난다. 출처

#데이터베이스 #소프트웨어 #운영

검색