반응형
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)
반응형
'데이터' 카테고리의 다른 글
데이터 레이크(Data Lake) 구조란? (0) | 2022.08.23 |
---|---|
[용어 정리] Scale up, Scale out, Data Partitioning, Data Sharding (0) | 2021.11.23 |