브렌쏭의 Veritas_Garage

ACID, 실패할거면 하지마라 그냥 본문

[Project_만들다]/[Project_자아내다]

ACID, 실패할거면 하지마라 그냥

브렌쏭 2022. 4. 19. 10:16

정신을 잃어버릴 것 같지만 아직이다

다른건 그렇다 쳐도, A와 I는 구현하기 상당히 골때린다. 사실 4개 다 그렇다.. 

아래로 내려올수록 괜찮은 상태다

1단계: 커밋되지 않았어도 조회되게 한다.

  • 영문을 알수없게 되어버린다

2단계: 커밋된 것은 조회되게 한다. 커밋되지 않았다면 이전 정보를 조회시킨다.

  • 커밋여부에 따라 조회결과가 달라진다.

3단계: 조회결과가 일관되도록 한다. 커밋되지 않았다면 조회도 없다.

  • 팬텀리드 라는 것은 일어난다고 한다.

4단계: 먼가 무조건 좋은 상태....가 아니다.  성능 이슈가 있다.

  • 완전탐색처럼 몹시 비효율적인 진행이라고 생각하면 된다.

낙관적락

 

비관적락

격리 수준을 시리얼라이즈드까지 올린다고 하면 보통 이쪽인가..?

쿼리요청이 들어와도 응답하지 않는다. 대기상태로 기다리다가, 업데이트가 완료되면 그 이후에 쿼리응답이 이루어진다.

select * for update from board

쿼리문은 이런 식으로 적용된다.

그리고 비관적 락 안에 공유락, 베타락 이 또 있다. 진짜 가지가지한다

베타 락 (exclusive lock) - pessimistic_write (읽기 쓰기 모두 잠금)

 

Comments