본문 바로가기
CS 지식/CS 지식

[데이터베이스] MySQL의 구성 요소: 엔진과 스토리지 엔진

by Max007 2024. 5. 8.
728x90
MySQL의 구성 요소: 엔진과 스토리지 엔진

 

 

MySQL은 관계형 데이터베이스 관리 시스템(RDBMS)으로, 데이터의 저장, 관리, 접근을 담당하는 여러 구성 요소로 구성되어 있습니다. MySQL의 구성요소를 알면 쿼리문 하나 하나 날릴 때마다 어떤 식으로 동작하는 지 조금더 자세히 할수 있게 되고, 오류를 더 쉽게 수정할수 있을 듯합니다. 이 글에서는 MySQL의 핵심 구성 요소인 MySQL 엔진과 스토리지 엔진에 대해 살펴보겠습니다.

MySQL 엔진

MySQL 엔진은 클라이언트의 접속과 SQL 요청을 처리하는 역할을 합니다. 이를 위해 다음과 같은 논리적인 절차를 거칩니다. 일종의 사람에게서 두뇌와 같은 역할을 하며, 논리적인 절차로 결정을 내립니다.

  1. 쿼리 파싱 및 전처리: 클라이언트로부터 받은 SQL 쿼리를 분석하여 문법적으로 올바른지 확인하고, 실행하기 전에 필요한 전처리 작업을 수행합니다.
  2. 최적화: 실행할 쿼리의 최적화된 실행 계획을 결정합니다. 이를 통해 효율적인 쿼리 실행을 위한 경로를 선택합니다.
  3. 실행: 최적화된 실행 계획을 바탕으로 실제 쿼리를 실행합니다.

MySQL 엔진은 이러한 과정을 통해 데이터베이스에 효율적으로 접근하고 처리할 수 있도록 지원합니다.

스토리지 엔진

MySQL은 다양한 스토리지 엔진을 제공하여 데이터를 저장하고 관리합니다. 일종의 사람의 손발과 같은 역할을 하며, 엔진에서 결정한 쿼리의 데이터를 처리하는 역할을 합니다. 주요한 스토리지 엔진으로는 다음과 같은 것들이 있습니다.

  1. InnoDB: 트랜잭션 처리와 ACID(원자성, 일관성, 고립성, 지속성) 특성을 지원하는 스토리지 엔진입니다. 대규모 트랜잭션 환경에서 안정성과 성능을 보장합니다.
  2. MyISAM: 트랜잭션 처리 기능은 제공하지 않지만, 속도가 빠른 스토리지 엔진입니다. read-heavy한 환경에서 성능을 향상시킬 수 있습니다.

이 외에도 MySQL은 다양한 스토리지 엔진을 제공하여 사용자의 요구에 맞는 데이터 저장 및 관리를 지원합니다.

마무리

MySQL은 다양한 구성 요소들로 이뤄져 있으며, 이들이 함께 동작하여 데이터베이스의 안정성과 성능을 보장합니다. 이를 통해 개발자와 관리자는 데이터베이스 시스템을 효율적으로 운영할 수 있습니다. MySQL의 구성 요소와 작동 원리에 대한 이해는 데이터베이스 관리 및 개발에 있어서 중요한 역할을 합니다.

 


Mysql엔진: 클라이언트 접속과 SQL 요청을 처리함 사람의 두뇌와 같이 논리적인 절차를 통해 효율적인 실행 계획 결정을 내림
ex) 쿼리, 파서, 전처리기, 옵티마이져, 실행엔진, 커넥션 핸들러

Storage Engine: 사람의 손발과 같은 역할을 함. 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로 부터 데이터를 읽어옴  ex) InnoDB, MyISAM

Connection Handler: 클라이언트와의 연결관리 스토리지 엔진과 연결
OS Hardware: 실제 테이블 데이터와 로그 데이터를 파일로 저장하는 역할
 
728x90