ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySQL 아키텍처
    Technique/RDBMS 2016. 5. 16. 21:43
    반응형


    MySQL은 일반 사용 RDBMS에서 제공하는 대부분의 접근법을 모두 지원한다.

    MySQL고유의 C API부터 시작해 JDBC나 ODBC 그리고 .NET의 표준 드라이버를 제공하며, 이러한 드라이버를 이용해 C/C++, PHP, JAVA, Perl, Python, Ruby, .NET, COBOL등 모든 언어를 이용해 MySQL 서버에서 쿼리를 사용할 수 있게 지원한다.


    MySQL 엔진

    클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서 및 전처리기, 그리고 쿼리의 최적화된 실행을 위한 옵티마이저가 중심을 이룬다. 그리고 성능 향상을 위해 MyISAM의 키 캐시나 InnoDB의 버퍼풀과 같은 보조 저장소 기능이 포함돼 있다.

    MySQL은 표준 SQL( ANSI SQL-92) 문법을 지원하기 때문에 표준 문법에 따라 작성된 쿼리는 타 DBMS와 호환되어 실행될 수 있다.


    스토리지 엔진

    MySQL엔진은 요청된 SQL문장을 분석하거나 최적화하는등 DBMS의 두뇌에 해당하는 처리를 수행하고 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어오는 부분은 스토리지 엔진이 전담한다. MySQL 서버에서 MySQL 엔진은 하나지만 스토리지 엔진은 여러 개를 동시에 사용할 수 있다.


    핸들러 API 

    MySQL 엔진의 쿼리 실행기에서 데이터를 쓰거나 읽어야 할 때는 각 스토리지 엔진에게 쓰기 또는 읽기를 요청하는데, 이러한 요청을 핸들러 요청이라고 하고, 여기서 사용되는 API를 핸들러 API 라고 한다. InnoDB스토리지 엔진 또한 이 핸들러 API를 이용해 MySQL 엔진과 데이터를 주고 받는다.

    반응형

    'Technique > RDBMS' 카테고리의 다른 글

    메모리 할당 및 사용 구조  (0) 2016.05.16
    MySQL 스레딩 구조  (0) 2016.05.16
    MySQL InnoDB storage  (0) 2016.04.10
    MySQL 쿼리 캐시  (0) 2016.04.10
    MySQL 쿼리 실행 구조  (0) 2016.04.10

    댓글

Designed by Tistory.