-
-
MongoDB 완벽 가이드 - 실전 예제로 배우는 NoSQL 데이터베이스 기초부터 활용까지, 3판
크리스티나 초도로우 외 지음, 김인범 옮김 / 한빛미디어 / 2021년 3월
평점 :
자바스크립트의 오브젝트와 매우 유사한 구조라 그간 간단한 애플리케이션을 개발할 때면 데이터베이스로 MongoDB를 많이 사용해왔다. 대부분 사이드 프로젝트 수준의 작은 프로젝트에만 사용했기 때문에 간단한 CRUD와 인덱싱 위주로 몽고DB를 사용해왔는데 때마침 해당 도서를 리뷰하게 되었고 이 기회에 좀 더 심도 깊게 몽고DB 인스턴스를 구성해보기로 했다.
책의 초반부는 특정 상황에서 왜 RDB 대신 MongoDB를 사용해야 되는지 해당 시스템의 철학과 간단한 쿼리에 대해 설명해주었다. 나는 몽고DB를 런타임 시 오브젝트들의 데이터를 단순 저장하는 용도로 많이 사용했기 때문에 해당 책에서 특수 인덱스같은 것을 사용한 경험이 없었다. 하지만 이 책을 통해 공간 정보 인덱스, 텍스트 인덱스, 제한 컬렉션, TTL 인덱스 등 특정 상황에서 매우 강력한 기능을 지원하는 여러 특수 인덱스의 활용에 대해 배울 수 있었다.
챕터 7에서는 집계 파이프라인을 통해 도큐먼트를 여러 방식으로 후처리하는 예시들을 보여줬는데 RDB 같은 스키마 제한이 없으면서도 RDB만큼 강력하게 데이터 쿼리가 가능하다는 점에서 MongoDB의 매력을 다시 한번 느낄 수 있었다. 또한, 트랜잭션이라는 논리적 처리 그룹을 통해 한가지 이상의 쓰기 및 읽기 작업에 대해 ACID 속성을 충족하게 해서 데이터베이스가 일관성있게 내부 데이터를 유지할 수 있게 하는 기능도 인상 깊었다.
이 책에서 가장 좋았던 부분은 파트 3, 4, 5였다. 실제 예제 데이터베이스 하나 띄우고 쿼리 연습하는 일반적인 데이터베이스 관련 서적과 대비하여 실제 프로덕션 환경에서 발생할 수 있는 가용성 문제 해결을 위한 복제 구성 방법, 분산 확장을 애초에 염두에 두고 설계된 MongoDB의 취지에 맞는 실제 샤딩 구성 및 관리 방법 등 DB 운용 시 필요한 각종 유용한 팁을 얻을 수 있었다. 이와 더불어 mongod가 실행될 때 잘 관리하기 위한 리소스 관리 및 모니터링, 배포, 백업 등 기본적이지만 중요한 여러 요소들에 대해 배울 수 있었다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."