CS/데이터베이스
[CS/Database] 트랜잭션 / ACID / 트랜잭션 격리수준(Transaction Isolation Levels)
dbfl9911
2025. 2. 17. 11:38
반응형
• 트랜잭션이란?
- 트랜잭션이란 데이터베이스의 상태를 변화시키는 하나의 논리적인 작업 단위라고 할 수 있으며, 트랜잭션에는 여러개의 연산이 수행될 수 있습니다.
- 트랜잭션은 수행 중에 한 작업이라도 실패하면 전부 실패하고, 모두 성공해야 성공이라고 할 수 있습니다.
• 트랜잭션의 특성(ACID)
- 원자성(Atomicity) : 작업이 모두 반영되던지 아니면 전혀 반영되지 않아야 합니다.
- 일관성(Consistency) : 실행이 완료되면 언제나 일관성있는 상태를 유지해야 합니다.
- 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 실행될 경우 서로의 연산에 끼어들 수 없습니다.
- 영속성(Durability) : 완료된 결과는 영구적으로 반영되어야 합니다.
• 트랜잭션 격리수준 (Transaction Isolation Levels)
트랜잭션 격리수준은 고립도와 성능의 트레이드 오프를 조절합니다.
- Read Uncommitted (레벨 0) : 다른 트랜잭션에서 커밋되지 않은 내용도 참조할 수 있습니다.
- Read Committed (레벨 1) : 다른 트랜잭션에서 커밋된 내용만 참조할 수 있습니다.
- Reapeatable Read (레벨 2) : 트랜잭션에 진입하기 이전에 커밋된 내용만 참조할 수 있습니다.
- Serializable (레벨 3) : 트랜잭션에 진입하면 락을 걸어 다른 트랜잭션이 접근하지 못하게 한다. (성능 매우 떨어짐)
* 위 글은 아래 문서를 참고해 작성했습니다.
https://github.com/ksundong/backend-interview-question
GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질
백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, 인터넷 참고한 질문(CC BY-NC) - ksundong/backend-interview-question
github.com
https://dev-coco.tistory.com/158
신입 개발자 기술면접 질문 정리 - 데이터베이스
💡 데이터베이스의 특징에 대해 설명해주세요. 실시간 접근성(Real-Time Accessibility) : 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 하며, 지속적인 변화(Continuous Evloution) :
dev-coco.tistory.com
review | 1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
check | ✅(2/22) |
반응형