MySQL 서버 구조

스크린샷 2022-04-10 오후 1.27.59.png

MySQL 엔진

클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서 및 전처리기, 쿼리의 최적화된 실행을 위한 옵티마이저가 중심을 이룬다. 작성된 쿼리는 타 DBMS와 호환되어 실행

스토리지 엔진

SQL 문장을 분석하거나 최적화하는 등 DBMS의 두뇌에 해당하는 처리를 수행, 실제 데이터를 디스크에 저장하거나 데이터를 읽어오는 부분 담당

스토리지 엔진은 여러개를 동시에 사용 가능

CREATE TABLE test_table (fd INT, fd2 INT) ENGINE=INNODB;

각 스토리지 엔진은 성능 향상을 위해 키 캐시나 InnoDB 버퍼 풀과 같은 기능 내장

핸들러 API

데이터를 읽거나 쓸 때는 각 스토리지 엔진에 읽기 또는 쓰기를 요청 → 핸들러 요청

핸들러 요청에 사용되는 API를 핸들러 API라 한다.

SHOW GLOBAL STATUS LIKE 'Handler%';

스크린샷 2022-04-10 오후 9.54.03.png