트랜잭션이란?

김민섭·2023년 1월 19일
0
post-thumbnail

트랜잭션

데이터 베이스의 상태를 변화시키기 위해 실행하는 작업의 단위

DB의 상태를 변화시킨다...?

아래의 쿼리를 사용하여 DB에 접근하는 것을 말한다

  • INSERT
  • SELECT
  • UPDATE
  • DELETE

** 중요 포인트 **
작업의 단위는 하나의 명령문이 아니라는 것.
작업의 단위는 기능을 수행하기 위한 명령문들을 묶어서 말한다.

예를들어, 게시글에 글을 올리는 작업을 한다고 생각해 보자.

사용자가 작성한 게시글 데이터를 INSERT로 데이터 베이스에 반영을 하고 SELECT로 게시판을 최신상태로 만들어야 한다. 이 작업에서는 INESRT와 SELECT를 묶어 하나의 작업의 단위, 트랜잭션이라고 부른다.

트랜잭션의 특징

트랜잭션은 여러 쿼리문이 묶이는 것이다 보니 문제점들이 발생할 수 있다.
이러한 문제를 방지하기 위해 트랜잭션에는 4가지 특징이 있다.

1. 원자성
All of Nothing, 트랜잭션은 모든 것이 반영되거나 모두 반영되지 않아야 한다.

2. 일관성
하나의 트랜잭션 이전과 이후, 데이터베이스의 상태는 이전과 같이 유효해야 한다.
=> 트랜잭션이 실행된 이후의 데이터베이스는 제약이나 규칙을 만족해야 한다

3. 독립성
둘 이상의 트랜잭션이 동시에 실행되고 있을 때 다른 트랜잭션은 특정 트랜잭션의 데이터를 볼 수 없다

4. 지속성
트랜잭션이 정상적으로 완료되었을 때 해당 데이터는 DB에 영구적으로 반영되어야 한다

profile
getting ready to run

0개의 댓글