Top

MariaDB 구축과 활용 [최고의 웹서비스를 제공하는 오픈소스 데이터베이스]

  • 원서명MariaDB Cookbook (ISBN 9781783284399)
  • 지은이다니엘 바솔로뮤(Daniel Bartholomew)
  • 옮긴이테크 트랜스 그룹 T4
  • ISBN : 9788960777729
  • 30,000원
  • 2015년 10월 23일 펴냄
  • 페이퍼백 | 332쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 오픈소스 프로그래밍

책 소개

요약

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 보안에 관련된 여러 가지 예제가 들어 있다.

저자/역자 소개

지은이의 말

MariaDB는 완성도 높은 안정적인 오픈소스 관계형 데이터베이스다. 2009년 MySQL 데이터베이스로부터 뻗어 나와, 거의 대부분 리눅스 배포판의 기본 데이터베이스이자 크고 작은 다양한 회사에서 선택하는 데이터베이스인 오늘날의 모습이 되기까지, MariaDB는 함께 작업하는 사용자와 개발자 커뮤니티가 일개 회사보다도 더 많은 일을 해낼 수 있음을 증명했다.
MariaDB는 부모 격인 MySQL 데이터베이스의 많은 특성과 기능을 동일하게 제공하면서도, 대부분 자식이 그러하듯 다양한 면에서 MySQL을 능가한다. 이 책의 예제에서는 몇 가지 공통적인 기본 내용도 다루지만, MariaDB의 특별한 기능이나 MariaDB에서 처음으로 볼 수 있는 기능을 주요 내용으로 다룬다.
특정 기능이 왜 그렇게 동작하는지에 대해서도 설명하지만, 각 예제에서 그 기능이 무엇인가와 어떻게 사용하는가를 가장 강조해서 설명한다. 언제나 이론보다 실제로 무언가를 하기 위해 알아야 하는 정보가 더 중요하다.
점점 더 늘어나고 있는 MariaDB 관련 책들 중 하나로서, 이 책의 목표는 강력하고 기능이 풍부한 데이터베이스를 직접 사용해보게 하는 데 있다.

지은이 소개

다니엘 바솔로뮤(Daniel Bartholomew)

1997년부터 리눅스를, 1998년부터 데이터베이스를 사용하기 시작했다. 「리눅스 저널」, 「리눅스 프로」, 「우분투」, 「유저」, 「턱스」를 비롯한 다양한 매거진에 많은 글을 기고하고 있다.

MariaDB 프로젝트가 2009년 초에 처음 등장하고 얼마 지나지 않아 이 프로젝트에 동참했다. 현재 SkySQL에서 근무 중이며, 시간을 할애하여 MariaDB 문서와 빌드, 이메일, 웹, 그 밖의 서비스를 유지하는 데에 힘쓰고 있는 덕분에 MariaDB 프로젝트가 원활하게 운영되고 있다. 뿐만 아니라 MariaDB 릴리스 코디네이터를 담당하고 있으며, MariaDB의 거의 모든 릴리스에 깊이 관여하고 있다.

현재 미국 노스캐롤라이너 주 롤리에서 사랑하는 가족들과 함께 살고 있다. 에이콘출판사에서 펴낸 『마리아DB 따라잡기』(2013)의 저자이기도 하다.

옮긴이의 말

기존의 파일시스템에서는 중복된 정보를 효율적으로 처리하는 방법이 매우 중요하다. 중복을 피해 정보의 관리를 효율적으로 진행하기 위해서 수많은 정보가 서로 관련성을 가지는지 확인하고, 중복이 존재하면 이를 효과적으로 처리한 데이터의 집합을 유지하는 것을 데이터베이스라고 한다. 그리고 데이터베이스를 관리하는 시스템을 데이터베이스 관리시스템(DBMS, Database Management System)이라 한다. 관계형 데이터베이스 관리 시스템(RDBMS, Realational Database Management System)은 비즈니스, 연구, 교육뿐만 아니라 인터넷상의 콘텐츠 전달까지 다양한 영역에서 중요한 역할을 하는 도구다.

다만, 아쉽게도 최근 빅데이터가 큰 흐름으로 대두되면서 관계형 데이터베이스의 대표 주자인 MySQL에 대한 관심이 예전만 못한 것 같다. 구글 트렌드(http://www.google.co.kr/trends)에서만 보더라도 2005년 이후로 MySQL에 대한 관심사가 뚝 떨어지고 있는 것을 확인할 수 있다. 도큐먼트 기반 NoSQL은 RDBMS보다 뛰어난 확장성과 가용성으로 데이터가 많이 쌓이는 시스템에서 사용하기 적합하며, MySQL은 이러한 특수한 상황을 고려해야 하는 시스템이 아닌 모든 일반적인 시스템에 적합하다.

하지만, MariaDB는 2009년 이후에 많은 관심을 가지면서 관심사가 계속 증가하고 있다. MariaDB는 완성된 형태의 안정적인 오픈소스 관계형 데이터베이스다. 처음 MySQL 데이터베이스로부터 뻗어 나와, 많은 리눅스 배포판의 기본 데이터베이스이자 크고 작은 많은 회사들이 선택하는 대표 데이터베이스가 되었다. MariaDB는 부모격인 MySQL 데이터베이스의 많은 특성과 기능을 동일하게 제공하지만, 다양한 면에서 MySQL 데이터베이스를 능가한다.

MariaDB는 누구나 쉽게 사용할 수 있는 세상에서 가장 유명한 데이터베이스다. 데이터베이스에 대한 전문적인 지식이 없더라도 가볍고 쉽게 누구나 사용해볼 수 있지만, 절대 간단히 구현된 데이터베이스가 아니다. 이 책을 통해서 MariaDB 사용자가 되면, 안정적이고 최적화된 성능을 가진 데이터베이스를 운용할 수 있는 자신감을 가지게 될 것이다.

그렇기 때문에 이 책은 MariaDB을 처음 시작하는 독자이거나 빠른 시간 안에 MariaDB를 살펴보고자 하는 개발자에게 모두 추천하고 싶은 책이다.

옮긴이 소개

테크 트랜스 그룹 T4

최신 IT 테크놀로지에 대한 리서치를 목적으로 하는 스터디 그룹이다. 엔터프라이즈 환경에서 오픈소스를 활용한 프레임워크 구축에 관심이 많으며, 최근에는 모바일을 접목한 하이브리드 환경에서의 HTML5, Spring, NoSQL, Node.js, MongoDB, MariaDB 등 웹 전반에 걸친 기술과 빅데이터 흐름에 주목하고 있다. 또한, 오픈소스 기반의 다양한 데이터베이스를 플랫폼 개발에 활용하는 것에 많은 관심을 가지고, 오픈소스 기반 모바일 데이터베이스와 관련된 컨설팅을 수행하였으며, 내장형 시스템에서 사용되는 데이터베이스 시스템 최적화에 대한 연구를 하고 있다. 에이콘출판사에서 펴낸 『구글 애널리틱스로 하는 데이터 분석』(2015), 『Node.js, MongoDB와 AngularJS를 이용한 웹 개발』(2014), 『MySQL Fifth Edition 한국어판』(2014)을 번역했다.

목차

목차
  • 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 인증 플러그인을 사용한 인증

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안