23-08-25 TIL

more·2023년 8월 25일
0

문제

  • 트랜잭션의 격리 수준을 나누는 것으로 락의 역할을 할 수 있는가?

시도

  • 트랙잭션의 격리 수준 (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE)으로 락의 역할을 할 수 있는가?
    • 트랜잭션의 격리 레벨을 올리면 락의 역할을 할 수 있다면 낙관적 락이나 비관적 락을 사용하지 않고도 할 수 있을까라는 의문이 들었다.

해결

  • 해결할 수 없는 이유
    • 예를 들어 한 테이블에서 2명의 회원이 서로의 컬럼을 수정할때, 이 두 트랜잭션은 서로 다른 로우를 수정한다. 애초에 양 트랜잭션이 서로 간섭하지 않는 상황이므로 (REPEATABLE READ 이하의) 트랜잭션 격리 수준으로 이 문제는 해결할 수 없다.

출처

https://hudi.blog/troubleshooting-of-category-role-concurrency-issue/

profile
조금 더

0개의 댓글