Transaction(트랜잭션)

강상은·2023년 12월 3일
0

1. 정의

  • 트랜잭션(Treansaction)은 여러 개의 DML 명령문을 하나의 논리적인 작업 단위로 묶어서 관리하는 것으로, ALL 또는 Nothing 방식으로 작업 단위를 처리 DML: Data Manipulation Language 데이터 베이스를 조작하는데 사용되는 SQL의 하위 집합
    • 따라서, SQL 명령문들이 모두 정상적으로 처리 → 데이터베이스에 영구반영(commit)
    • 하나라도 잘못된 것이 있으면 모두 취소(rollback)

2. 사용 예시

  • 게시판 글 조회 시 해당 글을 조회하는 기능과 조회 수를 갱신하는 기능
  • 쇼핑몰에서 상품 주문 시 주문 상품을 테이블에 등록하는 기능과 주문자의 포인트를 갱신하는 기능
  • 은행에서 송금 시 송금자의 잔고를 갱신하는 기능과 수신자의 잔고를 갱신하는 기능

3. 특징

  1. Atomcity(원자성) : 트랜잭션이 DB에 모두 반영되거나, 전혀 반영되지 않거나를 뜻함 ( All or Nothing)
  2. Consistency(일관성) : 트랜잭션 작업 처리의 결과가 항상 일관되어야 한다를 뜻함 ( 데이터 타입이 반환 후와 전이 항상 동일해야함)
  3. Isolation(독립성) : 하나의 트랜잭션은 다른 트랜잭션에 끼어들 수 없고 마찬가지로 독립적임을 의미
  4. Durability(지속성) : 트랜잭션이 성공적으로 완료되면 영구적으로 결과에 반영되어야 함 (commit)

0개의 댓글