채널톡 아이콘

Spring·JPA 개발자를 위한 MySQL 락·데드락 실전 — 운영에서만 멈추는 장애, 코드로 재현하고 고치기

쿼리는 빠른데 요청은 기다리는 이유, 락입니다. MySQL 8.0과 Spring Boot·JPA 실습 프로젝트로 레코드·갭 락, 데드락 4유형, 긴 트랜잭션과 커넥션 풀 고갈, 배포 중 메타데이터 락, 잃어버린 갱신을 테스트로 재현하고 코드로 고친 뒤 같은 테스트로 확인합니다.

1명 이 수강하고 있어요.

난이도 중급이상

수강기한 무제한

데드락
데드락
트랜잭션
트랜잭션
동시성
동시성
장애대응
장애대응
데드락
데드락
트랜잭션
트랜잭션
동시성
동시성
장애대응
장애대응

수강 후 이런걸 얻을 수 있어요

  • performance_schema.data_locks·data_lock_waits·innodb_trx로 누가 무엇을 잡고 기다리는지 찾고, 1205·1213 오류를 읽습니다.

  • 인덱스·격리수준·@Transactional 범위·flush 시점이 락 범위와 락 시간을 어떻게 바꾸는지 테스트로 확인합니다.

  • 데드락 로그 원문을 읽고 엇갈린 순서·없으면 넣기·배치 대 개별·외래키 데드락을 구조로 고칩니다. 재시도는 안전망으로 둡니다.

  • 트랜잭션 안 외부 호출이 커넥션 풀 고갈로 번지는 과정과, 배포 중 메타데이터 락 대기열을 재현하고 막습니다.

  • 선착순 쿠폰·카운터 같은 핫 로우와 잃어버린 갱신·쓰기 왜곡을 원자적 UPDATE·잠금 읽기·대표 행 잠금으로 해결합니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 실행계획·인덱스와 JPA 기본은 배웠고, 그다음 운영 장애를 다루고 싶은 Spring 백엔드 개발자(1~5년차)

  • 1205·1213 오류나 커넥션 타임아웃을 겪었지만 원인을 설명하지 못한 분

  • 코드 리뷰에서 트랜잭션·락 위험을 짚고 싶은 리드 개발자

선수 지식,
필요할까요?

  • @Transactional, JPA 엔티티·리포지토리 기본

  • 인덱스·실행계획 기초

  • JDK 17 이상, Docker(또는 로컬 MySQL 8.0)

안녕하세요
데이터장인입니다.

커리어인증

20년 이상 데이터베이스와 IT 분야에서 경력을 쌓아온 데이터장인입니다. DBA 및 DB Platform 팀 매니저로 데이터베이스 플랫폼을 다루며, MySQL·PostgreSQL·Oracle·MongoDB와 SQL 튜닝, AWS·Terraform·Python을 전문 분야로 삼고 있습니다. 게임·금융·IT 서비스 분야의 경력을 바탕으로 데이터베이스와 클라우드 아키텍처를 설명합니다. 『오라클 실무튜닝 SQL 패턴 학습』과 『Oracle Pro*C 실무프로젝트 활용서』를 출간했으며, AWS Summit 2018·2019와 데이터야 놀자 2020에서 서버리스·데이터베이스 선택·멀티데이터베이스 전략을 발표했습니다. 최근에는 Bedrock LLM을 이용한 슬로우 쿼리 분석·튜닝 권고, DB 스펙 산정 자동화, DB 메타 MCP 서버와 Slack 봇을 통한 조회 흐름을 다루고 있습니다. 개발자를 위한 데이터베이스 자동화와 비개발자를 위한 AI 업무 활용을 각 과정의 대상과 목적에 맞는 실습으로 설명합니다. AI 제안을 그대로 적용하기보다 결과 동일성·실행 계획·관측 조건을 확인하고, 근거가 부족하면 보류하는 판단 기준을 전달합니다. 회사 운영 데이터와 인증값은 강의 자료에 포함하지 않습니다.

더보기

커리큘럼

전체

52개 ∙ (3시간 12분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

데이터장인님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

얼리버드 할인 중

₩52,800

20%

₩66,000

평생교육이용권 지원 강의