상세 컨텐츠

본문 제목

[데이터베이스] 트랜잭션과 ACID 성질

개발메모

by 개발하는 정복자 2022. 7. 12. 00:42

본문

트랜잭션이란?

개발자가 정의한 특정 기능을 수행하기 위해 실행되는 데이터베이스의 여러 쿼리문을 묶은 하나의 작업 단위

👉🏾 예를 들어보자. 

 

유튜브 영상을 시청하면 조회수가 1증가한 조회수가 나타난다.

조회수 증가는 insert 문, 변경된 조회수는 select문

이렇게 두 가지 쿼리를 하나의 작업으로 정의했다.

이를 트랜잭션이라한다.


트랜잭션의 ACID 성질

Atomicity - 원자성

Consistency - 일관성

Isolation - 독립성

Durability - 지속성

 

트랜잭션들의 위의 속성들의 앞 글자만 따 ACID라 부른다.

성질을 하나씩 파해쳐보자!


👉🏾 원자성 (Atomicity)

트랜잭션 속 각각의 CRUD 쿼리문을 하나의 단위로 취급한다. 그 모든 단위중 하나라도 실패하면 모두 실행하지 않는다.
한 마디로 전부 실행하거나 전부 실행하지 않는것을 말한다.

 

 

👉🏾 일관성 (Consistency)

트랜잭션 이전과 이후의 데이터베이스의 제약, 규칙이 일관되어야 하는 성질이다.

 

👉🏾 독립성 (Isolation)

여러 트랜잭션 간의 독립성을 의미한다.

 

👉🏾 지속성 (Durability)

모든 트랜잭션은 작업을 수행하고 성공하든 실패하든 로그를 남겨야 하는 성질이다.

 

관련글 더보기

댓글 영역