inflearn logo
강의

Course

Instructor

Real MySQL Season 1 - Part 1

Commit 응답받기 전 네트워크 문제가 발생하면

65

inflearn1

1 asked

1

안녕하세요. 좋은 강의 감사합니다. 강의와 직접적으로 관련 있는 내용은 아니지만 궁금한 점이 있어 질문드립니다.

클라이언트에서 MySQL 서버로 아래와 같이 요청할 텐데

  1. BEGIN

  2. 쿼리

  3. COMMIT

3번에서 MySQL 서버가 클라이언트의 Commit 요청을 받고 처리 완료 후, 클라이언트에게 응답하려는 순간 네트워크가 단절되면 Commit은 되었지만 클라이언트는 실패로 인지할 텐데 이런 경우 어떻게 대응해야 하는지 궁금합니다. 아니면 MySQL 서버에 네트워크 전송 실패를 감지하고 해당 트랜잭션을 보정하는 동작이 있을까요?

감사합니다.

mysql dbms/rdbms backend query-tuning mysql-query

Answer 1

0

communityai8509

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

인프런님, 좋은 질문 감사합니다. 클라이언트에서 MySQL 서버로 COMMIT 요청을 보낸 후 네트워크가 끊어진 경우, 서버는 해당 트랜잭션을 성공적으로 커밋했을 수 있지만 클라이언트는 이를 알지 못하게 됩니다.

기본적으로 MySQL 서버는 네트워크 전송 실패를 직접 감지하여 트랜잭션을 자동으로 보정하는 동작을 제공하지 않습니다. 따라서 이러한 상황에 대비하기 위해 일반적으로 다음과 같은 방법을 고려할 수 있습니다:

  1. 애플리케이션 로직에서 재시도 전략 구현: 클라이언트 쪽에서 COMMIT에 대한 응답이 오지 않는 경우, 특정 조건 하에서 트랜잭션을 다시 시도하는 로직을 구현할 수 있습니다. 그러나 이 방법은 데이터의 중복 처리가 이루어질 수 있으므로 주의가 필요합니다.

  2. 트랜잭션 검증: 클라이언트는 커밋 후 해당 데이터를 읽어 확인하거나, 트랜잭션 ID나 타임스탬프를 기록하여 서버에 실제로 커밋이 되었는지 검증할 수 있습니다.

  3. 로그 기반의 회복 메커니즘: MySQL 서버의 binlog를 통해 최근 커밋된 트랜잭션의 로그를 확인하여 트랜잭션의 성공 여부를 알아볼 수 있습니다.

이러한 전략을 통해 클라이언트와 서버 간의 네트워크 단절 문제에 대응할 수 있습니다. 보다 구체적인 해결 방법은 애플리케이션의 요구사항과 환경에 맞게 설계되어야 합니다. 도움이 되셨길 바랍니다!

추가적으로 MySQL 관련 포럼이나 커뮤니티에서 유사한 문제를 다뤄 볼 수도 있습니다. 더 많은 정보가 필요하시면 Stack Overflow와 같은 플랫폼에서 mysql 태그로 검색해보시는 것도 하실 수 있습니다.

14분44초에 쿼리 질문드립니다.

0

73

2

ep12. (2) LEFT JOIN 사용 방법 준수 - 오타 질문

0

75

2

ep.12 count(*) 질문

0

67

2

레코드 수정시 저장공간이 부족하면

0

81

2

복합 index 문의

0

87

2

강의

0

83

1

LEFT JOIN 시 드라이빙 테이블을 왜 ALL로 읽나요?

0

108

2

GAP 락에 대한 질문 드립니닷..!

0

195

1

ORDER BY가 필요한 이유

0

177

2

[오타 제보] 선행 데이터를 기반으로 한 데이터 분석

0

167

1

2강. VARCHAR(255) 저장되는 데이터의 길이 정보 질문

0

449

2

LIMIT, OFFSET을 사용하는 것과 범위 기반 방식의 성능 차이

0

320

2

MySQL Where절 내 조건의 순서

0

395

2

1강. delete marking된 데이터의 정리 주기는 어느 정도인가요?

0

238

2

Mysql table avg_row_length

0

144

1

12강 FULL GROUP BY

0

135

2

ep11) Prepared Statement에서 질문

0

146

2

7)select for update 강의에서 질문

0

230

2

12강. LEFT JOIN 사용 방법 준수 5:42

0

240

2

6강. Top N 데이터 조회와 관련해 질문있습니다.

0

196

2

5강에서 사례로 언급하신 DETERMINISTIC 예제에 대해 질문있습니다.

0

146

1

deternmistic 질문

0

174

2

1강 CHAR타입에 대해 질문드립니다

0

230

1

EXPLAIN ANALYZE 수행 시 쿼리 실행 계획이 예상과 다릅니다.

0

252

1