DB구축 - 트랜잭션(Transaction)

강신찬·2023년 5월 19일

트랜잭션의 정의

  • 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위
  • 한꺼번에 모두 수행되어야 할 일련의 연산들

COMMIT

  • 트랜잭션 처리가 정상적으로 종료되어 수행한 변경 내용을 DB에 반영하는 명령어

ROLLBACK

  • 트랜잭션 처리가 비정상으로 종료되어 DB의 일관성이 깨졌을 때 트랜잭션이 행한 모든 변경 작업을 취소하고 이전 상태로 되돌리는 연산

  • COMMIT과 ROLLBACK 명령어에 의해 보장받는 트랜잭션 특징 = 원자성

SAVEPOINT(=CHECKPOINT)

  • 트랜잭션 내에서 ROLLBACK할 위치인 저장점을 지정하는 명령어, 여러 개의 SAVEPOINT 지정 가능

트랜잭션의 특성

원자성(Atomicity)

  • 트랜잭션 연산을 데이터베이스 모두에 반영되든지 아니면 전혀 반영되지 않아야 함(All or NOthing)

일관성(Consistency)

  • 트랜잭션이 실행을 성공적으로 완료할 시 일관성 있는 데이터베이스 상태를 유지

독립성(Isolation, 격리성)

  • 둘 이상 트랜잭션 동시 실행 시 한 개의 트랜잭션만 접근이 가능하여 간섭 불가

영속성(Durability)

  • 성공적으로 완료된 트랜잭션 결과는 영구적으로 반영

CRUD 매트릭스

  • Create, Read, Update, Delete, ' C > D > U > R '의 우선순위 적용
  • 테이블, 프로세스에 C, R, U, D가 모두 없는 경우
  • 테이블에 C 또는 R이 없는 경우 (프로세스는 하나만 있어도 돌아감)

출처 : https://m.blog.naver.com/wook2124/222108776229

profile
꾸준히 공부하는 풀스텍 개발자

0개의 댓글