호빵의 IT 개발소

트랜잭션이란? 본문

CS(전공지식)/기술면접 준비

트랜잭션이란?

호빵Stack 2025. 4. 14. 20:58

트랜잭션 (Transaction)

  • 트랜잭션은 **하나의 작업 단위(Unit of Work)**로, 여러 DB 연산이 전부 성공하거나, 전부 실패해야 하는 처리 방식.
  • 데이터의 **정합성(일관성)**을 보장하기 위한 핵심 개념.
  • 트랜잭션의 4가지 성질을 ACID라고 함:
    • Atomicity (원자성): 모두 수행되거나 모두 취소됨
    • Consistency (일관성): 트랜잭션 전후 데이터 무결성 보장
    • Isolation (격리성): 동시에 실행되는 트랜잭션 간 간섭 없음
    • Durability (지속성): 커밋된 데이터는 시스템 장애에도 유지됨

 

 

면접 스타일 답변 예시:

트랜잭션은 데이터베이스에서 여러 연산을 하나의 작업 단위로 묶어서 처리하는 기능입니다.
이 안에 포함된 작업들은 전부 성공하거나 하나라도 실패하면 전체를 롤백해서 무효화합니다.
예를 들어 게임에서 아이템을 사고 골드를 차감하는 두 작업이 있을 때
트랜잭션 없이 처리하면 골드만 빠지고 아이템이 안 들어오는 문제가 생길 수 있습니다.
하지만 트랜잭션을 쓰면 중간에 문제가 생겨도 전체 작업이 원래 상태로 되돌아가게 되어
데이터의 정합성과 신뢰성을 지킬 수 있습니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

렌더링 파이프 라인이란?  (0) 2025.04.14
죽음의 다이아몬드란?  (0) 2025.04.14
L-Value, R-Value란?  (0) 2025.04.04
static_cast와 dynamic_cast의 차이점은?  (1) 2025.04.03
dynamic_cast란?  (0) 2025.04.03
Comments