Inflearn brand logo image

인프런 커뮤니티 질문&답변

gmlfla7329님의 프로필 이미지
gmlfla7329

작성한 질문수

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

4-10. 네임드락 구현 및 개선

네임드락이 분산 환경에서 유리한 이유가 궁금합니다.

해결된 질문

작성

·

23

·

수정됨

0

1. 현재 학습 진도

  • 몇 챕터/몇 강을 수강 중이신가요?

    • 4-10 입니다

       

  • 여기까지 이해하신 내용은 무엇인가요?

    • 네임드 락은 분산환경에서 유리하다.

 

2. 어려움을 겪는 부분

  • 어떤 개념이 헷갈리시나요?

    • 네임드 락이 분산 환경에서 유리하다 하신 내용에서, 데이터베이스 레벨의 락 제공이기에 유리하다고 이해하였습니다.

    • 하지만 비관적락, 낙관적 락 둘 다, db 단 에서 락을 획득하거나 버전 관리를 통해 이루어 진다고 이해하고 있어서 그렇다면 분산 환경에서 유리하다는 것이 네임드 락만의 장점이 아닌것 같다고 생각이 들었습니다.

  1. 스프링에서 비관적락, 낙관적 락을 jpa 를 활용하여 걸게 된다면, dbever 에서 테스트 해본 것 처럼 db 단에서 처리되어 락을 수행하게 되는 내용이 정확히 맞는지 궁금합니다.

  2. 만약 맞다면 네임드 락이 분산 환경에서 유리하다는 것이 db 단에서 처리되고, 그 방식 자체가 분산환경에 유리한 내용을 가지고 있는건지 궁금합니다.

답변 2

0

딩코딩코님의 프로필 이미지
딩코딩코
지식공유자

안녕하세요 gmlfla7329님! 좋은 질문 감사합니다

말씀해주신대로 비관적락, 낙관적락, 네임드락 모두 DB에서 처리되므로 분산환경에서의 동작은 동일합니다. 네임드락만 분산환경에서 유리하다는 건 논리적으로 맞지 않습니다

디비를 사용한 락 모두 분산환경에서 유리하다는것을 표현하고 싶었는데, 잘못 표현한 것 같습니다 😢😢

말씀해주신대로 비관적락, 낙관적락, 네임드락 모두 데이터베이스를 사용해 락을 거는 것이기 때문에 분산환경 지원을 합니다. 네임드락의 차별점은 "분산환경 지원"이 아니라 "보호 대상의 유연성"이라고 보는 게 맞을 것 같습니다. 네임드락만 비즈니스 로직에 대해 보호할 수 있기 때문입니다

정확한 언급해주셔서 감사합니다! 추가적으로 궁금한 점이 있으면 언제든 말씀 부탁드립니다 __

0

안녕하세요, 인프런 AI 인턴입니다. gmlfla7329님.

네임드 락이 분산 환경에서 유리한 이유에 대해 질문을 주셨군요. 네임드 락은 특정 이름을 가진 락으로, 주로 데이터베이스에서 지원하는 특별한 형태의 락입니다. 분산 환경에서는 여러 노드나 인스턴스가 동일한 자원에 대한 접근을 조율해야 하므로, 네임드 락이 효과적일 수 있습니다.

네임드 락의 장점과 특징:

  1. 전역적 접근:

    • 네임드 락은 특정 자원에 대한 락을 이름으로 관리하기 때문에, 분산 환경에서도 동일한 이름을 가진 락을 통해 전역적으로 접근하고 제어할 수 있습니다. 이는 독립적인 노드들 간의 자원 접근 조정을 가능하게 합니다.
  2. 데이터베이스 레벨에서의 일관성:

    • 데이터베이스 레벨에서의 락은 트랜잭션의 일관성을 보장할 수 있습니다. 분산 트랜잭션을 관리하기 위해 이러한 접근 방식은 유용할 수 있습니다.
  3. 유연성:

    • 네임드 락은 데이터베이스가 지원하는 기능으로, DBMS의 일관성 보장 메커니즘을 활용하여 고급락 기능을 활용할 수 있습니다.

비관적 락과 낙관적 락에 대한 설명:

  • 비관적 락: 트랜잭션이 시작될 때 데이터에 대한 락을 즉시 설정하여 데이터의 변경을 제한합니다.
  • 낙관적 락: 데이터 변경이 확정될 즈음에 충돌을 체크하여 데이터 충돌을 줄이는 방식으로, 주로 버전 관리를 통해 구현됩니다.

두 방식 모두 데이터베이스 레벨에서 락을 관리할 수 있지만, 네임드 락은 보다 명시적으로 특정 자원을 지정하여 제어할 수 있다는 점이 분산 환경에서의 장점으로 작용할 수 있습니다.

추가 정보:

네임드 락은 특히 데이터베이스 자체의 특성을 활용하여 여러 노드 간의 자원 접근을 일관성 있게 관리할 수 있기 때문에, 비관적/낙관적 락과는 다른 유연성을 제공할 수 있습니다.

관련하여 다음의 질문과 답변이 유사한 주제로 상세한 설명을 제공하고 있으니 참조해 보시기 바랍니다:

저는 질문자님의 이해를 돕고자, 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

gmlfla7329님의 프로필 이미지
gmlfla7329

작성한 질문수

질문하기