Yomni's TIL Help

ACID

DB에서 트랜잭션을 보장하기 위한 개념이다.
각각 앞 대문자를 따서 ACID로 명명한다.

트랜잭션

ACID를 짚고 넘어가기 전에 트랜잭션을 정확히 정의해보자.

트랜잭션이란 DB에서 일어나는 일련의 연산들을 하나의 논리적 작업 단위로 묶은 것이다.
ACID를 보장하는 데이터 조작과정이라고 볼 수도 있다.

Atomicity(원자성)

트랜잭션을 구성하는 연산들은 모두 성공하거나, 실패해야한다

Consistency(일관성)

데이터베이스의 상태가 항상 일관된 규칙과 제약조건을 따른다.

Isolation(격리성)

동시 에 여러 트랜잭션이 실행될 때 트랜잭션은 서로 격리되어야 한다.

Durability(지속성)

한 번 커밋된 트랜잭션은 영구히 저장되어야 한다.

느낀점

InnoDB의 언두로그, 체크포인트 등 개념을 알고 ACID를 다시 보니 새로웠다.
예를 들면, 일관성을 보장하기 위해 내부적으로 언두로그, 리두로그나 버퍼풀 등에 데이터를 관리하는 이미지를 그려보니
이해하기 쉬웠다.

Last modified: 19 March 2025