Real MySQL 8.03 [DB] MySQL 8.0 잠금 MYSQL의 내부 동작과 그 원리에 대해 궁금해져, Real MySQL 8.0 책을 읽었는데 정리를 안하니 계속 내용이 휘발되어서 내 방식으로 정리해보고자 글을 쓴다. 잠금은 동시성을 제어하기 위한 기능으로, 여러 커넥션에서 동시에 동일한 자원을 요청할 경우 순서대로 한 시점에는 하나의 커넥션만 변경할 수 있게 해주는 것이다. MySQL에서 사용하는 잠금은 크게 스토리지 엔진 레벨과 MySQL 엔진 레벨로 나눌 수 있다. - MySQL 엔진 레벨: 글로벌 락 , 테이블 락, 테이블 메타데이터 락, 네임드 락- 스토리지 엔진 레벨: 레코드 락, 갭락, 넥스트 키 락, 자동 증가 락이들에 대해 자세히 알아보자! 1. MySQL 엔진 레벨의 락 [ 글로벌 락 ]가장 범위가 큰 잠금이다. MySQL 서버 .. 2026. 1. 14. [DB] MySQL 8.0 트랜잭션과 MVCC MYSQL의 내부 동작과 그 원리에 대해 궁금해져, Real MySQL 8.0 책을 읽었는데 정리를 안하니 계속 내용이 휘발되어서 내 방식으로 정리해보고자 글을 쓴다. 트랜잭션은 데이터의 정합성을 보장하기 위한 기능이다. 1. ACID데이터 베이스는 트랜잭션의 무결성을 보장하기 위해 ACID(기능)를 만족한다. - Atomicity (원자성) : 원자성 작업으로, 전체가 Commit되거나 Rollback되어야 한다. - Consistency (일관성) & Isolation (격리성) : 서로 다른 두 개의 트랜잭션에서 동일 데이터를 조회하고 변경하는 경우에도 상호 간섭이 없어야 한다. - Durability (지속성) : 한 번 저장된 데이터는 지속적으로 유지가 되어야 한다. 트랜잭션과 관련된 더.. 2026. 1. 13. [DB] MYSQL 엔진 아키텍처 MYSQL의 내부 동작과 그 원리에 대해 궁금해져, Real MySQL 8.0 책을 읽었는데 정리를 안하니 계속 내용이 휘발되어서 내 방식으로 정리해보고자 글을 쓴다. 1. MYSQL 엔진 아키텍쳐MySQL 서버는 크게 아래 두 엔진으로 구분할 수 있다. 1. MySQL 엔진: SQL 분석과 최적화를 담당한다. SQL 파서, SQL 옵티마이저, SQL 실행기 등이 포함된다. 2. 스토리지 엔진: 디스크에 저장, 조회를 담당한다. 이때, 핸들러 API를 이용해 실제 처리(핸들러 요청)를 수행한다. 핸들러는 말 그대로 MySQL 엔진이 스토리지 엔진을 조종하기 위해 사용되는 것이다. MySQL은 아래와 같이 구성되어 있다. 프로그램은 커넥션 핸들러를 통해 DB와 연결된다. 프로그램이 SQL을 전송하면,.. 2026. 1. 12. 이전 1 다음