OneDev
[기술면접] ACID 에 대해 설명해주세요 본문
ACID 에 대해 아는대로 설명해주세요
- ACID 는 트랜잭션의 주요 속성 4가지인 Atomicity, Consistency, Isolation, Durability 를 뜻하는 약어로, 트랜잭션의 안정성 보장을 위한 성질들입니다.
- Atomicity(원자성)
- Consistency(일관성)
- Isolation(격리성/고립성)
- Durability(지속성)
A
- Atomicity(원자성)
- 한 트랜잭션의 연산들은 모두 성공하거나, 전부 실패되어야 한다는 성질
- All or Nothing
- 트랜잭션의 안정성 보장을 위한 성질
C
- Consistency(일관성)
- 트랜잭션의 이전과 이후 모두 데이터베이스의 상태는 일관된 상태를 유지해야한다는 성질
- 일관된 상태를 유지한다 -> 데이터베이스의 제약이나 규칙을 만족한다
- (요약) 트랜잭션 이후 데이터베이스는 제약조건이나 규칙을 만족해야 한다는 성질
I
- Isolation(격리성 or 고립성)
- 모든 트랜잭션은 다른 트랜잭션으로부터 영향을 받지 않아야(독립되어야) 한다는 성질
- 여러개의 트랜잭션들이 동시에 수행될 때, 각 트랜잭션은 고립되어 연속적으로 실행된 것과 동일한 결과를 보장한다
- 트랜잭션 끼리는 서로 영향을 주거나 간섭할 수 없다는 성질
D
- Durability(지속성)
- 성공적으로 수행된 트랜잭션의 결과는 데이터 베이스에 영구적으로 반영되어야 한다는 성질로, 데이터 손실의 염려가 없는 안전한 데이터 저장소를 제공하는 것을 의미합니다
- commit 을 하면 현재 상태 영원히 보장
- 하나의 트랜잭션이 성공적으로 수행되었다면 해당 트랜잭션에 대한 로그가 남아 저장되어야 한다는 성질
- (전형적으로 모든 트랜잭션은 로그로 남고, 시스템 장애 발생 전 상태로 되돌릴 수 있음 -> 트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있음)
'DB\SQL' 카테고리의 다른 글
| [기술면접] 데이터베이스 인덱스(Index) 에 대해 설명해보세요 (0) | 2024.04.10 |
|---|
Comments