MySQL 아키텍처 3

MySQL/MariaDB 아키텍처 – 메모리 할당 및 사용 구조

MySQL/MariaDB 아키텍처 – 메모리 할당 및 사용 구조 Version : Mariadb 5.5.4.2-WinX64 MySQL/MariaDB 메모리 공간은 크게 글로벌 메모리 영역과 로컬 메모리 영역으로 구분할 수 있다. 글로벌 메모리 영역은 MySQL 서버가 시작되면서 무조건 운영체제로부터 할당된다. 글로벌 메모리 영역과 로컬 메모리 영역의 차이는 MySQL서버 내에 존재하는 스레드가 공유해서 사용하는 공간인지 아닌지에 따라 구분된다. MySQL/MariaDB Memory 관련 설정 변수 : http://sqlmvp.kr/220365937569 MySQL 서버의 메모리사용량 = (글로벌 메모리) + (각 클라이언트 스레드 사용 메모리) [글로벌 메모리 영역] 일반적으로 클라이언트 스레드의 수와 ..

MySQL, MariaDB 2015.07.16

MySQL/MariaDB 아키텍처 – 스레딩 구조

MySQL/MariaDB 아키텍처 – 스레딩 구조 Version : Mariadb 5.5.4.2-WinX64 MySQL./MariaDB 서버는 프로세스 기반이 아닌 스레드 기반으로 작동하며 크게 포그라운드(Foreground) 스레드와 백그라운드(Background)스레드로 구분할 수 있다. [포그라운드 스레드 (클라이언트 스레드)] 포그라운드 스레드는 최소한 MySQL/MariaDB 서버에 접속된 클라이언트의 수만큼 존재한다. 클라이언트 사용자가 작업을 마치고 커넥션을 종료하면 해당 커넥션을 담당하던 스레드는 다시 스레드풀(Thread pool)로 반환된다. 이때 스레드풀에 일정 개수 이상 대기 스레드가 있으면 스레드 풀로 반환하지 않고 스레드를 종료한다. 스레드풀의 크기는 다음 명령으로 확인할 수 있..

MySQL, MariaDB 2015.07.16

MySQL/MariaDB 아키텍처 – Overview

MySQL/MariaDB 아키텍처 – Overview Version : Mariadb 5.5.4.2-WinX64 MariaDB 아키텍처는 MySQL 아키텍처와 동일하다. (당연히 동일 엔진이기에..) MySQL 아키텍처는 아래 그림과 같다. 기본적으로 커넥션 API를 이루고 있는 응용 프로그램 부분과 커넥션풀, SQL Interface, Parser, Optimize, Caches&Buffers 로 이루어진 MySQL 엔진, 그리고 스토리지 엔진 및 실제 데이터를 저장하는 파일 시스템인 하드웨어 영역으로 구분할 수 있다. MySQL은 일반 상용 RDBMS에서 제공하는 대부분의 접근법을 지원한다. C API 부터 JDBC, ODBC, Perl, .NET 표준 드라이버까지 다양하게 제공한다. ASP.NET에..

MySQL, MariaDB 2015.07.16