[DB] MySQL 및 InnoDB의 DB Lock 알아보기
·
DB
MySQL에서 사용되는 락은 다음과 같은 2가지 종류로 나뉩니다. MySQL 엔진의 락 스토리지 엔진(InnoDB)의 락 MySQL 엔진의 락, 스토리지 엔진 중 현재 MySQL의 기본 스토리지 엔진인 InnoDB의 락을 알아보도록 하겠습니다. 0. 테스트 환경 구성 도커에서 MySQL 사용 다음과 같은 coupon 테이블, member 테이블에서 진행 1. MySQL 엔진의 락 MySQL 엔진은 MySQL 아키텍쳐에서 스토리지 엔진 위의 계층에 속하기 때문에 MySQL 엔진의 락은 모든 스토리지 엔진에 영향을 미치게 됩니다. MySQL 엔진의 락은 다음과 같은 3종류를 제공합니다. 글로벌 락 (Global Lock) 메타데이터 락 (Metadata Lock) 네임드 락 (Named Lock) 1-1. ..
[DB] DB Lock이란? (feat. Lock 종류, 블로킹, 데드락)
·
DB
0. 락(Lock)이란? 여러 커넥션에서 동시에 동일한 자원을 요청할 경우 순서대로 하나의 커넥션만 변경할 수 있게 해주는 기능 동시성을 제어하기 위한 기능 저는 처음에 DB 락을 접했을 때, 락을 이해할 때 ‘락을 획득한다’라는 의미를 ‘외부에서 잠금을 건다.’ 라는 의미로 이해해서 조금 힘들었습니다. 외부에서 잠금을 거는 것이 아니라, ‘내가 화장실 칸을 사용하기 위해 화장실 칸을 직접 들어가서 내가 잠그는 것’의 관점으로 이해하니 더 쉽게 이해할 수 있었습니다. 1. 락의 종류 락의 종류는 크게 다음과 같은 2가지 종류로 나뉩니다. 공유 Lock (Shared Lock, Read Lock, S-Lock) 배타 Lock (Exclusive Lock, Write Lock, X-Lock) 1-1. 공유 ..
BE_성하