Skip to content

woowacourse-study/2026-be-db-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2026-be-db-study

8기 백엔드 데이터베이스 스터디 '우아박스터디'

스터디원

이름 GitHub
라이 @dhyepark
봉구스 @toctoce
티모 @yoonhojoon
서여 @yeo-li

목표

  • DB 내부 동작 원리 이해: MySQL의 아키텍처와 엔진 동작 원리를 깊이 있게 파악한다.
  • 실험 기반 문제 해결 경험 축적: "왜?"라는 질문에 대해 실제 데이터와 지표로 답을 찾는다.
  • 성능 최적화 능력 키우기: 쿼리 실행 계획을 분석하고 병목을 해결하는 능력을 기른다.

학습 방식

RealMySQL 8.0 책을 바탕으로 학습 및 실습 진행

  • 각 주차 주제에 맞춰 이론 학습 + 실습으로 진행한다.
  • 실험 결론을 도출할 때, 이론 학습 내용 바탕으로 작성한다.
  • 이론 학습 내용, 실습 방법은 Github에 정리한다.

운영 규칙

  • 수업은 매주 화요일 16시에 진행한다. (최대 2시간)
  • 선생님
    • 스터디 전까지 주제에 맞는 챕터를 골라 공부하고, 수업 내용을 정리한다.
    • 학생들이 읽어와야 할 챕터를 주말 전까지 공지한다.
    • 실습이 필요하다면, 이론 내용을 바탕으로 미리 실험을 설계하고 진행하여 수업 때 차질이 없도록 한다.
    • 스터디 후, 이론 요약과 실험에 대해 파일로 정리해 PR을 제출한다.
    • 순서 : 라이 → 봉구스 → 티모 → 서여
  • 학생
    • 수업 전까지 선생님이 정한 챕터를 읽는다.

벌칙

  • 선생님
분류 설명 벌점
챕터 선정 지각 학생들이 읽어올 챕터 선정을 금요일 이후에 함 1/4 우아박
준비 미흡 수업 준비가 미흡 1/2 우아박
준비 X 수업 준비가 안 됨 2 우아박
  • 학생
분류 설명 벌점
준비 미흡 선생님이 정한 챕터를 안 읽어옴 1/2 우아박

커리큘럼

Phase 1 — 네트워크 I/O & 실행 계획 (1~4주차)

주차 주제 챕터 세부 내용 실험 과제 결과물 링크
1주차 MySQL 아키텍처 & 실행 계획 MySQL 전체 구조 이해 및 EXPLAIN 사용하여 실행 계획 확인 MySQL/스토리지 엔진 역할 이해, 쿼리 처리 흐름 파악, EXPLAIN 주요 지표 해석법 10만 건 데이터 생성 후 인덱스 유/무에 따른 실행 계획(type, rows 변화) 비교 아키텍처 요약 및 실행 계획 분석 문서 1주차 - MySQL 기본 구조와 실행 계획
1주 차 - 실험 정리
2주차 인덱스 기본 인덱스 구조 B-Tree 구조, 클러스터드 인덱스 vs 세컨더리 인덱스 인덱스 유/무 조건별 성능 비교 쿼리 성능 변화 정리 2주차 - 인덱스 기본
2주차 - 인덱스 기본 실습
3, 4주차 옵티마이저 옵티마이저 정렬 실행 방식 및 쿼리 실행 방식 Order by, 쿼리 실행 방식 컬럼 순서 바꿔 가며 실행 계획 비교 실행 계획 차이 분석 3주차 - 옵티마이저 정렬 실행 방식 및 쿼리
4주차 - 인덱스 실전
5주차 커버링 인덱스 커버링 인덱스 Covering Index 개념, InnoDB 세컨더리 인덱스 구조, 복합 인덱스를 활용한 커버링 인덱스 설계 SELECT * vs 필요한 컬럼만 조회 비교, 복합 인덱스 커버링 인덱스 적용 인덱스 적용 기준 정리 5주차 - 커버링 인덱스

Phase 2 — 쿼리 튜닝 (5~8주차)

주차 주제 챕터 세부 내용 실험 과제 결과물 링크
6주차 JOIN 구조 옵티마이저 / JOIN Nested Loop Join 동작 원리, 조인 순서 결정 방식 조인 순서 변경 전후 성능 비교 성능 차이 분석
7주차 쿼리 튜닝 쿼리 최적화 WHERE vs HAVING 차이, 서브쿼리 vs JOIN 비교 느린 쿼리 직접 개선해 보기 튜닝 전/후 비교
8주차 정렬 / 그룹핑 ORDER BY / GROUP BY filesort 발생 조건, GROUP BY 동작 원리 인덱스 적용 전후 정렬·집계 성능 비교 실행 계획 분석
9주차 실전 튜닝 종합 다양한 쿼리 최적화 패턴 종합 성능 2배 이상 개선 쿼리 찾아 튜닝 튜닝 사례 정리

Phase 3 — 트랜잭션 & 동시성 (9~12주차)

주차 주제 챕터 세부 내용 실험 과제 결과물 링크
10주차 트랜잭션 트랜잭션 ACID 원칙, Isolation Level 종류와 차이 Isolation Level 별 동작 비교 실험 결과 비교 정리
11주차 InnoDB 락 Row Lock / Gap Lock / Next-Key Lock 개념 UPDATE 충돌 상황 직접 재현 락 발생 상황 정리
12주차 동시성 문제 트랜잭션 심화 Lost Update, Phantom Read 발생 원인 문제 상황 직접 재현 및 원인 파악 문제 원인 분석
13주차 동시성 해결 락 전략 낙관적 락 vs 비관적 락 트레이드오프 version 컬럼으로 낙관적 락 직접 구현 해결 방식 비교

Phase 4 — 설계 & 마무리 (13~16주차)

주차 주제 챕터 세부 내용 실험 과제 결과물 링크
14주차 DB 설계 데이터 모델링 정규화 원칙, PK/FK 설계 전략 실제 서비스 ERD 직접 설계 ERD 제출
15주차 대용량 설계 확장 전략 인덱스 전략, 읽기/쓰기 분리 개념 테이블 구조 병목 찾고 개선안 도출 설계 개선안
16주차 성능 개선 프로젝트 종합 실서비스 시나리오 기반 종합 최적화 쿼리 튜닝 + 인덱스 설계 통합 적용 프로젝트 결과
17주차 발표 / 면접 대비 정리 스터디 전체 회고, 경험 언어로 정리하기 튜닝 사례 발표 준비 발표 자료

About

8기 백엔드 데이터베이스 스터디 '우아박스터디'

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors