msung99 / haon.blog

Tech Blog (Built with Gatsby-Starter-Haon) 🚀
https://haon.blog
MIT License
0 stars 0 forks source link

mysql/named-lock/ #3

Open utterances-bot opened 1 month ago

utterances-bot commented 1 month ago

MySQL 네임드 락으로 분산 환경에서의 동시성 이슈를 해결해보자!

동시성 이슈를 제어하는 방법은 정말 다양하다. 하지만 해당 상황에 적절히 대응하지 못한다면, 성능 저하의 주범이 될 수 있다. 비관적 락(Pessimistic Lock) 의 한계 JPA, MySQL 8.0 에서의 비관적 락 : 공유 락(Shared Lock)과 배타 락(Exclusive…

https://haon.blog/mysql/named-lock/

jikimee64 commented 1 month ago

안녕하세요! 글 너무 잘봤씁니다. 혹시 그림은 ppt로 직접 만드신건가요?

msung99 commented 1 month ago

안녕하세요 @jikimee64 님! 포스트 좋게 읽어주셔서 감사합니다 🙂

혹시 그림은 ppt로 직접 만드신건가요?

네 맞습니다! 상세한 보충 설명을 위해 제가 직접 만들었습니다!

scv1702 commented 3 days ago

안녕하세요! 정말 좋은 글 잘 읽었습니다. 다름이 아니라 궁금한 점이 있는데, Course 테이블의 엔티티에 비관적 락을 걸게되면 다른 트랜잭션에서 변경이 아닌 조회만 하고 싶어도 락에 의해 대기를 할 수 밖에 없어 네임드 락을 사용하신걸로 제가 이해를 했는데, 비관적 락의 모드를 Shared Lock으로 하게 되면 다른 트랜잭션에서 조회가 가능한게 아닌가 여쭙고 싶습니다!

scv1702 commented 3 days ago

아 혹시.. 위 설명대로 하더라도 결국에는 count 필드에 대한 쓰기 작업을 필요로 하기 때문에 비관적 락을 Exclusive Lock으로 걸어야 하는 것일까요?