MongoDB 오픈 소스를 만들고 제공하는 10gen 엔지니어들에 의해 집필되었으며 데이터베이스 개발자를 위한 지침, 시스템 관리자를 위한 고급 구성, 기타 프로젝트 구성원을 위한 개념에 대한 개요 및 실전 사례를 제공한다.
목차
역자 서문 추천사 서무
1장 MongoDB 소개 1 다양한 데이터 모델 2 손쉬운 확장 3 다양한 기능 4 고성능 5 간편한 관리 6 잠깐, 이것 외에도...
2장 시작하기 1 문서 2 컬렉션 스키마가 없다 네이밍 3 데이터베이스 4 MongoDB 시작하기 5 MongoDB 쉘 쉘 실행하기 MongoDB 클라이언트 기본적인 쉘 작업 쉘 활용 팁 6 데이터형 기본 데이터형 숫자 날짜 배열 내장 문서 _id와 ObjectIds
3장 문서의 생성, 갱신, 삭제 1 문서의 삽입과 저장 일괄 삽입 2 문서 삭제 삭제 속도 3 문서 갱신 문서 치환 제한자 사용법 갱신입력 갱신한 문서의 반환 4 데이터베이스 중 가장 빠른 쓰기 연산 안전 연산 ‘정상적인’ 오류 처리 5 요청과 연결
4장 쿼리하기 1 찾기 소개 반환받을 키 지정하기 제약 사항 2 쿼리 조건 쿼리 조건절 OR 쿼리 not 조건절의 법칙 3 형 특정 쿼리 null 정규표현식 배열에 쿼리하기 내장 문서에 쿼리하기 4 where 쿼리 5 커서 제한, 건너뛰기, 정렬 많은 수의 skip 피하기 고급 쿼리 옵션 일관적인 결과 얻기 6 커서 내부 작동
5장 색인 1 색인 소개 색인 확장하기 내장 문서 내 키 색인하기 정렬을 위해 색인하기 고유하게 식별되는 색인 2 고유 색인 중복 제거하기 복합 고유 색인 3 explain과 hint 사용하기 4 색인 관리 색인 변경 5 공간 정보 색인 복합 공간 정보 색인 지구는 2차원 평면이 아니다
6장 집계 1 count 2 distinct 3 group 종결자 사용하기 함수를 키로 사용하기 4 맵리듀스 예제 1: 컬렉션에서 모든 키 찾기 예제 2: 웹페이지 분류하기 MongoDB와 맵리듀스
7장 고급 기능 1 데이터베이스 명령어 명령어 수행 원리 명령어 참조 2 제한 컬렉션 속성과 그 사용 사례 제한 컬렉션 생성 자연스럽게 정렬하기 꼬리를 무는 커서 3 GridFS: 파일 저장하기 GridFS 시작하기 : mongofiles MongoDB 드라이버로 GridFS 작업하기 내부 살펴보기 4 서버 측 스크립트 db.eval 저장 자바스크립트 보안 5 데이터베이스 참조 DBRef란 무엇인가 예제 스키마 드라이버의 DBRef 지원 DBRef는 언제 사용하나
8장 관리 1 MongoDB 시작과 중지 커맨드라인에서 시작하기 파일 기반 설정 MongoDB 중지하기 2 모니터링 관리자 인터페이스 사용하기 serverStatus mongostat 써드파티 플러그인 3 보안과 인증 인증의 기본 인증 과정 방식 기타 보안 관련 고려 사항 4 백업과 복구 데이터 파일 백업 mongodump와 mongorestore fsync와 락 슬레이브 백업 복구
9장 복제 1 마스터-슬레이브 복제 옵션 소스 추가 및 제거 2 레플리카 셋 레플리카 셋 초기화하기 레플리카 셋 내 노드들 장애 시 요청 넘김과 주 노드 선출 3 슬레이브에서 연산 수행하기 읽기 분산 확장 슬레이브를 사용해 데이터 처리하기 4 작동 원리 Oplog 동기화 복제 상태와 로컬 데이터베이스 복제 지연하기 5 관리 진단 oplog 크기 변경하기 인증을 통한 복제
10장 샤딩 1 샤딩 소개 2 MongoDB의 자동 샤딩 샤딩을 써야할 때 3 샤딩 방식의 키: 샤드 키 기존 컬렉션의 샤딩 증가하는 샤드 키 대 무작위 샤드 키 연산에 대한 샤드 키의 영향 4 샤딩 설정하기 서버 시작하기 데이터 샤딩하기 5 실제 서비스 환경 설정 견고한 설정 여러 mongos 프로세스 튼튼한 샤드 물리적 서버 6 샤딩 관리 config 컬렉션 샤딩 명령어
11장 예제 애플리케이션 1 화학 성분 검색 엔진: 자바 자바 드라이버의 설치 자바 드라이버의 사용 스키마 설계 자바로 작성하기 문제점 2 뉴스 모음: PHP PHP 드라이버 설치 PHP 드라이버 사용하기 뉴스 모음의 설계 댓글 트리 투표 3 커스텀 폼 제출: 루비 루비 드라이버 설치하기 루비 드라이버 사용하기 커스텀 폼 제출 루비 객체 맵퍼, 레일즈와 MongoDB 사용하기 4 실시간 지표: 파이썬 PyMongo 설치하기 PyMongo 사용하기 실시간 지표를 위한 MongoDB 스키마 요청 처리하기 지표 데이터 사용하기 또 다른 고려사항들
부록A MongoDB 설치 1 버전 선택 2 윈도우 설치 3 POSIX(리눅스, 맥 OS X, 솔라리스) 설치 쉘 유틸리티
부록B MongoDB: 쉘
부록C MongoDB 내부 1 BSON 2 와이어 프로토콜 3 데이터 파일 4 네임스페이스와 익스텐트 5 메모리 맵드 스토리지 엔진