[한빛미디어에서 제공 받은 2021년 '나는 리뷰어다' 도서 리뷰입니다]
'빅데이터'가 세상을 바꾸기 위해 등장하면서
함께 각광받는 기술이 바로 '데이터베이스'
그간 많이 사용되던 RDB와는 조합이 별로였는지
NoSQL 몽고DB가 널리 알려지기 시작했고
이젠 NoSQL의 대표주자로 우뚝 자리매김 하였다.
오늘은 오레일리에서 출간한 정말 잘팔렸는지 3판까지 나온
'실전 예제로 배우는'


몽고DB 완벽 가이드(3판)에 대해 리뷰한다.
- 서적 요약 및 정리
1. 관계형 모델을 사용하지 않는 주된 이유는 분산 확장을 쉽게 하기 위함, 다른 이점으로는 복잡한 계층 관계를 하나의 레코드로 표현할 수 있다는 점(최신 객체 지향 언어를 사용하는 개발자의 관점에 매우 적합하다고 함), 도큐먼트의 키와 값을 미리 정의하지 않기 때문에 고정된 스키마가 없어서 쉽게 필드를 추가하거나 제거할 수 있음(개발 속도의 향상).
2. 복잡한 조인은 존재하지 않는데, 3.6 버전부터 서브쿼리 뿐 아니라 여러 조건으로 복잡한 조인도 할 수 있다고 함.
3. 몽고 DB 데이터의 기본 단위는 도큐먼트(정렬된 키와 값의 집합, 프로그래밍 언어마다 map, hash dictinary와 같이 불리는것이 도큐먼트를 표현하는 자료구조), RDB의 행과 유사하지만 더 다양한 자료 표현이 가능하다고 함.
4. 일반적으로 써오던 RDB의 DML, CRUD와는 다른 문법을 사용, json 형태로 쿼리를 구성, 출력함
5. 인덱스, 컬렉션, 프레임워크 등 처음보는 개념에 대해 예를 들어 쿼리를 작성해 설명하여 보여주기 때문에 직접 따라하면서 결과를 확인해 볼 수 있음
6. 몽고DB 4.2 버전 이상에서 트랜잭션을 지원, 몽고DB 드라이버를 4.2 버전 이상에 맞게 갱신해야 함, (이 책에서는 4.2버전 사용중인듯)

7. 몽고DB 사용방법 뒤로 복제, 샤딩 같은 고급(?) 기능에 대해 설명하고 어플리케이션, 서버 관리에 대해 설명.
- 여담
1. '접근이 쉽다', '진입장벽이 낮다'고 했는데, 기본적인 도큐먼트에 대한 설명이 부족한 것 같음, RDB랑 비교를 했을 때 뭐가 어떻게 다른지 그림으로라도 설명 해줬으면 좋았을 거라 생각...

2. 몽고DB를 처음 접해서 그런지, RDB만 했었기 때문에 그런지 모르겠지만 문법이 익숙하지 않아서 매우 어렵게 다가옴, 말로는 별거아닌 쿼리인것 같은데 bson 문법(BSON은 JSON 문서 의 이진 표현 이지만 JSON보다 더 많은 데이터 유형을 포함)으로 길게 써있으니까 복잡한 느낌이 듦(이건 익숙해지면 나아질까?)

3. 그림이 너무 없음... 왜...? 설치부터 하는거면 입문자도 대상 독자에 들어가 있을 텐데, 예시를 사용하느라 지면이 늘어난 반면에 간단하게 설명 가능하다고 생각되는 그림이 너무 적음...
4. 다양한 내용, 개정 3탄까지 나온것을 보면 정말 좋은 책임에는 분명하나... DB를 처음 접하는 사람이나 개념이 부족한 사람은 이 책 하나만 가지고 몽고 DB를 논하기에는 매우 어려울 거라 생각됨(반면에 몽고 DB에 대한 지식이 어느정도 있다면 기초적인 설명이 많지 않기 때문에 재미나게 읽을 수 있을 듯)
5. 기본적인것은 RDB와 유사하나 몽고DB에서만 사용되는 명칭, 몽고DB만의 특징들이 많이 나열되어 있어 복잡한 느낌이 들지만 RDB를 공부할 때도 그랬듯이 갑작스레 전부 활용하거나 한번에 사용할 것이 아니기 때문에 초반부분부터 차례로 읽어나가면 좋을것 같음(대부분의 책들이 그렇지만 앞부분만 너덜너덜...!)
6. 오레일리는 참 멋진 기본서(?) 느낌이 나지만 내용이 어렵게 느껴지는건 어쩔 수 없는듯 하다...
7. 책을 다시한번 훑어보는데 책 부제목이 '실전 예제로 배우는' 이었다. 뭔가 실생활에서 사용될법한 예제들을 많이 사용했다 싶었는데 책 제목에 충실한 내용이구나 싶다(이 부제를 보고나니 왜 기초 개념에 대한 설명이 적었는지 대충 이해가 갔음).
'review > DEV' 카테고리의 다른 글
| 책 리뷰 : 그래프QL 인 액션 (0) | 2024.03.28 |
|---|---|
| 책 리뷰 : 라라벨 실전 웹 어플리케이션 개발 (0) | 2024.03.28 |
| 책 리뷰 : 처음배우는 플러터 (0) | 2024.03.28 |
| 책 리뷰 : DNS 실전 교과서 (0) | 2024.03.28 |
| 책 리뷰 : 이경오의 SQL + SQLD 비밀노트 (0) | 2024.03.28 |
댓글