목록DBMS/MySQL (2)
개발 메모장
오늘은 MySQL의 스토리지 엔진 중 하나인 InnoDB에 대해 알아보겠습니다.1. InnoDB 특징InnoDB는 다음과 같은 특징을 가집니다.레코드 기반의 잠금 제공: 행 수준의 잠금(Record Lock)을 통해 동시성을 향상시키고, 테이블 전체 잠금과 관련된 성능 문제를 줄입니다.프라이머리 키에 의한 클러스터링: 프라이머리 키를 기준으로 데이터를 클러스터링하여 데이터 접근 성능을 높입니다.외래 키 지원: 참조 무결성(Foreign Key Constraints)을 제공하여 데이터베이스의 관계형 모델을 지원합니다.MVCC (Multi-Version Concurrency Control): 다중 버전 동시성 제어를 사용해 트랜잭션 격리 수준에서 잠금 없이 일관된 읽기(Consistent Read)를 제공합..
이번 글에서는 MySQL 아키텍처에 대해 알아보겠습니다.1. MySQL 아키텍처MySQL의 아키텍처는 크게 2가지로 나눌 수 있습니다.1.1 MySQL 엔진요청된SQL 문장을 분석하고 최적화하는 등의 작업을 수행합니다.MySQL 엔진은 다음의 요소들로 구성되어 있습니다.쿼리 파서: 요청된 쿼리 문장을 토큰으로 분리 하여 파서 트리로 만드는 작업을 수행합니다.전처리기: 파서 트리를 기반으로 쿼리 문장에 구조적인 문제점이 있는지 확인합니다.옵티마이저: 쿼리 문장을 어떻게 실행할지 계획을 작성합니다.실행 엔진: 계획을 바탕으로 핸들러 API를 호출합니다.1.2 스토리지 엔진실제 데이터를 디스크 스토리지에 저장하거나 읽어오는 작업을 수행합니다.MySQL의 경우 스토리지 엔진을 플러그인해서 사용할 수 있으며, 동..