SQL 기본 및 활용
🗄️ SQL관리 구문★★★★☆자주

트랜잭션의 네 가지 성질

원자성은 전부 되거나 전부 안 되는 것, 일관성은 규칙이 깨지지 않는 것, 고립성은 남의 중간 상태가 보이지 않는 것, 지속성은 커밋한 것이 남는 것이다.

원자성일관성고립성지속성트랜잭션

왜 그런지까지

원자성(Atomicity)은 여러 문장이 하나처럼 움직여, 중간에서 실패하면 앞의 것까지 되돌아간다는 뜻이다. 일관성(Consistency)은 트랜잭션 전후로 제약조건 같은 규칙이 지켜진다는 뜻이다.

고립성(Isolation)은 동시에 도는 다른 트랜잭션의 중간 결과가 보이지 않는다는 뜻으로, 격리 수준을 낮추면 이 성질을 일부 포기하는 대신 빨라진다. 지속성(Durability)은 커밋을 마친 결과가 장애가 나도 남는다는 뜻이다.

ACID

성질무엇을 보장하는가
원자성전부 되거나 전부 안 된다
일관성전후로 규칙이 깨지지 않는다
고립성남의 중간 상태가 보이지 않는다
지속성커밋한 것은 장애가 나도 남는다

헷갈리는 것

원자성 vs 일관성

원자성은 전부 반영되거나 전부 취소되는 것이고, 일관성은 트랜잭션 전후로 데이터의 규칙이 깨지지 않는 것이다.

고립성 vs 지속성

고립성은 다른 트랜잭션의 중간 상태가 보이지 않는 것이고, 지속성은 커밋한 결과가 장애 뒤에도 남는 것이다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다