데이터

MYSQL 성능 최적화 책 시작

민초부 2021. 5. 9. 18:52
반응형

DB 성능 최적화 스터디 시작하면서 어떤 목차를 다루고 공부할지 정리하고 스터디 계획 짬 

~ 현재 회사 개발에 가장 밀접한 내용을 위주로 다루려고 선정함 (마스터, 슬레이브는 아직 개발하지 않아서 내용에서 제외)

 

  • MYSQL 아키텍처 (1~32) : MySQL의 아키텍쳐와 스토리지 엔진에 대한 내용을 다루고 있으며 트랜잭션을 비롯한 RDBMS의 기본에 대해 다룬다.  
  • 병목지점 찾기 (35~89) : 벤치마킹과 프로파일링 : 서버의 작업량이나 처리 속도에 대해 판단할 때 영향을 주는 요소에 대한 이야기로 주요 변경 전후에 application을 벤치마크해서 변경 사항이 얼마나 효과적인지 판단해야 하는데 변경 사항이 부정적인 영향을 주는지 긍정적인 영향을 주는지에 대해 측정하는 법을 다룬다. 
    • 벤치마칭 (35~60) / 프로파일링 (61 ~89)
  • [중요] 스키마 최적화와 인덱싱 (91 ~ 172) : 다양한 데이터 유형, 테이블 설계 인덱스를 다룬다. 즉 스키마를 '잘' 설계하는 법에 대해 다루고 있으며 Application이 MySQL의 인덱스를 얼마나 잘 활용하는지에 따라 성능도 달라진다. 
    • 데이터 타입 (92~109) / 인덱싱 (110 ~ 158) / 정규화와 비정규화 및 기타 최적화 전략 (159 ~ 172) 
  • 쿼리 성능 최적화 : MySQL이 어떻게 쿼리를 실행하고 쿼리 최적화를 어떻게 활용할지 설명하는 장이다. 3장에서다룬 인덱싱에서 쿼리 최적화로 연결되는 내용임
    • 슬로우 쿼리 및 쿼리 재구성 (176 ~ 183) / 쿼리 실행과 서브 쿼리 (184 ~ 216) / 쿼리 최적화 예시 (217 ~ 225)
  • 고급 MySQL 최적화 기능 : 제곧내
    • 최적화 기능 나열 (237 ~ 304)
  • 서버 설정 최적화 : MySQL을 어떻게 커스터마이징해야 내가 개발한 Application에 최적으로 돌아가는지 정리하는 장 
    • 일반적 튜닝 내용 (306 ~ 321) / MySQL 동시성 튜닝 (337 ~ 340) / 작업량에 기초한 튜닝 (340 ~ 343)
  • 성능 확장 및 고가용성 (461 ~ 506) : Application을 필요한 만큼 확장하는데 필요한 기반을 다루는 내용
  • 응용프로그램 수준의 최적화 (513 ~ 528)
  • 보안 : 정보 암호화에 대해서만 다룸 
    • 데이터 암호화 (616 ~ 621)
  • 대용량 파일 전송 (677 ~ 680)
  • EXPLAIN 활용하기 (683 ~ 703)
반응형