124 | 출처
125 | https://idea-sketch.tistory.com/54
126 | https://jojoldu.tistory.com/520
127 |
128 |
129 |
--------------------------------------------------------------------------------
/02.database/phb/21.01.16.md:
--------------------------------------------------------------------------------
1 | # 21.01.16
2 |
3 | ## 주요 질문
4 |
5 | #### 💡 [트랜잭션 설명해주세요.](#트랜잭션transaction)
6 | * DB 상태를 변화하는 흐름 단위이며 원자성, 일관성, 고립성, 지속성의 특징을 가지고 있습니다.
7 |
8 | #### 💡 [로킹기법 설명해주세요](#로킹locking)
9 | * 트랜잭션이 동시에 여러개가 진행되면 갱신 손실, 연쇄 복귀 등 여러 문제가 발생할 수 있습니다. 로킹기법은 이 문제를 해결하기 위해 트랜잭션에 LOCK을 설정하여 LOCK이 존재하는 경우 트랜잭션이 진행되지 않도록 하는 기법입니다.
10 |
11 | #### 💡 [로킹기법의 문제점은?](#로킹locking)
12 | * 트랜잭션들이 LOCK을 무기한 기다리는 교착 상태가 발생할 수 있습니다.
13 |
14 | #### 💡 [교착상태의 빈도를 낮추는 방법은 뭐가 있나요?](교착상태deadlock)
15 | * 예방과 회피기법이 있습니다. 예방은 트랜잭션 전에 필요한 모든 데이터에 Lock을 미리 걸어주는 방법입니다. 하지만 데이터가 많으면 이 역시 데드락이 발생할 수 있습니다. 회피기법은 타임스탬프 기법을 적용하여 데이터를 시간 순서대로 제어하는 방법입니다.
16 |
17 |
18 |