Skip to content

WebStudysss/RealMySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

📚 Real MySQL 8.0 Study

🗓 진행 기간

2025.08.20 ~ 2025.09.04

🎯 스터디 목표

MySQL 핵심 동작 원리(스토리지 엔진, 트랜잭션, 인덱스, 옵티마이저, 실행계획 등) 심화 이해

발표를 통해 각자 학습 내용을 정리 및 공유

📖 진행 방식

  • 매주 2~3개 챕터를 읽고 발표
  • 발표자는 발표자료/정리본 작성
  • 질의응답 및 토론

📑 챕터별 정리

4장. 아키텍처

  • 주요 개념
  1. MySQL 엔진 (머리)
    1-1. 커넥션 핸들러: 클라이언트 연결 관리, 인증 처리
    1-2. SQL 파서 & 전처리기: SQL 문법 검증, 구문 트리 생성
    1-3. 옵티마이저: 여러 실행 경로 중 최적의 실행계획 선택 (비용 기반 최적화)
    1-4. 쿼리 실행기: 옵티마이저가 만든 계획을 실제 실행

  2. 스토리지 엔진 (손발)
    2-1. 데이터를 실제로 디스크에 읽고 쓰는 모듈
    2-2. MyISAM, InnoDB, Memory 등 플러그인 구조로 확장 가능
    2-3. InnoDB는 트랜잭션, MVCC, 외래키 지원 / MyISAM은 단순 구조, 빠른 읽기

  3. 플러그인 아키텍처
    3-1. 인증, 스토리지 엔진, UDF 등 모듈형 확장 지원
    3-2. 다른 DBMS와 차별화되는 MySQL의 가장 큰 특징

  4. 버퍼 풀 & 캐시 계층
    4-1. InnoDB 버퍼 풀: 데이터/인덱스를 메모리에 캐싱
    4-2. 쿼리 캐시(8.0부터 제거): 캐시 일관성 문제로 폐지됨

  • 핵심 토론
  1. Community 버전에는 Thread Pool이 없는데, 동접 폭주 상황에서 어떻게 대응할 수 있을까?
    (→ ProxySQL, 애플리케이션 커넥션 풀, Scale-out 등으로 보완)

  2. MySQL이 “스토리지 엔진 플러그인 구조”를 채택한 이유는 무엇일까?
    (→ 다양한 워크로드에 맞춰 최적 엔진을 선택 가능, 범용 DBMS로 확장성 확보)

  3. InnoDB가 디폴트가 된 지금, MyISAM 같은 엔진을 여전히 고려할 필요가 있을까?

  • 발표자: 성준, 상수

5장. 트랜잭션과 잠금

  • 주요 개념: ACID, MVCC, Isolation Level
  • 핵심 토론: Undo/Redo Log 관리와 성능 Trade-off
  • 발표자: 성준, 상수

6장. 데이터 압축

  • 주요 개념
  1. InnoDB 페이지 압축 vs 테이블 압축
  2. 압축 알고리즘 (zlib, LZ4)과 디스크 공간 절약 효과
  • 압축이 성능에 미치는 영향 (읽기 성능 ↑ / 쓰기 성능 ↓ 가능)
  • 핵심 토론
  1. OLTP 환경에서 압축을 적용할 경우 TPS 저하 vs 저장공간 절약의 트레이드오프
  2. SSD 기반 스토리지에서 압축이 여전히 의미가 있는가?
  • 발표자: 성준, 상수

7장. 데이터 암호화

  • 주요 개념
  1. MySQL Keyring 플러그인: keyring_file, keyring_okv, keyring_encrypted_file
  2. 테이블스페이스 암호화, Redo/Undo 로그 암호화, 바이너리 로그 암호화
  3. TDE (Transparent Data Encryption) 개념
  • 핵심 토론
  1. DB 자체 암호화 vs 애플리케이션 레벨 암호화
  2. GDPR/개인정보보호법 대응 시 어디까지 DB 암호화가 필요할까?

발표자: 성준, 상수

8장. 인덱스

  • 주요 개념
  1. B-Tree 인덱스, 클러스터링 인덱스, 보조 인덱스 구조
  2. 커버링 인덱스, 루스 인덱스 스캔, MRR/Index Condition Pushdown
  3. 인덱스 설계 원칙: 카디널리티, 선택도, 조합 인덱스
  • 핵심 토론
  1. 실무에서 LIKE '%keyword' 검색 → 인덱스 미활용 문제
  2. Elasticsearch vs MySQL 인덱스 활용 비교
  • MogoDB, PostgreSQL 와 비교 및 각 장단점 및 특징 정리
  • 발표자: 성준, 상수

9장. 옵티마이저와 힌트

  • 주요 개념
  1. 옵티마이저가 실행계획을 선택하는 방식
  2. 통계 정보와 비용 기반 최적화
  3. 옵티마이저 힌트 (USE INDEX, STRAIGHT_JOIN, SQL_CALC_FOUND_ROWS)
  • 핵심 토론
  1. 옵티마이저가 비효율적인 실행계획을 선택할 때 어떻게 개입할 것인가?
  2. 힌트 남용 시 유지보수 문제
  • 발표자: 성준, 상수

10장. 실행계획

  • 주요 개념
  1. EXPLAIN 출력 해석: type, key, rows, filtered
  2. EXPLAIN FORMAT=JSON 과 옵티마이저 Trace
  3. 실행계획 캐시 및 Reuse
  • 핵심 토론
  1. EXPLAIN만으로 튜닝 판단 가능할까?
  2. 대규모 쿼리 튜닝 시 실측 모니터링 (performance_schema, sys 스키마) 필요성
  • 발표자: 성준, 상수

💡 전체 인사이트

  • 단순 기능 습득이 아니라 성능/안정성/확장성 관점으로 이해가 깊어짐

  • 실제 프로젝트 설계/운영 시 적용할 포인트 도출

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •