inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Các khái niệm và phương pháp điều chỉnh được xem xét khi di chuyển 20 tỷ mẩu dữ liệu sang MySQL

Hộp đựng khóa chết

lock의 순서를 지켜주자는 말의 뜻

Đã giải quyết

166

작성자 없음

0

안녕하세요? 질문이 있습니다.

6분 20초쯤 "여러 데이터를 수정할 때는 발생하는 lock의 순서를 지켜주자" 라는 말을 이해하지 못했습니다.

좀 더 자세히 설명 가능하실까요?


트랜잭션 X에서는 A -> B 를 수정한다.

트랜잭션 Y에서는 B -> A 를 수정한다.

Deadlock 발생할 가능성이 있음은 이해했습니다.

 

여기서 lock의 순서를 지킨다는 것이 무슨 뜻일까요?

트랜잭션 Y도 A -> B 흐름으로 수정하도록 만들라는 뜻인가요?

그렇다면 이해는 되지만, 트랜잭션 Y가 B -> A 로만 수정해야하는 상황이라면 어떻게 해소해야 하는지 궁금합니다.

 

감사합니다 :)

mysql mongodb mysql-workbench mysql-query

Câu trả lời 1

0

July

일단 Lock에 대한 부분은 일반적인 서비스를 개발하시는데에 있어서 큰 문제가 발생하지 않습니다.

그러기 떄문에 사실 실무에서도 이러한 Lock에 대한 제어를 신경쓰고 쿼리를 작성하지는 않습니다.

 

하지만 특수한 케이스에 대해서 Lock을 얻고 처리를 해야 하는 경우도 있습니다.

예를들면 모든 데이터 수정이 Atmoic하게 동작을 해야 하는 부분이 있는것이죠

  • 예를들면 티켓팅 서비스 정도가 생각이 드네요

 

이렇게 Lock을 획득하고 제어를 해야 하는 상황에 대해서 표현을 하고 싶어서 저렇게 설명을 드렸는데 조금 혼동이 오실 수 있는 부분인거 같네요 ㅠㅠ 혼동을 드리게 되어서 죄송합니다.

Lock을 따로 제어하지 않는다면 일반적인 쿼리에 대해서 큰 문제없이 작성하셔도 됩니다. 그래서 막 심각하게 모든 부분을 고려하시지는 않아도 됩니다.

  • 모든것은 MySQL의 옵티마이저에게 책임을 떠넘기기로 하죠 ㅎㅎ

 

어느정도 도움이 되셨을까요?? 질문 감사합니다 :)

부하 테스트 시 설정 관련 질문드립니다

1

13

1

build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)

0

16

1

sakila 실전 17번 문제

0

15

1

복합인덱스 설계 질문

0

45

1

ArticleReadService 관련 질문

0

27

1

마스터패스...

0

37

1

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

67

1

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

47

1

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

75

2

스크립트에 대해 질문 있습니다.

1

59

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

71

1

리뷰

0

44

2

조건 검색 질문

0

40

1

upload_file_id가 1,3,4 순서인 건에 대해

0

43

1

p.created_at vs u.name 인덱스 문의

0

48

2

콘솔 로그가 깨져나오는데 혹시 방법이 있을까요?

0

55

2

이진 트리 노드

0

51

1

조인의 특징

0

47

2

댓글 삭제 로직에서 동시성 문제 발생 가능성

0

39

1

Order BY 강의 12분 질문

0

116

2

Deadlock Case 4분 45초 질문

1

178

1

[Skip Locked For Session] 12:14초 내용 관련 질문

1

352

1

안녕하세요, 멀티컬럼인덱스 개념 후반부 내용이 이해가 가지 않아 질문 드립니다.

2

451

2

안녕하세요 좋은 강의 감사합니다. 혹시 실습 코드는 따로 제공 안되나요??

2

305

1