Backend-Interview-Question 사이트를 참고하여 CS 질문에 대해 공부하고 내용을 정리해보고자 한다.
트랜잭션 ?
데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위
⚠️ 상태를 변화시킨다 == SQL 질의어를 이용해 데이터베이스에 접근하는 것 (Select, Insert, Update, Delete)
트랜잭션의 특징
Atomicity (원자성)
- 트랜잭션이 데이터 베이스에 모두 반영되거나, 전혀 반영되지 않아야 함.
Consistency (일관성)
- 트랜잭션 작업 처리의 결과는 항상 일관적이어야한다.
Isolation (고립성)
- 하나의 트랜잭션은 다른 트랜잭션에 간섭할 수 없다. 트랜잭션은 독립적이다.
Durability (영구성)
- 트랜잭션이 성공적으로 완료되면 영구적으로 결과에 반영되어야 한다.