MongoDB 완벽 가이드 - 실전 예제로 배우는 NoSQL 데이터베이스 기초부터 활용까지, 3판
크리스티나 초도로우 외 지음, 김인범 옮김 / 한빛미디어 / 2021년 3월
평점 :
장바구니담기


이번에 소개할 책은 MongoDB 완벽 가이드 3판입니다. 관계형 데이터베이스에 관련된 기초는 학교나 회사에서 접할 기회가 많았지만 NoSQL에 대해서는 특별히 공부할 기회가 없었는데

운 좋게도 한빛미디어 서평 이벤트를 통해 이 책을 지원 받아 서평을 쓰게 되었습니다. 


시작하기 전에

먼저 책을 읽기 전에 MongoDB가 속해있는 NoSQL Database가 무엇인지에 대해서 잠시 >찾아보기로 했습니다. (원본 자료는 아래 "참고 자료" 링크를 참고하시기 바랍니다.)

NoSQL는 "non SQL" or "not Only SQL"의 줄임말 


NoSQL의 장점 

* 유연한 데이터 모형: 스키마 변경이 용이하여 외부 변화 대응에 용이

* 수평적 확장성: 서버의 하드웨어 성능을 높이지 않고 일반적인 성능의 서버 수를 늘림으로써 확장 가능

* 빠른 조회: 조인이 필요없는 구조 (단, 저장 공간의 손해는 발생한다) 

* 높은 개발 생산성: 개발 언어에서 사용하는 데이터 구조와 거의 동일한 방식으로 저장되기 때문에 직관적이고 코드량을 줄일 수 있음  


NoSQL의 단점

* 복수 문서에 대한 Transasction 기능이 없다. (MongoDB에서는 4.0부터 복수 문서에 대한 ACIDTransaction 지원)

* SQL Database에 비해 저장 공간을 많이 사용한다. (하드웨어 기술의 발달로 더이상 저장 공간 비용은 큰 문제가 되지 않는다. 몇몇 NoSQL Database는 압축을 지원하여 저장되는 데이터의 크기를 줄이고 있다)

* 특정 목적에만 적합한 NoSQL Database가 있을 수 있으므로 자신의 Use case에 맞는 Database를 골라야 한다. (MongoDB는 범용 Database)


책의 구성

이 책은 6부, 24장, 2개의 부록으로 구성되어 있으며 다음의 내용을 설명하고 있습니다. 

* 몽고DB 핵심 개념과 연산, 쿼리 방법

* 데이터 집계 기술과 인덱스, 컬렉션, 트랜잭션 사용법  

* 복제 셋을 구축하고 운영하는 방법 

* 클러스터를 구성하고 샤드 키를 선택하는 방법

* 애플리케이션 관리를 위한 보안과 인증, 권한 구성 방법

* 서버를 모니터링하고 백업, 복구하는 방법


실습 예제 및 관련된 상세 설명이 잘 나와 있어서 하나씩 따라하면서 개념과 사용법을  손쉽게 익힐 수 있었습니다.


현재 몽고DB는 여러 유명한 서비스에서 문제없이 사용되고 있으며 공식적으로 다양한 개발 언어를 지원하고 있습니다. (C, C++, C#, Go, Java, Node.js, PHP, Python, Ruby, Rust, Scala, Swift)

이번 기회에 이 책을 통해 몽고DB를 학습한 후 새로운 서비스에 적용해보는 것도 좋은

 선택이 될 수 있을꺼라 생각합니다.


총평

* MongoDB에 대한 기초부터 활용까지 대부분의 내용을 책 하나로 배울 수 있다.

* 번역이 잘 되어 있어서 이해하는데 문제가 없었다.

* 실습 예제와 설명이 잘 나와 있어서 쉽게 따라하면서 사용법을 습득할 수 있다.


참고 자료

* https://www.mongodb.com/nosql-explained

* https://www.mongodb.com/nosql-explained/nosql-vs-sql


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo