-
MySQL 엔진 아키텍처
- MySQL 서버는 사람의 머리 역할을 담당하는 MySQL 엔진과 손발 역할을 담당하는 스토리지 엔진으로 구분
- MySQL 서버는 크게 MySQL 엔진과 스토리지 엔진으로 구분
- 그리고 이 둘을 모두 합쳐서 MySQL 또는 MySQL 서버라고 표현
MySQL 엔진
- 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러, SQL 파서, 전처리기, 쿼리의 최적화된 실행을 위한 옵티마이저가 중심
- MySQL은 표준 SQL(ANSI SQL) 문법을 지원하기 때문에 표준 문법에 따라 작성된 쿼리는 타 DBMS와 호환되어 실행 가능
스토리지 엔진
- MySQL 엔진: 요청된 SQL 문장을 분석하거나 최적화하는 등 DBMS의 두뇌에 해당하는 처리를 수행
- 스토리지 엔진: 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어옴
MySQL 스레딩 구조
- MySQL 서버는 스레드 기반으로 작동하며 포그라운드(Foreground) 스레드와 백그라운드(Background) 스레드로 구분
- performance_schema 데이터베이스의 threads 테이블을 통해서 MySQL 서버에서 실행 중인 스레드 목록 확인 가능