MySQL의 구조(아키텍처)를 파헤쳐보자
MySQL 엔진 구조MySQL 서버는 크게 커넥션 핸들러, MySQL 엔진, 스토리지 엔진으로 구분할 수 있다. 실행 흐름을 보면 다음과 같은 순서로 요청을 처리한다.1. 프로그래밍 API (클라이언트 단계 )프로그래밍 언어로 작성된 애플리케이션에서 MySQL 서버로 쿼리 요청한다.이 때 각 프로그래밍 언어별 MySQL 커넥터를 통해 통신한다. 2. MySQL 엔진의 커넥션 핸들러클라이언트의 접속 요청을 받아들인다.이 때 사용자 인증 및 권한 검사 수행과 쿼리 요청에 대한 커넥션 생성 및 관리를 담당한다. 3. MySQL 엔진의 쿼리 파서사용자 요청으로 들어온 쿼리 문장을 MySQL이 인식할 수 있는 토큰으로 분리해 트리 형태의 구조로 파싱한다.쿼리 문장의 기본 문법 오류는 이 과정에서 발견되고 사용에게..