책 소개
요약
MariaDB는 완성된 형태의 안정적인 오픈소스 관계형 데이터베이스다. 2009년 처음 MySQL 데이터베이스로부터 뻗어 나와, 많은 리눅스 배포판의 기본 데이터베이스이자 크고 작은 많은 회사들이 선택하는 대표 데이터베이스로 자리매김하게 되었다. MariaDB는 앞서 나온 부모 격인 MySQL 데이터베이스의 많은 특성과 기능을 동일하게 제공하지만, 앞서 나온 데이터베이스를 능가하는 측면도 많다. 이 책은 몇 가지 공통적인 기본 내용도 다루지만, 대부분 특별한 기능이나 처음으로 볼 수 있는 기능에 대해 다룬다.
이 책에서 다루는 내용
다양한 MariaDB 최적화 방법
MariaDB와 카산드라 클러스터의 링크
TokuDB 저장 엔진의 소개와 사용법
XML과 CSV를 비롯한 다양한 데이터 포맷을 사용하여 읽기와 쓰기 방법
Sphinx를 이용한 데이터 검색
HandlerSocket을 이용한 NoSQL급의 속도 향상 방법
최적의 성능을 위한 MariaDB 최적화
이 책의 대상 독자
이 책은 MariaDB가 다른 데이터베이스와 차별화되는 기능들을 살펴보고, 직접 기능을 사용해보면서 배우고자 하는 사람이라면 누구든 읽을 수 있다.
이 책의 구성
1장, 'MariaDB 시작'에서는 리눅스, 윈도우, 맥 OS 환경에서의 MariaDB 설치 방법과 백업, 자주 사용하는 플러그인의 활성화 방법, 그 밖의 흔히 하는 작업들을 살펴본다.
2장, 'MariaDB 깊이 파헤치기'에서는 데이터 가져오기, 쿼리의 출력 결과를 원하는 식으로 변경하기, 데이터 옮기기 등을 다룬다.
3장, 'MariaDB 최적화와 튜닝'에서는 다양한 설정과 최적화 작업뿐만 아니라 인덱스 생성과 제거, JOIN 등을 다룬다.
4장, 'TokuDB 저장 엔진'에서는 대안적인 저장 엔진 TokuDB를 활성화시키는 방법, 사용 방법, 설정 방법을 살펴본다.
5장, 'CONNECT 저장 엔진'에서는 CONNECT 저장 엔진을 활성화시키는 방법, 설정하는 방법, 여러 종류의 파일 타입에 연결하는 방법을 살펴본다.
6장, 'MariaDB 복제'에서는 전역 트랜잭션 ID, 멀티코어 복제, 바이너리 로그 예제들을 살펴본다.
7장, 'MariaDB 갈레라 클러스터로 복제'에서는 새로운 클러스터링 해법을 설치하고 사용하는 방법을 다룬다.
8장, '성능과 사용량 통계'에서는 MariaDB의 확장된 통계, 회계 플러그인을 사용하는 방법과 성능 스키마를 다룬다.
9장, 'Sphinx로 하는 데이터 검색'에서는 유용한 풀텍스트 데이터베이스 인덱서와 검색 엔진을 설치하고 사용하는 방법을 다룬다.
10장, 'MariaDB의 동적, 가상 칼럼 탐색'에서는 동적, 가상 칼럼 기능을 비롯한 MariaDB에 내장된 NoSQL 기능에 대해 살펴본다.
11장, 'HandlerSocket을 사용한 NoSQL 지원'에서는 NoSQL의 HandlerSocket 기능과 이 기능을 다양한 언어로 사용하는 방법을 살펴본다.
12장, '카산드라 저장 엔진을 사용한 NoSQL 지원'에서는 카산드라 저장 엔진 설치와 사용 방법을 다룬다.
13장, 'MariaDB 보안'에서는 MariaDB 보안에 관련된 여러 가지 예제가 들어 있다.
목차
목차
- 1장 MariaDB 시작
- __소개
- __윈도우에 MariaDB 설치
- __리눅스에 MariaDB 설치
- __맥 OS X에 MariaDB 설치
- __Feedback 플러그인 활성화
- __InnoDB와 XtraDB간의 전환
- __백업 계정 생성
- __XtraBackup을 이용해서 백업 만들기
- __mysqldump을 이용해서 백업 만들기
- __mysqlcheck와 크론을 이용한 테이블 자동 점검과 최적화
- __mysql 클라이언트에서 진행상황 보고내역 이용
- 2장 MariaDB 깊이 파헤치기
- __소개
- __mysqldump에서 내보낸 데이터 가져오기
- __SHOW EXPLAIN을 실행 중인 쿼리와 함께 사용
- __LIMIT ROWS EXAMINED 사용
- __INSTALL SONAME 사용
- __HTML 결과 생성
- __XML 결과 생성
- __테이블을 MyISAM에서 Aria로 옮기기
- __테이블을 MyISAM/Aria에서 InnoDB/XtraDB로 옮기기
- 3장 MariaDB 최적화와 튜닝
- __소개
- __기능을 사용하고 있는지 확인하기 위한 SHOW STATUS 사용
- __MariaDB 옵티마이저 전략 제어
- __InnoDB와 XtraDB로 확장 키 사용
- __Aria의 두 단계의 데드락 검출 설정
- __MyISAM의 세그먼트된 키 캐시 설정
- __스레드풀 설정
- __Aria의 페이지캐시 설정
- __서브쿼리 캐시를 사용한 쿼리 최적화
- __세미조인 서브쿼리 최적화
- __인덱스 생성
- __풀텍스트 인덱스 생성
- __인덱스 삭제
- __JOIN 사용
- __DATETIME 칼럼에 마이크로초 단위 사용
- __DATETIME과 TIMESTAMP 칼럼 자동 업데이트
- 4장 TokuDB 저장 엔진
- __소개
- __TokuDB 설치
- __TokuDB 설정
- __TokuDB 테이블 생성
- __TokuDB로 옮기기
- __TokuDB 테이블에 인덱스 추가
- __TokuDB 테이블 압축 수정
- 5장 CONNECT 저장 엔진
- __소개
- __CONNECT 저장 엔진 설치
- __CONNECT 테이블 생성과 삭제
- __CONNECT를 사용한 CSV 데이터 읽고 쓰기
- __CONNECT를 사용한 XML 데이터 읽고 쓰기
- __CONNECT를 사용한 MariaDB 테이블 접근
- __XCOL 테이블 타입 사용
- __PIVOT 테이블 타입 사용
- __OCCUR 테이블 타입 사용
- __WMI 테이블 타입 사용
- __MAC 주소 테이블 타입 사용
- 6장 MariaDB 복제
- __소개
- __복제 설정
- __전역 트랜잭션 ID 사용
- __멀티소스 복제 사용
- __행 이벤트 주석으로 binlog 향상시키기
- __binglog 이벤트 검사 합설정
- __선택적으로 binlog 이벤트 복제 생략
- 7장 MariaDB 갈레라 클러스터로 복제
- __소개
- __MariaDB 갈레라 클러스터 설치
- __MariaDB 갈레라 클러스터의 노드 제거
- __MariaDB 갈레라 클러스터 종료
- 8장 성능과 사용량 통계
- __소개
- __Audit 플러그인 설치
- __Audit 플러그인 사용
- __엔진-독립적인 테이블 통계 이용
- __확장된 통계 이용
- __성능 스키마 활성화
- __성능 스키마 사용
- 9장 Sphinx로 하는 데이터 검색
- __소개
- __MariaDB에 SphinxSE 설치
- __리눅스에서 Sphinx 데몬 설치
- __윈도우에서 Sphinx 데몬 설치
- __Sphinx 데몬 설정
- __Sphinx 데몬과 SphinxSE를 사용한 검색
- 10장 MariaDB의 동적, 가상 칼럼 탐색
- __소개
- __동적 칼럼이 있는 테이블 생성
- __동적 칼럼 데이터를 삽입, 업데이트, 삭제
- __동적 칼럼으로부터 데이터 읽기
- __가상 칼럼 사용
- 11장 HandlerSocket을 사용한 NoSQL 지원
- __소개
- __HandlerSocket 설치와 설정
- __libhsclient 라이브러리 설치
- __HandlerSocket 펄 클라이언트 라이브러리 설치
- __HandlerSocket과 PERL을 사용한 데이터 읽기
- __HandlerSocket과 PERL을 사용한 데이터 추가
- __HandlerSocket과 펄을 사용한 데이터 업데이트와삭제
- __HandlerSocket Python 클라이언트 라이브러리 설치
- __HandlerSocket과 Python을 사용한 데이터 읽기
- __HandlerSocket과 Python을 사용한 데이터 추가
- __HandlerSocket과 Python을 사용한 데이터 업데이트와 삭제
- __HandlerSocket Ruby 클라이언트 라이브러리 설치
- __HandlerSocket과 Ruby를 사용한 데이터 읽기
- __HandlerSocket과 Ruby를 사용한 데이터 추가
- __HandlerSocket과 Ruby를 사용한 데이터 업데이트 및 삭제
- __텔넷으로 HandlerSocket 직접 사용
- 12장 HandlerSocket을 사용한 NoSQL 지원
- __소개
- __카산드라 저장 엔진 설치
- __MariaDB와 카산드라 간의 데이터 매핑.
- __카산드라 저장 엔진으로 INSERT, UPDATE, DELETE 사용
- __카산드라 저장 엔진을 이용한 SELECT 사용
- 13장 MariaDB 보안
- __소개
- _mysqlsecure_installation을 사용한 MariaDB 보안
- __리눅스에서 MariaDB 파일에 대한 보안
- __윈도우에서 MariaDB 파일에 대한 보안
- __보호되지 않은 암호를 갖는 사용자 확인
- __SSL을 사용한 연결 암호화
- __사용자 퍼미션 제어 역할
- __PAM 인증 플러그인을 사용한 인증