반응형
1. 트랜잭션 병행 처리시 문제점
- 갱신 내용 손실 : 동시에 하나의 데이터가 갱신될 때 하나의 갱신이 누락되는 경우
- 현황 파악 오류 : 하나의 데이터 갱신이 끝나지 않은 시점에서 다른 트랜잭션이 해당 데이터를 조회하는 경우
- 모순성 : 두 트랜잭션이 동시에 실행될 때 데이터베이스가 일관성이 없는 모순된 상태로 남는 문제
- 연쇄 복귀 : 두 트랜잭션이 하나의 레코드를 갱신할 때 하나의 트랜잭션이 롤백하면 다른 하나의 트랜잭션도 롤백되는 문제
2. 병행 처리 문제 방지 방법
- 로킹 제어 기법을 사용한다. (Locking)
- 어떤 트랜잭션이 특정 DB의 데이터를 사용할 때 DB의 일정 부분을 Lock 시키고 트랜잭션이 완료될때 해당 부분을 Unlock 시키는 방법
3. 로킹 단위를 크게했을 때와 작게 했을 때의 차이점
- 로킹 단위가 크면 그만큼 관리가 쉽지만 병행성이 떨어진다.
- 로킹 단위가 작으면 그만큼 관리가 어렵고 오버헤드가 증가하지만 병행성이 올라간다.
4. 로킹 제어가 일으킬 수 있는 문제점
- 트랜잭션의 직렬화 가능성이 높아진다.
- 데드락이 발생할 수 있다.
반응형
'면접 - 데이터베이스' 카테고리의 다른 글
개발자 면접 질문 - 함수적 종속 (0) | 2020.12.04 |
---|---|
개발자 면접 질문 - COMMIT과 ROLLBACK (0) | 2020.12.04 |
개발자 면접 질문 - 저장 프로시저(Sotred Procedure) 와 함수(Function)차이 (0) | 2020.12.04 |
개발자 면접 질문 - DISTINCT와 GROUP BY 차이 (0) | 2020.12.04 |
개발자 면접 질문 - 실행 계획 EXTRA (0) | 2020.12.04 |