크리스티나 초도로, 섀년 브래드쇼, 오언 브라질 지음
김인범 옮김
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
12월
나는 리뷰어다 활동의 11번째 리뷰.
(벌써 11번째 리뷰라니... 시간 정말 빠르다! 한빛미디어 항상 감사합니다. 내년에도 잘 부탁드려요!!)
2021년 한빛미디어의 마지막 리뷰 책은 "몽고DB 완벽 가이드" 다.
RDBMS도 아직 능숙하지 않지만 그렇다고 NoSQL 공부를 안 할 수는 없지 않겠는가.
12월은 NoSQL 이다.
NoSQL은 무엇인가?
행과 테이블을 사용하는 관계형(SQL) 데이터베이스보다 훨씬 다양한 방식으로 빠르게 바뀌는 대량의 비정형 데이터를 처리할 수 있다는 점을 강조하기 위해 "비관계형", "NoSQL DB" 또는 "non-SQL" 이라고도 한다.
1960년대부터 다양한 이름으로 존재해 온 NoSQL 기술은 데이터 환경이 변화하고 개발자들이 클라우드, 모바일, 소셜 미디어와 빅 데이터로부터 생성되는 다양한 대규모 데이터를 처리해야 할 필요가 늘어남에 따라 그 인기가 급증하고 있다.
바이럴 성격의 유명인 트윗에서 전자 의료 기록에 포함된 의학 정보에 이르기까지, 새로운 데이터와 데이터 형식이 놀라운 속도로 만들어지고 있다.
빅데이터에 대한 중요성이 부각되기 시작한 시점부터 NoSQL에 대한 관심이 증대되었다.
이해를 돕기 위해 SQL과 NoSQL의 차이에 대해 잘 정리해놓은 표를 한번 보자.
NoSQL 에 대한 이해가 없었던 개발자라면 오늘 차이점을 알고 가도록 하자.(필자 역시...)
책을 살펴보도록 하자.
(총 600 페이지에 달하는 얇은 종이다.)
몽고DB 코리아 시니어 컨설팅 엔지니어이신 김동한 님의 추천사를 보면,
이 책은 몽고DB 최신 정보에 발맞추어 3판까지 개정판을 출간하는 유일한 실전 입문서라고 한다.
책에서는 기초뿐 아니라 전반적인 개발 과정에 필요한 다양한 기능을 배울 수 있고, 개발자에게는 데이터베이스에 대한 지식을, 데이터베이스 관리자에게는 도큐먼트 지향 데이터베이스에 대한 개념을, 운영자에게는 고가용성과 분산 환경 경험을 제공한다고 한다.
이 책을 통해 독자들은 몽고DB를 사용해 개발 시간을 단축하고 유연한 스키마를 설계함으로써 빠르게 변화하는 비즈니스에 대응하고 새로운 사업의 가능성을 확인할 수 있다고 한다.
사실 추천사가 크게 와닿지는 않지만 개발자가 NoSQL을 공부해야 한다는 사실만은 확실하다. 아직까지 국내 IT 시장은 Java&Spring을 이용한 웹 개발 시장이 가장 크고, 보통은 RDBMS를 사용하고 있다. 하지만 신생 스타트업이나 새로운 프로젝트들은 조금씩 MongoDB를 채택해 나가고 있는 상황이다. 아직 NoSQL 엔지니어들이 많지 않은 상황에서 MongoDB에 대한 이해력을 가진다면 본인의 가치를 높일 수 있는 것은 확실하다.
다음으로 이 책의 구성에 대해서 살펴보도록 하자.
몽고DB 시작
1장 - 몽고DB가 만들어진 배경과 지향점, 몽고DB를 선택해야 하는 이유
2장 - 몽고DB의 핵심 개념과 용어 설명, 데이터베이스와 셸을 실행하는 방법
3장 - 기본적인 쓰기 연산 방법. 안전성과 속도에 따른 방법
4장 - 도큐먼트를 검색하는 방법과 복작한 쿼리를 생성하는 방법
몽고DB 개발
5장 - 인덱스의 개념과 몽고DB 컬렉션에서 인덱스를 사용하는 방법
6장 - 여러 유형의 인덱스와 컬렉션을 사용하는 방법 설명
7장 - 카운트, 고유한 값 찾기, 도큐먼트 그룹화하기, 집계 프레임워크, 그리고 이러한 결과를 컬렉션에 쓰기 등 데이터 집계를 위한 기술
8장 - 트랜잭션
9장 - 몽고DB와 잘 연동되는 애플리케이션을 작성하는 팁
복제
10장 - 복제 셋을 구축하고 활용 가능한 설정 옵션을 다루는 방법
11장 - 복제와 관련된 다양한 개념
12장 - 복제가 어떻게 애플리케이션과 상호작용 하는지
13장 - 관리자 측면에서 복제 셋을 운영하는 방법
샤딩
14장 - 샤딩에 관한 간단한 설정
15장 - 클러스터 구성 요소의 전반적인 면을 살펴보고 어떻게 설정하는지
16장 - 다양한 애플리케이션에서 샤드 키를 고르는 방법
17장 - 샤드 클러스터를 운영하는 방식
애플리케이션 관리
18장 - 몽고DB가 어떤 작업을 하는 중인지 살펴보는 방법
19장 - 몽고DB의 보안과 더불어 배포를 위한 인증 및 권한을 구성하는 방법
20장 - 몽고DB가 어떻게 데이터를 견고하게 저장하는지 설명
서버 관리
21장 - 몽고DB를 구동하고 멈출 때의 일반적인 옵션
22장 - 각 유형별 배포에 대해 백업하고 복구하는 방법
23장 - 각 유형별 배포에 대해 백업하고 복구하는 방법
24장 - 몽고DB를 배포할 때 유의해야 하는 여러 시스템 설정
부록 A - 몽고DB 버전 부여 방식과 각 OS에서 몽고DB를 설치하는 방법
부록 B - 몽고DB의 내부 작동 방식과 관련된 스토리지 엔진, 데이터 포맷, 와이어 프로토콜
내용이 굉장히 방대하다. 정말 이 책 한권만 통달하면 몽고DB를 실무에서 다루는 데는 문제가 없을 것 같다.
본문의 일부를 살펴보자.
RDBMS를 사용하던 분들도 SQL과 비교하면서 보면 이해가 더 잘 될 것 같다.
예약어를 사용하여 쿼리문을 뽑아내는 과정이 재미있다. 예약어를 한 번만 더 생각해 보면 어느 정도 뜻을 유추해 낼 수 있다.
처음에는 익숙하지 않더라고 연반추 학습법으로 보고 또 보자.
아직 뒷부분은 보지 못했지만, 빅데이터를 다루고자 하는 직군이라면 필수적으로 학습해야 하는 책임은 분명하다.
개발자의 공부는 끝이 없지만, NoSQL을 다뤄야 하는 시기가 온다면 꼭 "몽고DB 완벽 가이드" 를 통해 능력 있는 엔지니어가 되도록 하자.
우리 개발자 모두들
메리 크리스마스 & 해피 뉴 티어!!
'Review' 카테고리의 다른 글
러닝 Go - 한빛미디어 (0) | 2022.03.31 |
---|---|
그래프QL 인 액션 - 한빛미디어 (0) | 2022.02.21 |
소프트웨어 아키텍처 101 - 한빛미디어 (0) | 2021.11.09 |
쿠버네티스 완벽 가이드 - 길벗 (0) | 2021.10.31 |
Kubernetes Best Practices 쿠버네티스 모범 사례 - 한빛미디어 (0) | 2021.10.25 |