Transaction?

Parker.Park·2022년 9월 3일
0

코드캠프

목록 보기
33/34

Transaction?

트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 뜻한다.

데이터베이스의 상태를 변화시킨다는 것은 아래의 질의어(SQL)를 이용하여 데이터베이스를 접근하는 것을 의미한다.

  • SELECT
  • INSERT
  • DELETE
  • UPDATE

여기서 작업의 단위는 질의어 한 문장이 아닌 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정한다는 것이다.
가장 많이 예를 드는 것으로는 송금이다. A가 B에게 1,000원을 송금을 한다면, 데이터베이스에서는 A계좌에서 1,000원을 차감하고, B계좌에서 1,000원을 추가한다. 여기서 차감하고 추가하는 쿼리 작업을 통틀어 트랜잭션이라고 한다.
그리고 성공적으로 트랜잭션이 완료되었다는 의미로 commit이라고 한다. 만약, 쿼리문중 문제가 발생하여 commit할 수 없는 경우 이전 수행했던 작업을 모두 취소하고 rollback하여 이전 상태로 되돌린다.
위와 같은 트랜잭션의 특징을 담은 것이 ACID 이다.

[ACID?]

그러나 위 ACID를 다 만족하기 위해서는 성능이 떨어지게 되어 종종 완화되곤한다. 완화에 따라선 등급을 정하는데 이것을 Isolation level이라고 한다.

[Isolation level]

commit, rollback

  • commit
    하나의 트랜잭션이 성공적으로 끝났고, DB가 일관성 있는 상태일 경우를 알려주기 위해 사용하는 연산이다.
  • rollback
    하나의 트랜잭션이 비정상적으로 종료되어 원자성이 깨진 경우

참조

[트랜잭션(Transaction)이란?, mommoo tistory]

[DB 트랜잭션(Transaction), gyoogle dev]

[[10분 테코톡] 🐤 샐리의 트랜잭션, 우아한Tech Youtube]

profile
개발자준비중

0개의 댓글