정답 : 2번
순차적으로 수행되는 작업 A, B가 반드시 모두 수행되거나 모두 수행되지 않아야 한다고 할 때
1) A와 B는 하나의 트랜잭션으로 묶여 처리가 되어야 한다. (O)
2) A와 B는 수행 후 각각 커밋(Commit)을 수행해야 한다. (X)
-> A와 B는 하나의 트랜잭션(논리적 작업단위)이므로 커밋은 A, B를 모두 수행한 후 "한 번만" 수행하면 된다.
-> 트랜잭션 내에서는 모든 작업이 완료된 후에 "단일 커밋"이 이루어져야 하므로, 각 작업에 개별 커밋을 수행하는 설명은 적절하지 않음
3) A와 B에 주어진 조건은 트랜잭션의 원자성(Atomicity)에 해당한다. (O)
4) A가 완료되지 않으면 시스템 장애가 발생했다고 보고 A를 롤백해야 한다. (O)
[요약 설명]
이 문제는 데이터베이스 트랜잭션(Transaction)의 개념과 트랜잭션의 특성(ACID) 중 Atomicity에 대한 이해를 평가함.
작업이 모두 성공하거나 모두 실패해야 하는 상황에서 트랜잭션 관리와 커밋(Commit) 및 롤백(Rollback)의 올바른 동작을 묻고 있음.
[이론적 내용]
1. 트랜잭션 (Transaction)
- 트랜잭션은 데이터베이스에서 하나의 작업 단위로 처리되는 작업 집합임
- A와 B는 작업이 하나의 트랜잭션으로 묶이면 모든 작업이 성공해야 커밋되고, 하나라도 실패하면 롤백됨
2. 트랜색션의 ACID 특성
- 원자성 (Atomicity) : 트랜잭션에 포함된 모든 작업이 전부 성공하거나 전부 실패해야 하는 성질
- 일관성 (Consistency) : 트랜잭션이 완료된 후 데이터베이스가 일관된 상태를 유지해야 함
- 격리성 (Isolation) : 트랜잭션이 독립적으로 실행되어야 함
- 지속성 (Durability) : 트랜잭션이 성공적으로 커밋된 후 변경내용이 영구적으로 저장되어야 함
3. 커밋(Commit)과 롤백(Rollback)
- 커밋 : 트랜잭션이 정상적으로 완료된 경우 데이터 변경사항을 확정함
- 롤백 : 트랜잭션이 실패하거나 오류가 발생했을 경우 이전 상태로 복구함
'Data Engineering' 카테고리의 다른 글
[SQLD 자격검정 실전문제] Part 1-2. 50번 본질 식별자 vs 인조 식별자 (0) | 2025.05.28 |
---|---|
[SQLD 자격검정 실전문제] Part 1-2. 49번 널(NULL)에 대한 적절한 설명 (0) | 2025.05.28 |
[SQLD 자격검정 실전문제] Part 1-2. 47번 정규화 작업 설명 (0) | 2025.05.28 |
[SQLD 자격검정 실전문제] Part 1-2. 46번 널(NULL) (0) | 2025.05.28 |
[SQLD 자격검정 실전문제] Part 1-2. 45번 고객데이터에 대한 정규화 (0) | 2025.05.28 |