본문 바로가기

Activity/책 리뷰

[리뷰/책] 《러닝 MySQL》

반응형

한 줄 요약: MySQL 설치부터 튜닝까지 A to Z를 다룬 입문서!

 

MySQL을 다룬 입문서를 오랜만에 만났다. 

《러닝 MySQL》은 책 제목처럼 MySQL을 다룬 입문서다.


한빛미디어에서 나온 《이것이 MySQL이다》와 간단하게 비교해봤다.

공통점:《이것이 MySQL이다》의 Part1~3과 《러닝 MySQL》의 Part 1~2내용

차이점:
《이것이 MySQL이다》
Part4에서 PHP언어를 사용한 미니 프로젝트에서 MySQL을 적용하여 SQL을 사용해볼 수 있게 구성되어 있다.

《러닝 MySQL》
Part3에서는 트랜잭션, 락, 사용자 및 권한 관리, 백업 및 복구, 서버 튜닝 등 MySQL이라는 RDBMS를 깊이있게 다룬다. 그리고 Part4에선 서버 모니터링, 가용성, 클라우드 환경에서 MySQL, 로드밸런싱, 상황 분석까지 다룬다.

 

이렇듯 비슷하지만 두 권의 책이 다루는 주제가 다르다.
이미 프로그래밍 언어와 (RDBMS, NoSQL 종류에 상관없이)SQL을 사용할 줄 알고있다면 《러닝 MySQL》을 추천하고 싶다. 입문서이지만 MySQL 자체에 더 초점을 맞춰 설명하고 있기 때문이다.

《러닝 MySQL》은 기본 설치 과정, 데이터베이스 설계, 백업, 복구부터 CPU 성능 분석, 버그 조사까지 4부 구성이다. SQL을 직접 가르쳐주지 않는다. 하지만 RDBMS의 SQL에서 사용하는 대부분의 쿼리 구조는 비슷하다. 그래서인지 초보자가 읽어도 MySQL을 다룰 수 있도록 구성되어 있다는 느낌을 받았다. 책의 제목이 《러닝 MySQL》이지만 Postgres, Oracle, SQL Server 같은 다른 환경에서도 적용할 수 있는 백업, 고 가용성, 복구 전략 등도 소개하고 있다.



책의 전체 목차는 아래와 같다.

1부 - MySQL 시작
MySQL을 여러 운영체제에 설치하고 설정하는 방법
리눅스, 윈도우, 맥OS, 도커

2부 - MySQL 사용법
데이터베이스를 생성하고 사용하기 전에 적절한 데이터베이스 설계법을 살펴봄
데이터베이스 기능에 어떻게 접근하는지, 데이터베이스 정보가 서로 어떻게 관계되는지 배움
* sakila, world, employees 같은 예시 데이터베이스를 다운로드하고 구성하는 방법 보여줌
데이터베이스 모델링과 설계
기본SQL(CRUD-Create, Read, Update, Delete)
테이블, 인덱스 등 생성 및 수정방법
고급 쿼리-DB엔진, 중첩 쿼리 등

3부 - 제품 환경의 MySQL
MySQL이 동시에 동일한 데이터로 접근할 때의 처리 방법
트랜잭션 및 락(Lock) - 격리, 트랜잭션, 교착 상태의 개념
실행계획 확인 및 쿼리 분석
보안(사용자 및 권한 관리 등)
옵션 파일(/etc/my.cnf) 사용법
백업 및 복구
서버 구성 및 튜닝

4부 - 기타
MySQL 서버 모니터링
고 가용성
클라우드 MySQL - AWS(아마존 웹 서비스), GCP(구글 클라우드 플랫폼), Azure(마이크로소프트)
MySQL 로드 밸런싱
고급 분석 방법과 도구 - MySQL 셸, Flame 그래프, 버그 분석법


처음 SQL을 공부할 때 환경 설치부터 어렵게 느낀다. 하지만 《러닝 MySQL》은 리눅스, 윈도우, 맥OS, 도커와 같이 다양한 환경에서 설치하는 방법을 상세히 설명하고 있어서 입문하며 어려움은 없을 것같다.


 SQL을 공부하기 전 SQL이 왜 필요한지 '데이터베이스 모델링과 설계'를 통해 필요성을 깨우치고, SQL을 사용해서 그 효과를 체험해볼 수 있다.


앞에서도 언급했지만 3-4부의 내용은 MySQL뿐만 아니라 Postgres, Oracle, SQL Server에서도 비슷하게 적용해볼 수 있는 주제이기에 꼭 읽고 공부해보길 권한다.

 


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
리뷰를 위해 한빛미디어에서 책을 제공받았지만 주관적인 생각을 그대로 적었습니다.

반응형