MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 다양한 운영체제에서 동작하며,
MySQL 서버는 MySQL 엔진과 스토리지 엔진으로 구성되어 있다.
MySQL 서버 = MySQL 엔진 + 스토리지 엔진
MySQL이 제공하는 스토리지 엔진이 다양하지만 그 중 유일하게 레코드 기반의 락(Lock)을 제공하며,
이를 통해 높은 동시성 처리가 가능한 특징이 있어 주로 쓰이는 스토리지 엔진이다.
메모리 영역
: InnoDB 버퍼 풀을 활용하여 데이터 및 인덱스를 캐싱하여 성능을 향상시킨다.디스크 영역
: 데이터 파일 및 로그 파일이 저장되며, 데이터 변경 사항을 지속적으로 기록한다.클러스터형 인덱스
:MVCC(Multi-Version Concurrency Control)
:자동 데드락 감지
:자동 장애 복구
:MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, 데이터의 저장 및 관리, 검색을 수행하는 데이터베이스 시스템입니다.
MySQL 서버는 크게 MySQL 엔진과 스토리지 엔진으로 구성됩니다.
MySQL 엔진: 클라이언트로부터 SQL 요청을 받아 처리하며, SQL 문법을 분석하고 최적의 실행 계획을 수립하여 데이터 검색을 수행합니다.
스토리지 엔진: 데이터를 디스크에 저장하고 관리하는 역할을 하며, 대표적으로 InnoDB와 MyISAM을 지원합니다.
MySQL은 쿼리 최적화, 캐싱, 트랜잭션 처리 등의 기능을 제공하며, 대규모 시스템에서도 높은 성능을 유지할 수 있도록 설계되었습니다.
InnoDB는 MySQL에서 기본적으로 사용되는 스토리지 엔진으로, 트랜잭션을 지원하며 높은 동시성을 제공하는 특징이 있습니다.
InnoDB의 주요 특징은 다음과 같습니다.
클러스터형 인덱스(Clustered Index): Primary Key 순서대로 데이터를 저장하며, 이를 통해 범위 검색(Range Scan) 속도가 빠릅니다.
MVCC(Multi-Version Concurrency Control): 여러 트랜잭션이 동시에 수행될 때 데이터의 일관성을 유지하도록 여러 버전의 데이터를 관리합니다.
자동 데드락 감지: 트랜잭션 충돌이 발생할 경우 자동으로 데드락을 탐지하고 해결합니다.
자동 장애 복구: 트랜잭션 로그를 기반으로 장애 발생 시 자동으로 복구할 수 있습니다.
이러한 특징 덕분에 InnoDB는 안전한 데이터 저장 및 고성능 트랜잭션 처리가 필요한 시스템에서 널리 사용됩니다.