스크랩

구간

MariaDB 성능 분석과 최적화 고성능 웹 애플리케이션 제작을 위한

원제 : MariaDB High Performance

피에르 마브로 저 | 김성일 역 | 에이콘출판 | 2015년 07월

미리보기 북트리

정가
$60.00
판매가
$43.74 (27%↓) 최저가 보상
적립금
$0.87 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960777347 / 336쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ 전통적인 마스터/슬레이브 복제 구축 방법과 WAN에서도 쉽게 확장하는 방법 ■ 로드 밸런서와 클러스터 소프트웨어로 이중 마스터 복제를 만드는 방법 ■ 스파이더 엔진을 이용한 데이터 샤딩 ■ 갈레라 클러스터(Galera Cluster)를 이용한 쓰기 인프라스트럭처 향상 ■ 복잡한 구성을 만들기 위한 갈레라 클러스터 생성과 동시 복제 ■ 엔진 최적화와 병목현상 찾기 ■ 갈레라와 MySQL 클러스터 비교 ■ 툴을 이용한 데이터 그래프화 ■ 갈레라 재난 복구 솔루션 구성 ★ 이 책... ★ 이 책에서 다루는 내용 ★ ■ 전통적인 마스터/슬레이브 복제 구축 방법과 WAN에서도 쉽게 확장하는 방법 ■ 로드 밸런서와 클러스터 소프트웨어로 이중 마스터 복제를 만드는 방법 ■ 스파이더 엔진을 이용한 데이터 샤딩 ■ 갈레라 클러스터(Galera Cluster)를 이용한 쓰기 인프라스트럭처 향상 ■ 복잡한 구성을 만들기 위한 갈레라 클러스터 생성과 동시 복제 ■ 엔진 최적화와 병목현상 찾기 ■ 갈레라와 MySQL 클러스터 비교 ■ 툴을 이용한 데이터 그래프화 ■ 갈레라 재난 복구 솔루션 구성 ★ 이 책의 대상 독자 ★ 이 책은 대규모 트래픽을 지원하기 위해 현재 인프라스트럭처를 개선하는 방법을 배우려는 시스템 관리자/설계자나 DBA를 위한 책이다. 이 책을 학습하기 전에 MySQL/MariaDB의 일반적인 사용법에 익숙한 독자이기를 바란다. 만약 리눅스를 사용해 MariaDB를 위한 대형 인프라스트럭처를 배우고 만드는 데 문제가 없다면 아주 빠르게 학습할 수 있을 것이다. ★ 이 책의 구성 ★ 1장, '성능 소개'에서는 여러분의 니즈에 해당하는 최적의 솔루션을 선택할 수 있도록 일반적인 하드웨어를 설명한다. 추가로 시스템 최적화를 소개하고 MySQL에서 MariaDB로 이전하는 방법을 설명한다. 2장, '성능 분석'에서는 성능 문제를 찾기 위한 툴을 소개하고 기본적인 모범 실무를 보여준다. 3장, '성능 최적화'에서는 병목현상을 찾는 법과 캐시 튜닝에 대해서 얘기하고 추가로 일부 엔진에 관해 설명한다. 4장, 'MariaDB 복제'에서는 MariaDB 복제를 구성하는 방법, HAProxy로 확장하는 법, 복제의 이점을 설명한다. 5장, 'WAN 슬레이브 구조'에서는 WAN 복제에서 일어날 수 있는 문제를 이해하고 해결할 수 있도록 도와준다. 6장, '이중 마스터 복제 생성'에서는 이중 마스터 복제 구조의 이점과 DRBD, 페이스메이커, PRM 등을 사용해 구성하는 방법을 설명한다. 7장, 'MariaDB 다중 마스터 슬레이브'에서는 MariaDB 10의 복제 기능을 사용하는 이점을 설명한다. 8장, '갈레라 클러스터: 다중 마스터 복제'에서는 갈레라 클러스터의 이점과 구성 방법을 설명한다. 9장, '스파이더: 데이터 샤딩'에서는 데이터를 샤딩하면서 더 나은 성능을 얻는 방법을 설명한다. 10장, '모니터링'에서는 싱글 인스턴스, 복제, 갈레라 클러스터에서 어떤 요소가 모니터링 하기에 중요한지를 설명한다. 11장, '백업'에서는 백업하는 여러 방법을 소개하고 여러분의 니즈에 맞도록 최고의 방법을 선택할 수 있게 도와준다.

저자 소개

조인빌 르 퐁(Joinville-le-Pont, 파리의 교외지역)에 산다. 오픈 소스를 사랑하며 10년 이상 리눅스에 관련된 일을 하고 있다. 요즘은 레드햇(Red Hat)과 이노밴스(eNovance)에서 시니어 디브옵스 엔지니어(Senior DevOps Engineer)로 일하고 있다. 여기서 웹과 개인화 클라우드(오픈스택)에 관한 솔루션을 설계, 제작하고 있다. 최근 몇 년간은 많은 양의 거래가 있는 회사를 위해 성능 튜닝으로 고가용성 인프라스트럭처를 설계하고 있다. 또한 지오클러스터(geocluster)를 만들었고 금융회사에 고가용성 요구를 만족하게 할 툴을 개발했다. 과거에는 프랑스 정부를 위해 오픈 소스 소프트웨어의 문제를 해결하는 일을 했다. 또한 리눅스와 MySQL/MariaDB와 같은 주제로 여러 IT 전문가를 교육했다.

역자 소개

전자공학을 전공했지만, 소프트웨어에 대한 호기심이 많다. 대학시절 프리랜서로 공공기관 및 기업 SI 프리랜서를 하며 실무형으로 경험을 쌓았다. 디자인에도 관심이 많아 웹디자이너 생활도 했으며 중소기업청 예비기술 창업 중점과제에 선정되어 ‘모바일 광고 플랫폼’ 스타트업 대표로서 활동했다. 현재는 삼성SDS 연구소에서 신사업 솔루션 개발에 박차를 가하고 있다. 모든 것은 하나로 통한다는 신념으로 다양한 경험하기를 좋아하며, 언젠가 올 그 날을 위해 항상 준비하고 공부하는 중이다. 에이콘출판사에서 출간한 『반응형 안드로이드 앱 UI 개발』(2014)을 번역했다.

머리말

★ 지은이의 말 ★

MariaDB는 MySQL의 한 갈래다(이제는 대체품이 되었다). MySQL은 썬마이크로시스템즈(Sun Microsystems)에 2008년 인수됐으며, 그 후 2010년 오라클(Oracle)이 썬마이크로시스템즈를 인수했다.
몇 가지 이유로 미카엘 몬티 위디니어스(Michael Monty Widenius, MySQL의 창시자)는 MySQL을 분기(fork)하기로 하고 몬티 프로그램 AB(Monty Program AB)라는 이름의 회사를 설립했다. 그래서 MariaDB(마리아는 미카엘 몬티 위디니어스의 둘째 딸 이름)가 탄생했다.
과거에 MySQL가 겪은 것처럼 다른 회사가 인수할 수 없도록 2012년 12월 MariaDB 재단이 설립됐다.
SkySQL는 과거 MySQL 경영진과 투자자로 구성된 회사로 MariaDB에 관련된 서비스를 제공한다. 2013년 4월 SkySQL과 몬티 프로그램 AB는 합병했다. MariaDB로 이관하고자 했던 회사들은 외부의 기술지원 없이는 거의 불가능했지만, 이 합병을 통해 가능해졌다.
MariaDB는 새롭고 흥미로운 특징을 가지고 있다. MySQL에서는 불가능했던 더 나은 테스팅, 향상된 성능, 버그 수정이 바로 그것이다. 예를 들면 일부 옵티마이저들은 구글, 페이스북, 트위터 등으로부터 비롯됐다.
MariaDB는 완전한 오픈 소스 프로젝트임을 기억해달라. 그리고 여러분의 참여도 환영한다.

 

★ 옮긴이의 말 ★

실무에 오래 근무하신 분들이라도 MariaDB에 관해서 물어본다면 잘 알지 못하거나 시원하게 대답을 못 하는 경우가 많다. 하지만 MariaDB라는 이름 때문에 너무 겁먹을 필요는 없다. 기존에 사용하던 MySQL과 사용법이 매우 유사하기 때문이다. 그뿐만 아니라 오라클에서 인수한 뒤 상용버전인 MySQL Enterprise 버전에서 지원하던 기능을 무료로 사용할 수 있고 MySQL보다 더 도전적인 기능이 여럿 포함되어 있다. 원하든 원치 않든 최근 오픈 소스 패키지들이 DBMS를 MariaDB로 사용하면서 앞으로 마주하게 될 일이 많을 것이다. 이 책은 기본적인 MariaDB 사용법이라기보다 성능 최적화를 위한 하드웨어와 기능 사용에 집중하고 있다. 따라서 MySQL 또는 MariaDB의 사용에 어느 정도 익숙한 분들에게 추천한다.

 

목차

목차
1장. 퍼포먼스 소개
MariaDB 역사
적당한 하드웨어 선택
__디스크
____SATA 자기 드라이브
____SAS 자기 드라이브
____하이브리드 드라이브
____SSD
__레이드와 가속 카드
__레이드 카드와 레벨
__퓨?전아이오 다이렉트 가속 카드
__디스크 배열
__램
__CPU
설계 종류와 성능
바이오스 전력 관리 최적화
__C-State
__P-State
__제조사에 따른 옵션 이름
__전력 관리 최적화
____cpufreq
____cpuidle
__디스크와 파일시스템 최적화
____커널 디스크의 I/O 스케줄러
____파티션 정렬
____SSD 최적화
____파일시스템 옵션
____스왑
__cgroups으로 장치 지정하기
____직접 적용
____cgconfig 데몬을 이용한 자동설정 방법
__NUMA를 이용한 하드웨어 최적화
MySQL에서 MariaDB로 이전
MariaDB 엔진 소개
요약
2장. 성능분석
슬로우 쿼리
익스플레인 명령
슬로우 쿼리 로그
쇼 익스플레인 명령
프로파일링
퍼포먼스 스키마
사용자 상태정보
시스벤치
페르코나 툴킷
__pt-query-digest
__pt-stalk
__pt-summary
__pt-mysql-summary
__pt-duplicate-key-checker
__pt-index-usage
Process list의 진화
mytop
innotop
mysqlsla
요약
3장. 성능 최적화
상태정보 재설정
글로벌 상태정보
DNS 연결
__DNS 캐시 서버
최대 연결
빈로그 캐시
__트랜잭션 캐시를 위한 빈로그
__비트랜잭션을 위한 빈로그
임시 테이블
오픈 테이블
쿼리 캐시
__쿼리 캐시의 이해
__쿼리 캐시 수정
저장 엔진 최적화
__데이터베이스 요약
__InnoDB/XtraDB
____풀 크기와 상태정보
____리두 로그
____트랜잭션 커밋과 로그
____버퍼 풀 인스턴스
____플러시 메소드
__TokuDB
____설치
____플러시 메소드
____캐시 크기
____트랜잭션 커밋과 로그
____임시 디렉터리
____압축
__MyISAM
____키 버퍼
인덱스
__엔진
__종류
mysqltuner
요약
4장. MariaDB 복제
복제의 동작 방식
__마스터 노드 설정
__마스터 노드 준비
__슬레이브 노드 설정
__슬레이브 생성
____mysqldump
____Xtrabackup
__슬레이브 상태 확인
GTID 복제
__GTID란 무엇인가
__마스터 노드 설정
__마스터 노드 준비
__GTID 슬레이브 노드 설정
__슬레이브 생성
__슬레이브 시작
__슬레이브 상태 확인
전통적인 복제에서 GTID 복제로 이전
병렬 복제
읽기 트랜잭션의 로드 밸런싱
__HAProxy 설치
__HAProxy 설정
__상태 확인
__설정 테스트
예제상황과 문제 해결
__SQL 에러
__빈로그 분석
__GTID: 슬레이브를 마스터로 교체하고 복구하기
요약
5장. WAN 슬레이브 구조
캐스케이드 슬레이브
__중간 슬레이브를 위한 복제 성능 향상
복제의 제한
여러 대륙에 걸친 슬레이브 설계
SSL 복제
__인증서 생성
____자신만의 CA 만들기
____서버 증명서 생성
____클라이언트 증명서 생성
____Checking your certificates
__Configuring MariaDB for SSL
____Master SSL
____Client SSL
Compression options
요약
6장. 이중 마스터 복제 생성
이중 마스터 복제와 위험요소
이중 마스터 설치와 설정
자동 관리
__하프록시
____유지보수 모드에 관한 학습
____Keepalived
__페이스메이커 또는 페르코나 복제 매니저
__DRBD
이중 마스터 복제를 수리하는 방법
요약
7장. MariaDB 다중 마스터 슬레이브
다중 마스터 슬레이브 복제
__다중 소스 복제 설치
__그밖의 옵션
요약
8장. 갈레라 클러스터: 다중 마스터 복제
갈레라 클러스터 동작 원리
갈레라 클러스터의 제한사항
설치와 설정의 기본사항
__설치
__설정 파일
____MariaDB 설정
____갈레라 설정
__첫 번째 부팅
사용 방법과 그 이해
__전송 방법
____mysqldump 사용
____Xtrabackup 사용
____rsync 사용
__도너 노드로 만들기
__완전한 정전 후 시작하기
__컨센서스 클러스터링과 유지보수
__Garb: 쿼럼 방식
__성능 튜닝
____병렬 슬레이브 스레드
____Gcache 크기
이중 설계 만들기
__읽기와 쓰기 노드
__로드 밸런스된 설계
__WAN 복제
__재난복구
테스트 및 이슈
__복제의 일시 정지
__갈레라 고장 내기
__스플릿 브레인
요약
9장. 스파이더: 데이터 샤딩
스파이더 설정
첫 번째 샤드 생성
샤딩 복제
__복제된 샤드 생성
__스파이더 HA 모니터링
__서버 오류 후 데이터 복구
성능 튜닝
__스파이더 파라미터
____bgs 모드
____연결 재활용 모드
____상태정보 테이블
____원격 SQL 로그
__샤드의 개수
요약
10장. 모니터링
싱글 인스턴스
복제
갈레라 클러스터
그밖의 모니터링 솔루션
__그래프
__로그
요약
11장. 백업
mysqldump
__압축
mysqlhotcopy
LVM
__스냅샷
____스냅샷 삭제
____롤백
__백업
Xtrabackup
__풀 백업
__증분 백업
__풀 백업으로부터의 복구
__증분 백업으로부터의 복구
갈레라 백업
요약

top