본문 바로가기

리디북스 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디북스 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기


몽고디비 인 액션(제2판) 상세페이지

책 소개

<몽고디비 인 액션(제2판)> 빅 데이터 시대 최고의 NoSQL 데이터베이스!

《몽고디비 인 액션(제2판)》은 1판에 비해 완전히 개정되고 업데이트되었다. MongoDB 3.x와 도큐먼트 지향 데이터베이스 모델을 소개하는 이 책은 개발자에게 필요한 큰 그림과 시스템 엔지니어를 만족시키기에 충분한 하위 수준의 상세한 내용을 동시에 제공한다. 수많은 예제는 데이터 모델링의 중요한 분야에서 확신을 갖는 데 도움을 줄 것이며, 복제, 자동 샤딩, 배포 구성을 포함해서 각 기능에 대한 깊이 있는 설명은 여러분이 MongoDB 전문가로 거듭나는 데 충분할 것이다.


출판사 서평

MongoDB나 NoSQL에 경험 없는 개발자를 위한 쉽고 실전적인 입문서!
빅 데이터 시대 최고의 NoSQL 데이터베이스!

MongoDB는 도큐먼트 지향 데이터베이스이지만 빅 데이터에 대해 유연하고, 확장 가능하며, 매우 빠른 처리 속도를 갖도록 설계되었다. MongoDB는 높은 가용성을 위해 만들어졌으며, 풍부하고 동적인 스키마를 지원하며, 여러 대의 서버에 데이터를 손쉽게 분산시킬 수 있다.

《몽고디비 인 액션(제2판)》은 1판에 비해 완전히 개정되고 업데이트되었다. MongoDB 3.x와 도큐먼트 지향 데이터베이스 모델을 소개하는 이 책은 개발자에게 필요한 큰 그림과 시스템 엔지니어를 만족시키기에 충분한 하위 수준의 상세한 내용을 동시에 제공한다. 수많은 예제는 데이터 모델링의 중요한 분야에서 확신을 갖는 데 도움을 줄 것이며, 복제, 자동 샤딩, 배포 구성을 포함해서 각 기능에 대한 깊이 있는 설명은 여러분이 MongoDB 전문가로 거듭나는 데 충분할 것이다.

이 책에서 다루는 주요 내용
· 인덱스, 질의, 표준 DB 연산
· 집계와 텍스트 검색
· 맞춤형 집계와 리포트를 위한 맵-리듀스
· 확장과 높은 가용성을 위한 구성
· MongoDB 3.x에서 업데이트된 내용


저자 프로필

덕 개릿 Doug Garrett

  • 경력 MongoDB World Conference 발표자
    Genentech Research and Early Development 소프트웨어 엔지니어
  • 수상 MongoDB Innovation Award for Analytics 수상

2020.09.07. 업데이트 작가 프로필 수정 요청

뉴욕에서 열린 첫 번째 MongoDB World Conference의 발표자이자 MongoDB Innovation Award for Analytics의 수상자 중 한 명이다. 지금은 Genentech Research and Early Development의 생물정보학 부서에서 소프트웨어 엔지니어로 일하고 있다.


저자 소개

저 : 카일 뱅커 (Kyle Banker)
10gen에서 수년간 MongoDB 루비 드라이버를 유지 및 관리하는 일을 수행했으며, 지금은 스타트업에서 그 기량을 발휘하고 있다.

저 : 피터 배컴 (Peter Bakkum)
대규모 상용 배포 환경에서 ongoDB를 활용하여 데이터 인프라스트럭처를 구축하고 확장하는 일을 전문으로 하는 개발자다.

저 : 숀 버크 (Shaun Verch)
MongoDB의 코어 서버팀에서 근무했으며, MongoDB를 Node.js와 사용하는 방법을 안내하는 온라인 교육과정인 M101JS 개발에 많은 기여를 하였다.

저 : 덕 개릿 (Doug Garrett)
뉴욕에서 열린 첫 번째 MongoDB World Conference의 발표자이자 MongoDB Innovation Award for Analytics의 수상자 중 한 명이다. 지금은 Genentech Research and Early Development의 생물정보학 부서에서 소프트웨어 엔지니어로 일하고 있다.

저 : 팀 호킨스 (Tim Hawkins)
야후의 유럽 검색 엔지니어링 책임자였으며, 지금은 국제화와 확장성에 중점을 둔 수석 솔루션 아키텍트로 근무하고 있다.

역 : 김인범
SK 주식회사 C&C의 클라우드 컴퓨팅 기술팀에서 클라우드 개발 프로젝트에 참여하였으며, 현재는 통신 인프라 서비스팀에서 DBA로 일하고 있다. SK New ICT Academy에서 NoSQL 분야 강사를 겸하고 있으며, MongoDB Korea에서 다양한 사람과 소통하고 있다. 항상 재미있는 프로젝트를 찾고 있으며, 글 쓰는 일을 좋아한다. 전자책보다 종이책을 더 좋아하고, 아이돌보다 문근영을 더 좋아한다.

목차

1부 시작하기
1장 최신 웹을 위한 도큐먼트 데이터베이스
1.1 인터넷에서 태어나다
1.2 MongoDB의 핵심 기능
1.2.1 도큐먼트 데이터 모델
1.2.2 애드혹 쿼리
1.2.3 인덱스
1.2.4 복제
1.2.5 속도와 내구성
1.2.6 확장
1.3 MongoDB 코어 서버와 툴
1.3.1 코어 서버
1.3.2 자바스크립트 셸
1.3.3 데이터베이스 드라이버
1.3.4 커맨드라인 툴
1.4 MongoDB를 사용하는 이유
1.4.1 MongoDB와 다른 데이터베이스 비교
1.4.2 사용 예와 배포
1.5 팁과 한계
1.6 MongoDB 역사
1.7 추가적인 자료
1.8 요약

2장 자바스크립트 셸을 통한 MongoDB
2.1 MongoDB 셸 경험하기
2.1.1 셸 시작하기
2.1.2 데이터베이스, 컬렉션, 도큐먼트
2.1.3 삽입과 질의
2.1.4 도큐먼트 업데이트
2.1.5 데이터 삭제
2.1.6 기타 셸 특징
2.2 인덱스 생성과 질의
2.2.1 대용량 컬렉션 생성
2.2.2 인덱싱과 explain( )
2.3 기본적인 관리
2.3.1 데이터베이스 정보 얻기
2.3.2 명령어가 작동하는 방식
2.4 도움말 얻기
2.5 요약

3장 MongoDB를 이용한 프로그래밍
3.1 루비를 통해 보는 MongoDB
3.1.1 설치와 연결
3.1.2 루비에서 도큐먼트 삽입
3.1.3 쿼리와 커서
3.1.4 업데이트와 삭제
3.1.5 데이터베이스 명령어
3.2 드라이버 작동 원리
3.2.1 객체 ID 생성
3.3 트위터 모니터링 애플리케이션 구축
3.3.1 설정
3.3.2 데이터 수집
3.3.3 아카이브 열람
3.4 요약

2부 MongoDB 애플리케이션 개발
4장 도큐먼트 지향 데이터
4.1 스키마 설계 원리
4.2 전자상거래 데이터 모델 설계
4.2.1 스키마 기본
4.2.2 사용자와 주문
4.2.3 상품평
4.3 실제적 세부사항: 데이터베이스, 컬렉션, 도큐먼트
4.3.1 데이터베이스
4.3.2 컬렉션
4.3.3 도큐먼트와 인서트
4.4 요약

5장 쿼리 작성하기
5.1 전자상거래 쿼리
5.1.1 상품, 카테고리, 리뷰
5.1.2 사용자와 주문
5.2 MongoDB의 쿼리 언어
5.2.1 질의 조건과 셀렉터
5.2.2 쿼리 옵션
5.3 요약

6장 집계
6.1 집계 프레임워크 개요
6.2 전자상거래 집계 예제
6.2.1 상품, 카테고리, 리뷰
6.2.2 사용자와 주문
6.3 집계 파이프라인 연산자
6.3.1 $project
6.3.2 $group
6.3.3 $match, $sort, $skip, $limit
6.3.4 $unwind
6.3.5 $out
6.4 도큐먼트 재구성
6.4.1 문자열 함수
6.4.2 산술 함수
6.4.3 날짜/시간 함수
6.4.4 논리 함수
6.4.5 집합 함수
6.4.6 기타 함수
6.5 집계 파이프라인 성능에 대한 이해
6.5.1 집계 파이프라인 옵션
6.5.2 집계 파이프라인의 explain( ) 함수
6.5.3 allowDiskUse 옵션
6.5.4 집계 커서 옵션
6.6 기타 집계 기능
6.6.1 .count( )와 .distinct( )
6.6.2 맵리듀스
6.7 요약

7장 업데이트, 원자적 연산, 삭제
7.1 도큐먼트 업데이트
7.1.1 대치에 의한 수정
7.1.2 연산자에 의한 수정
7.1.3 두 방법의 비교
7.1.4 결정: 대치 vs. 연산자
7.2 전자상거래 업데이트
7.2.1 상품과 카테고리
7.2.2 리뷰
7.2.3 주문
7.3 원자적 도큐먼트 프로세싱
7.3.1 주문 상태 전이
7.3.2 재고 관리
7.4 실제적인 세부사항: MongoDB 업데이트와 삭제
7.4.1 업데이트 타입과 옵션
7.4.2 업데이트 연산자
7.4.3 findAndModify 명령
7.4.4 삭제
7.4.5 동시성, 원자성, 고립
7.4.6 업데이트 성능
7.5 업데이트 연산자 리뷰
7.6 요약

3부 MongoDB 마스터하기
8장 인덱싱과 쿼리 최적화
8.1 인덱싱의 이론적 고찰
8.1.1 개념 실험
8.1.2 인덱싱 핵심 개념
8.1.3 B-트리
8.2 인덱싱의 실제
8.2.1 인덱스 타입
8.2.2 인덱스 관리
8.3 쿼리 최적화
8.3.1 느린 쿼리 탐지
8.3.2 느린 쿼리 분석
8.3.3 쿼리 패턴
8.4 요약

9장 텍스트 검색
9.1 텍스트 검색 ― 단지 패턴 매칭만은 아니다
9.1.1 텍스트 검색 vs. 패턴 일치
9.1.2 텍스트 검색 vs. 웹 페이지 검색
9.1.3 MongoDB 텍스트 검색 vs. 전용 텍스트 검색 엔진
9.2 Manning 서적 카탈로그 데이터 다운로드
9.3 텍스트 검색 인덱스의 정의
9.3.1 텍스트 인덱스 크기
9.3.2 인덱스 이름 지정 및 컬렉션의 모든 텍스트 필드 인덱싱
9.4 기본 텍스트 검색
9.4.1 더 복잡한 검색
9.4.2 텍스트 검색 스코어
9.4.3 텍스트 검색 스코어에 의한 결과 정렬
9.5 집계 프레임워크 텍스트 검색
9.5.1 MongoDB In Action, Second Edition은 어디에 있나?
9.6 텍스트 검색 언어
9.6.1 인덱스에서의 언어 지정
9.6.2 도큐먼트에서 언어 지정
9.6.3 검색에서 언어 지정
9.6.4 사용 가능한 언어
9.7 요약

10장 WiredTiger와 플러그형 스토리지
10.1 플러그형 스토리지 엔진 API
10.1.1 왜 다른 스토리지 엔진을 사용할까?
10.2 WiredTiger
10.2.1 WiredTiger로의 전환
10.2.2 데이터베이스를 WiredTiger로 마이그레이션
10.3 MMAPv1과의 비교
10.3.1 구성 파일
10.3.2 삽입 스크립트와 벤치마크 스크립트
10.3.3 삽입 벤치마크 결과
10.3.4 읽기 성능 스크립트
10.3.5 읽기 성능 결과
10.3.6 벤치마크 결론
10.4 플러그형 스토리지 엔진의 다른 예
10.5 고급 주제
10.5.1 플러그형 스토리지 엔진은 어떻게 동작할까?
10.5.2 데이터 구조
10.5.3 잠금
10.6 요약

11장 복제
11.1 복제 개관
11.1.1 복제의 중요성
11.1.2 복제의 사용 예와 한계
11.2 복제 세트
11.2.1 셋업
11.2.2 복제 작동 방식
11.2.3 관리
11.3 드라이버와 복제
11.3.1 연결과 장애조치
11.3.2 쓰기 concern
11.3.3 읽기 스케일링
11.3.4 태깅
11.4 요약

12장 샤딩을 통한 시스템 확장
12.1 샤딩 개관
12.1.1 샤딩이란 무엇인가?
12.1.2 언제 샤딩을 할 것인가?
12.2 샤드 클러스터 구성 요소의 이해
12.2.1 샤드: 애플리케이션 데이터의 저장소
12.2.2 mongos 라우터: 연산 라우터
12.2.3 설정 서버: 메타데이터의 저장소
12.3 샤드된 클러스터에서의 데이터 분산
12.3.1 샤드된 클러스터에 데이터를 분산시킬 수 있는 방법
12.3.2 샤드에 데이터베이스 분산 처리
12.3.3 컬렉션 내에서 샤딩하기
12.4 샘플 샤드 클러스터 구축하기
12.4.1 mongod와 mongos 서버 시작하기
12.4.2 클러스터 설정
12.4.3 샤딩 컬렉션
12.4.4 샤딩 클러스터에서의 쓰기 연산
12.5 샤딩 클러스터 질의 및 인덱싱
12.5.1 쿼리 라우팅
12.5.2 샤드 클러스터에서 인덱싱하기
12.5.3 샤드 클러스터에서의 explain( )
12.5.4 샤드 클러스터에서의 집계
12.6 샤드 키 선택
12.6.1 불균형적인 쓰기(핫스팟)
12.6.2 분할될 수 없는 청크(낮은 수준의 세분화)
12.6.3 부족한 타깃팅(쿼리에 샤드 키가 없음)
12.6.4 이상적인 샤드 키
12.6.5 고유한 설계 트레이드 오프(이메일 애플리케이션)
12.7 실제 서비스에서의 샤딩
12.7.1 프로비저닝
12.7.2 배포
12.7.3 유지 보수
12.8 요약

13장 배포와 관리
13.1 하드웨어와 프로비저닝
13.1.1 클러스터 구성
13.1.2 배포 환경
13.1.3 프로비저닝
13.2 모니터링과 진단
13.2.1 로깅
13.2.2 MongoDB 진단 명령어
13.2.3 MongoDB 진단 도구
13.2.4 MongoDB 모니터링 서비스
13.2.5 외부 모니터링 애플리케이션
13.3 백업
13.3.1 mongodump와 mongorestore
13.3.2 데이터 파일 기반 백업
13.3.3 MMS 백업
13.4 보안
13.4.1 안전한 환경
13.4.2 네트워크 암호화
13.4.3 인증
13.4.4 복제 세트 인증
13.4.5 샤딩 인증
13.4.6 엔터프라이즈 보안 특징
13.5 관리 작업
13.5.1 데이터 들여오기와 내보내기
13.5.2 압축과 복구
13.5.3 업그레이드
13.6 성능 문제 해결
13.6.1 작업 데이터
13.6.2 성능 절벽
13.6.3 쿼리 상호작용
13.6.4 전문가의 도움
13.7 배포 체크리스트
13.8 요약

부록 A MongoDB 설치
A.1 설치
A.1.1 실제 서비스 배포
A.1.2 32비트 vs. 64비트
A.2 리눅스
A.2.1 이미 컴파일된 바이너리로 설치
A.2.2 패키지 매니저를 이용한 설치
A.3 맥 OS X
A.3.1 이미 컴파일된 바이너리
A.3.2 패키지 매니저를 이용한 설치
A.4 윈도우
A.4.1 컴파일된 바이너리 설치 파일을 이용한 설치
A.5 소스 컴파일
A.6 문제 해결
A.6.1 다른 아키텍처
A.6.2 데이터 디렉터리의 부재
A.6.3 권한의 부족
A.6.4 포트 바인딩 실패
A.7 기본 설정 옵션
A.8 루비 설치
A.8.1 리눅스와 맥 OS X
A.8.2 윈도우

부록 B 설계 패턴
B.1 임베드 vs. 레퍼런스
B.2 일대다
B.3 다대다
B.4 트리
B.5 작업자 큐
B.6 동적 속성
B.7 트랜잭션
B.8 지역성 및 선 계산
B.9 안티 패턴
B.9.1 부주의한 인덱싱
B.9.2 모틀리(Motley) 타입
B.9.3 버킷(bucket) 컬렉션
B.9.4 깊게 중첩된 대용량 도큐먼트
B.9.5 사용자당 한 컬렉션
B.9.6 샤드 불가능한 컬렉션

부록 C 이진 데이터 및 GridFS
C.1 간단한 이진 저장
C.1.1 섬네일 저장
C.1.2 MD5 저장
C.2 GridFS
C.2.1 루비에서의 GridFS
C.2.2 mongofiles 유틸리티

찾아보기


리뷰

구매자 별점

0.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디북스에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전