Transaction

참새·2023년 4월 3일
0

트랜잭션(Transaction)

  • 데이터베이스 관리 시스템(DBMS)에서 수행되는 논리적인 작업 단위로 일반적으로 데이터베이스에서 데이터를 조작하는 작업은 하나 이상의 SQL문으로 구성되며 이러한 SQL문들은 전부 하나의 논리적인 작업 단위로 묶어서 처리.
  • 데이터의 일관성과 무결성을 보장하기 위해 사용되는데 데이터베이스에 데이터를 삽입, 갱신, 삭제하는 작업은 언제든지 오류가 발생할 수 있어 이러한 작업들은 전부 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 지속성(Durability)의 특성을 가져야 함.
  • BEGIN, COMMIT, ROLLBACK 등의 명령어를 사용하여 괸리되며 BEGIN 명령어는 트랜잭션의 시작을 나타내고, COMMIT 명령어는 트랜잭션의 완료를 나타냄. 만약, 트랜잭션 도중에 오류가 발생하면 ROLLBACK 명령어를 사용하여 트랜잭션을 취소하고, 이전 상태로 되돌릴 수 있음.

특성

  • 원자성(Atomicity)

    작업의 모든 단계가 수행되거나, 수행되지 않은 상태로 유지되어야 함. 즉, 하나의 작업 단위로 인식되어야 함.

  • 일관성(Consistency)

    데이터베이스의 일관성을 유지해야 함. 즉, 트랜잭션이 수행되기 전과 수행된 후의 데이터베이스의 상태가 일치해야 함.

  • 독립성(Isolation)

    다른 트랜잭션과 독립적으로 수행되어야 함. 즉, 다른 트랜잭션의 영향을 받지 않아야 함.

  • 지속성(Durability)

    트랜잭션에서 수행된 작업은 영구적으로 반영되어야 함. 즉, 시스템이 실패하거나 중단되어도 데이터베이스는 작업 이전의 상태로 돌아가지 않아야 함.

profile
응애 나 아기 개발자

0개의 댓글