Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Spring
- cache
- jwt
- 테스트 코드
- java
- 열 속성
- 인덱스
- jpa
- stream
- 조합
- equals
- 필드 주입
- SQL
- 재정의
- 바이너리 카운팅
- Test
- AOP
- redis
- DI
- select_type
- docker
- hashcode
- DDL
- VUE
- KEVISS
- 생성자 주입
- static
- StringBuilder
- lambda
- MSA
Archives
- Today
- Total
백엔드 개발자 블로그
낙관적 락 vs 비관적 락 본문
해당 글은 우테코 테크톡을 리부한 글입니다.
https://www.youtube.com/watch?v=era8W7q3CeQ
낙관적 락
1. 충돌이 발생하지 않는다고 가정
2. version column을 추가
3. DB에서 처음 읽어온 Version을 기억
4. Update시 현재 DB의 버전가 다르다면 롤백
비관적 락
1. 충돌이 자주 발생할 것이라고 가정
2. TABLE or ROW에 LOCK 걸고 트랜잭션 작업
3. 다른 트랜잭션은 LOCK 획득까지 대기
4. 해당 작업 완료 시 LOCK 해
비교
사용하는 경우
- 충돌이 적으면 낙관적 락
- 충돌이 많으면 비관적 락
'테크 블로그 리뷰' 카테고리의 다른 글
MySQL 옵티마이저 (1) | 2024.12.11 |
---|---|
OSI7 계층 (0) | 2024.11.01 |
멀티쓰레드와 동기화 (0) | 2024.10.24 |
DI (0) | 2024.10.24 |
@Transaction (0) | 2024.10.24 |