HOME > Detail View

Detail View

MySQL 성능 최적화 : 고성능 시스템 구축을 위한 전략과 최적화 기법 (Loan 2 times)

Material type
단행본
Personal Author
Botros, Silvia Tinley, Jeremy, 저 류수미, 역 송희정, 역
Title Statement
MySQL 성능 최적화 : 고성능 시스템 구축을 위한 전략과 최적화 기법 / 실비아 보트로스, 제레미 틴리 지음; 류수미, 송희정 옮김
Publication, Distribution, etc
파주 :   위키북스,   2022  
Physical Medium
xxii, 402 p. : 삽화, 도표 ; 24 cm
Series Statement
데이터베이스 & 빅데이터 시리즈 ;026
Varied Title
High performance MySQL : proven strategies for operating at Scale (4th ed.)
ISBN
9791158393656
General Note
색인 수록  
부록: A. MySQL 업그레이드하기, B. Kubernetes의 MySQL  
Subject Added Entry-Topical Term
SQL (Computer program language) Relational databases Database management
000 00000cam c2200205 c 4500
001 000046130127
005 20221011165155
007 ta
008 221011s2022 ggkad 001c kor
020 ▼a 9791158393656 ▼g 93000
035 ▼a (KERIS)BIB000016537329
040 ▼a 248012 ▼c 248012 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.75/65 ▼2 23
085 ▼a 005.7565 ▼2 DDCK
090 ▼a 005.7565 ▼b 2022z5
100 1 ▼a Botros, Silvia
245 0 0 ▼a MySQL 성능 최적화 : ▼b 고성능 시스템 구축을 위한 전략과 최적화 기법 / ▼d 실비아 보트로스, ▼e 제레미 틴리 지음; ▼e 류수미, ▼e 송희정 옮김
246 1 9 ▼a High performance MySQL : ▼b proven strategies for operating at Scale ▼g (4th ed.)
260 ▼a 파주 : ▼b 위키북스, ▼c 2022
300 ▼a xxii, 402 p. : ▼b 삽화, 도표 ; ▼c 24 cm
490 1 0 ▼a 데이터베이스 & 빅데이터 시리즈 ; ▼v 026
500 ▼a 색인 수록
500 ▼a 부록: A. MySQL 업그레이드하기, B. Kubernetes의 MySQL
630 0 0 ▼a MySQL (Electronic resource)
650 0 ▼a SQL (Computer program language)
650 0 ▼a Relational databases
650 0 ▼a Database management
700 1 ▼a Tinley, Jeremy, ▼e
700 1 ▼a 류수미, ▼e
700 1 ▼a 송희정, ▼e
830 0 ▼a 데이터베이스 and 빅데이터 시리즈 ; ▼v 26
900 1 0 ▼a 보트로스, 실비아, ▼e
900 1 0 ▼a 틴리, 제레미, ▼e
945 ▼a ITMT

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.7565 2022z5 Accession No. 121260973 Availability In loan Due Date 2023-02-18 Make a Reservation Service M
No. 2 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.7565 2022z5 Accession No. 121261635 Availability Available Due Date Make a Reservation Service B M
No. 3 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.7565 2022z5 Accession No. 151361695 Availability Available Due Date Make a Reservation Service B M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.7565 2022z5 Accession No. 121260973 Availability In loan Due Date 2023-02-18 Make a Reservation Service M
No. 2 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.7565 2022z5 Accession No. 121261635 Availability Available Due Date Make a Reservation Service B M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.7565 2022z5 Accession No. 151361695 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

어떻게 하면 MySQL의 성능을 극대화할 수 있을까? 《MySQL 성능 최적화》를 통해서 서비스 수준 목표 설정부터 스키마, 인덱스, 쿼리 설계뿐만 아니라, 플랫폼의 잠재력을 최대한 발휘할 수 있게 서버, 운영체제, 하드웨어 조정에 이르는 모든 고급 기술을 배울 수 있다. 또한 DBA가 알아야 하는 복제, 로드 밸런싱, 고가용성 및 장애 조치를 통해 애플리케이션을 확장하는 안전하고 실용적인 방법을 알려준다.

클라우드 및 자체 호스팅 MySQL, InnoDB 성능, 기능 및 도구의 개선 사항을 반영하여 업데이트된 이 개정판은 비즈니스에 따라 확장하는 관계형 데이터 플랫폼을 설계하는 데 도움이 된다. 그리고 데이터베이스 보안에 대한 모범 사례와 성능과 데이터베이스 안정성 향상에 대한 유익한 내용이 담겨 있다.

최신 아키텍처와 도구 및 사례를 통해 규모에 맞게 MySQL을 실행하기 위한 검증된 전략을 제공합니다!

어떻게 하면 MySQL의 성능을 극대화할 수 있을까? 《MySQL 성능 최적화》를 통해서 서비스 수준 목표 설정부터 스키마, 인덱스, 쿼리 설계뿐만 아니라, 플랫폼의 잠재력을 최대한 발휘할 수 있게 서버, 운영체제, 하드웨어 조정에 이르는 모든 고급 기술을 배울 수 있다. 또한 DBA가 알아야 하는 복제, 로드 밸런싱, 고가용성 및 장애 조치를 통해 애플리케이션을 확장하는 안전하고 실용적인 방법을 알려준다.

클라우드 및 자체 호스팅 MySQL, InnoDB 성능, 기능 및 도구의 개선 사항을 반영하여 업데이트된 이 개정판은 비즈니스에 따라 확장하는 관계형 데이터 플랫폼을 설계하는 데 도움이 된다. 그리고 데이터베이스 보안에 대한 모범 사례와 성능과 데이터베이스 안정성 향상에 대한 유익한 내용이 담겨 있다.

★ 이 책에서 다루는 내용 ★

◎ 스토리지 엔진에 대한 핵심 내용을 포함하여 MySQL의 아키텍처에 대해 자세히 알아본다.
◎ 하드웨어 및 배포 선택을 통해 서버 구성이 어떻게 작동하는지 살펴본다.
◎ 소프트웨어 딜리버리 프로세스의 일부로서 쿼리 성능을 다룬다.
◎ MySQL의 복제 및 고가용성에 대한 개선 사항을 알아본다.
◎ 관리형 클라우드 환경에서의 다양한 MySQL을 비교한다.
◎ 애플리케이션 구성에서 서버 튜닝에 이르는 MySQL 전체 스택의 최적화 방안을 모색한다.
◎ 기존 데이터베이스 관리 작업을 자동화된 프로세스로 전환하는 법을 알아본다.


Information Provided By: : Aladin

Author Introduction

실비아 보트로스(지은이)

Twilio의 소프트웨어 설계자이다. SendGrid에서 근무하는 동안 수십억 개의 이메일 전송을 지원하는 데이터베이스 플랫폼을 구축하고, 제품 지원 및 데이터 저장소 설계를 초기부터 운영까지 추진하는 데 기여했다.

제레미 틴리(지은이)

20년 이상의 MySQL 경험을 가진 Etsy의 수석 시스템 엔지니어이다. 그는 지금까지 가용성, 안정성, 운영 효율성을 염두에 두고 수만 개의 MySQL 인스턴스를 관리했다.

송희정(옮긴이)

대우정보시스템 벤처포트 전자상거래 사업부에서 자바 웹 개발자로 근무했다. 이후 기술연구소로 옮겨 기술전략팀을 거친 후 전사 표준 프레임워크 개발, 보급 및 JavaEE 기술 컨설팅 프로젝트를 수행했다. 오라클에서 미들웨어 엔지니어로 활동하다가 2012년 이후 오라클 교육사업본부에서 교육 컨설턴트로서 기업체 대상의 전문가 양성 과정 개발과 DT 기술 역량 확보 및 내재화 관련 컨설팅을 하고 있다.

류수미(옮긴이)

LG CNS 금융사업부에서 은행, 보험, 증권사를 포함한 금융권 차세대, 방카슈랑스 및 BPR 등 다양한 프로젝트를 수행했다. JavaEE 환경에서 개발 및 아키텍처를 만들고 검증하는 아키텍트로 근무했다. 현재 오라클 MySQL GBU에서 근무 중이다. 지금까지 많은 고객사의 MySQL POC, BMT를 지원했으며, MySQL 행사뿐만 아니라 다양한 오픈 소스 행사에서 MySQL 관련 발표 및 강의를 진행했다. 페이스북의 한국 MySQL 사용자 그룹의 운영진으로 활동하고 있다.

Information Provided By: : Aladin

Table of Contents

▣ 01장: MySQL 아키텍처
MySQL의 논리적 아키텍처
__연결 관리 및 보안
__최적화 및 실행
동시성 제어
__읽기/쓰기 잠금
__잠금 세분화
트랜잭션
__격리 수준
__교착
__트랜잭션 로깅
__MySQL에서의 트랜잭션
다중 버전 동시성 제어
복제
데이터 파일 구조
InnoDB 엔진
__JSON 문서 지원
__데이터 딕셔너리의 변화
__Atomic DDL
요약

▣ 02장: 신뢰성 엔지니어링 환경에서의 모니터링
신뢰성 엔지니어링이 DBA 팀에 미치는 영향
서비스 수준 목표의 정의
__고객 만족을 위해 필요한 것은 무엇일까요?
측정 대상
__SLI 및 SLO 정의
__모니터링 솔루션
__가용성 모니터링
__쿼리 지연 모니터링
__오류 모니터링
__사전 모니터링
장기적인 성능 측정
__비즈니스 케이던스 배우기
__효과적인 메트릭 추적
__성능 점검을 위한 모니터링 도구 사용
__전체 아키텍처링에 SLO 활용하기
요약

▣ 03장: 성능 스키마(Performance Schema)
성능 스키마 소개
__인스트루먼트 요소
__컨슈머 체계
__자원 소비
__제약 사항
__sys 스키마
__스레드 이해하기
설정
__성능 스키마의 활성화와 비활성화
__인스트루먼트 활성화와 비활성화
__컨슈머 활성화와 비활성화
__특정 객체에 대한 모니터링 튜닝
__스레드 모니터링 튜닝
__성능 스키마에 대한 메모리 크기 조정
__기본값
성능 스키마 사용
__SQL 문 점검
__읽기 대 쓰기 성능 점검
__메타데이터 잠금 점검
__메모리 사용량 점검
__변수 점검
__자주 발생하는 오류 점검
__성능 스키마 자체 점검
요약

▣ 04장: 운영 체제 및 하드웨어 최적화
MySQL의 성능을 제한하는 요소
MySQL용 CPU를 선택하는 방법
메모리 및 디스크 리소스의 균형 유지
__읽기, 쓰기, 캐싱
__작업 세트란?
솔리드 스테이트 스토리지
__플래시 메모리 개요
__가비지 컬렉션
RAID 성능 최적화
__RAID 장애, 복구 및 모니터링
__RAID 구성 및 캐싱
네트워크 설정
파일시스템 선택하기
__디스크 큐 스케줄러 선택
__메모리와 스와핑
__운영 시스템 상태
__그 외 유용한 도구들
요약

▣ 05장: 서버 설정 최적화
MySQL의 설정이 동작하는 방법
__구문, 범위 및 다이내믹 여부(Dynamism)
__지속(Persisted) 시스템 변수
__변수 설정의 부작용
__변수 변경 계획
__하지 말아야 할 것
__MySQL 설정 파일 생성
__MySQL 서버 상태 변수 점검
메모리 사용량 설정
__연결당 메모리 요구사항
__운영 체제를 위한 메모리 예약
__InnoDB 버퍼 풀
__스레드 캐시
MySQL의 I/O 동작 설정
__InnoDB 트랜잭션 로그
__로그 버퍼
__InnoDB 테이블스페이스
__다른 I/O 설정 옵션
MySQL 동시성 설정
안전 설정
고급 InnoDB 설정
요약

▣ 06장: 스키마 설계와 관리
최적의 데이터 유형 선택
__정수
__실수
__Date와 Time 유형
__비트 팩 데이터 유형
__JSON 데이터
__식별자 선택
__특별한 유형의 데이터
MySQL의 스키마 설계 문제
__너무 많은 열
__너무 많은 조인
__지나친 ENUM 사용
__위장한 ENUM
__NULL의 지나친 배제
스키마 관리
__데이터 저장소 플랫폼의 일부인 스키마 관리
요약

▣ 07장: 고성능을 위한 인덱싱
인덱싱 기본
__인덱스 유형
__인덱스의 이점
고성능을 위한 인덱싱 전략
__프리픽스(Prefix) 인덱스 및 인덱스 선택성
__다중 열 인덱스
__좋은 열 순서 선택하기
__클러스터형 인덱스
__커버링 인덱스
__인덱스 스캔을 사용한 정렬
__중복과 이중 인덱스
__사용하지 않는 인덱스
인덱스와 테이블 유지 관리
__테이블 손상 찾기 및 복구
__인덱스 통계 업데이트
__인덱스 및 데이터 단편화 줄이기
요약

▣ 08장: 쿼리 성능 최적화
쿼리가 느린 이유는 무엇일까요?
느린 쿼리 기본: 데이터 액세스 최적화
__데이터베이스에 불필요한 데이터를 요청하고 있습니까?
__MySQL이 너무 많은 데이터를 검사하고 있습니까?
쿼리를 재구성하는 방법
__복잡한 쿼리 대 많은 쿼리
__쿼리 자르기
__조인 분해
쿼리 실행 기본 사항
__MySQL 클라이언트/서버 프로토콜
__쿼리 상태
__쿼리 최적화 프로세스
__쿼리 실행 엔진
__클라이언트에게 결과 반환하기
MySQL 쿼리 옵티마이저의 한계
__UNION 제한 사항
__동등 전파(Equality Propagation)
__병렬 실행
__동일한 테이블에 대한 SELECT와 UPDATE
특정 유형의 쿼리 최적화
__COUNT() 쿼리 최적화
__조인 쿼리 최적화
__ROLLUP으로 GROUP BY 최적화
__LIMIT 및 OFFSET 최적화
__SQL_CALC_FOUND_ROWS 최적화
__UNION 최적화
요약

▣ 09장: 복제
복제 개요
__복제 작동 방식
복제의 내부 동작
__복제 형식 선택
__전역 트랜잭션 식별자
__복제 충돌의 대비
__지연 복제
__멀티 스레드 복제
__반동기 복제
__복제 필터
복제 페일오버
__계획된 승격
__계획되지 않은 승격
__승격의 트레이드 오프
복제 토폴로지
__액티브/패시브(Active/Passive)
__액티브/리드 풀
__권장하지 않는 토폴로지
복제 관리 및 유지 관리
__복제 모니터링
__복제 지연 측정
__레플리카와 소스의 일치 여부 확인
복제 문제와 해법
__소스의 바이너리 로그 손상
__고유하지 않은 서버 ID
__정의되지 않은 서버 ID
__임시 테이블 누락
__모든 업데이트를 복제하지 않음
__과도한 복제 지연
__소스의 오버사이즈 패킷
__디스크 공간 없음
__복제 제한 사항
요약

▣ 10장: 백업 및 복구
백업을 하는 이유
복구 요구 사항 정의
MySQL 백업 솔루션 설계
__온라인 백업 또는 오프라인 백업
__논리적 백업 또는 원시 백업
__백업 대상
__증분 백업 및 차등 백업
__복제
바이너리 로그 관리 및 백업
백업과 복구 도구
__MySQL 엔터프라이즈 백업
__Percona XtraBackup
__mydumper
__mysqldump
데이터 백업하기
__논리적 SQL 백업
__파일시스템 스냅숏
__Percona XtraBackup
백업에서 복구하기
__논리적 백업 복원
__스냅숏에서 원시 파일 복원
__Percona XtraBackup으로 복원하기
__원시 파일 복원 후 MySQL 시작하기
요약

▣ 11장: MySQL 스케일링
스케일링이란?
읽기 대 쓰기 바운드 워크로드
__워크로드의 이해
__읽기 바운드 워크로드
__쓰기 바운드 워크로드
기능적 샤딩
읽기 풀로 읽기 스케일링
__읽기 풀 구성 관리
__읽기 풀에 대한 상태 확인(Health checks)
__로드 밸런싱 알고리즘 선택
대기열
샤딩으로 쓰기 스케일링
__분할 방식 선택
__다중 파티셔닝 키
__샤드 간의 쿼리
__Vitess
__ProxySQL
요약

▣ 12장: 클라우드에서의 MySQL
관리형 MySQL
__MySQL용 Amazon Aurora
__GCP Cloud SQL
가상 머신의 MySQL
__클라우드의 머신 유형
__올바른 머신 유형 선택
__올바른 디스크 유형 선택
__추가적인 팁
요약

▣ 13장: MySQL 규정 준수
규정 준수란?
__서비스 조직 제어 유형 2(SOC 2)
__사베인스-옥슬리 법(SOX)
__결제 카드 산업 데이터 보안 표준(PCI DSS)
__건강 보험 이전 및 책임에 관한 법률(HIPAA)
__연방정부 위험 및 인증 관리 프로그램(FedRAMP)
__개인 정보 보호 규정(GDPR)
__슈렘스 II(Schrems II)
규정 준수 제어를 위한 구축
__시크릿 관리
__역할과 데이터의 분리
__변경 사항 추적
__백업 및 복원 절차
요약

▣ 부록A: MySQL 업그레이드하기
업그레이드를 해야 하는 이유
라이프 사이클 업그레이드
업그레이드 테스트
__개발 환경 테스트
__실 운영 미러링
__레플리카
__도구 사용
대규모 업그레이드
요약

▣ 부록B: Kubernetes의 MySQL
Kubernetes를 통한 자원 프로비저닝
__신중한 목표 범위 지정
__컨트롤 플레인 선택
__세부 사항
요약

New Arrivals Books in Related Fields

Wong, David (2023)
Blandy, Jim (2023)