나에게 필요한 지식과 기술을 검색해 보세요.

MongoDB 완벽 가이드 : NoSQL의 진수를 만나다!

지은이

크리스티나 초도로우, 마이클 디롤프

옮긴이

윤진석

출간일

2011.05.19

레벨

초중급

평점

2.7(3명)

정가

25,000

판매가

22,500

총 결제 금액

10%

22,500

적립 예정

1,120P

쪽수

240P

ISBN

9788979148251

브랜드

한빛미디어
대용량 데이터 베이스용 NoSQL의 진수를 만나라!

웹 어플리케이션을 통해 수집된 대용량 데이터를 MongoDB로 어떻게 관리할 수 있을까? MongoDB 메인 커미터가 직접 소개하는 문서 지향 데이터베이스의 다양한 장점을 배우다 보면, 수평적인 무한 확장을 제공하는 MongoDB가 "왜 신뢰성 있고", "왜 고성능 데이터베이스로 유명한지"를 알게 될 것이다.

어떤 독자를 위한 책인가?
  • 클라우드 컴퓨팅 분야의 학자, 개발자, 기술 기획자
  • 데이터 마이닝 등 데이터 분석 및 알고리즘 학자, 개발자
쉽고 친절하게 핵심과 실전 사례를 제시한다!

이 책은 MongoDB 오픈 소스를 만들고 제공하는 10gen 엔지니어들에 의해 집필되었으며 데이터베이스 개발자를 위한 지침, 시스템 관리자를 위한 고급 구성, 기타 프로젝트 구성원을 위한 개념에 대한 개요 및 실전 사례를 제공한다.
  • 관계형 데이터베이스의 레코드보다 쉬운 JSON 스타일 문서
  • 문서 지향 데이터베이스 실전 활용 사례
  • 스키마가 없이 문서, 컬렉션, 다중 데이터 베이스를 다루는 방법
  • 기본적인 쓰기 연산과 조건절을 포함한 복잡한 쿼리
  • 색인, 집계 도구, 고급 쿼리 기술
  • 모니터링, 보안과 인증, 백업과 복구
  • 마스터-슬레이브와 자동화된 장애 복구 설정
  • 수평 확장을 위한 샤딩 사용법과 어플리케이션에 미치는 영향
  • 자바, PHP, 파이썬, 루비 기반 예제
추천사

지난 10년간 인터넷은 누구도 예측할 수 없는 형태로 진화하며 관계형 데이터베이스를 거부해왔다. 그 동안 큰 인터넷 회사에서 MySQL을 사용해온 나는 이를 몸소 경험했다. 우선 단일 서버로 소규모 데이터를 처리한다. 그러다 어느 순간 읽기 성능과 장애를 다루기 위해 복제 서버를 설정하는 자신을 발견하게 된다. 여기서 오래 지나지 않아 캐시 계층을 추가하고, 쿼리를 튜닝하고, 장비를 갈아 엎어 보기도 한다. 나중엔 데이터를 여러 서버에 분산하고 프로그램 로직을 바꿔야 하는 시점에 도달하는데 이 때 비로소 몇 달 전에 모델링한 스키마가 장애물로 변해 있음을 깨닫게 된다.왜냐하면, 이미 데이터베이스 서버에 너무 많은 데이터가 쌓여 스키마를 변경하자니 너무 많은 시간이 들고 불가피하게 귀중한 DBA 리소스를 투입해야 하기 때문이다. 물론 코드 단에서 처리하는 것보다는 쉬운 작업이다. 이 때문에 개발팀이 최소 몇 달간 바빠질 수 있다. 결국 우리는 더 좋은 방법이나 데이터베이스가 해결해줄 수 없는지 찾아 헤매게 된다. 오픈 소스 커뮤니티는 우리들의 "더 좋은 방법"에 대한 갈망에 응답하듯 단순한 인-메모리 기반의 키/값 저장소부터 SQL을 지원하는 MySQL/InnoDB 파생물까지 다양하게 쏟아놨는데, 이는 오히려 "적절한 솔루션 찾기"를 더 어렵게 만들었다. 정말 많이 살펴봤다. 그 중에서 나는 MongoDB의 실용적 접근에 매료되었는데 MongoDB는 "모든 기능을 다 제공하려고 하지 않고 위에 언급된 골치 아픈 문제들만 해결하겠다"는 명확한 태도로 기능성과 복잡성 사이의 올바른 균형점을 정확히 겨냥했다. 한마디로, 요즘 웹 애플리케에이션에 필요한 샤딩, 색인, 복제, 고급 쿼리 문법, 유연한 데이터 모델 기능을 고성능으로 제공한다.이 책은 MongoDB와 같이 매우 간결하며 이해하기 쉽다. 처음 접하는 사용자도 1장부터 탐독하며 바로 실행해볼 수 있다. 이미 MongoDB를 경험해본 사용자는 인기 있는 클라이언트 API는 물론 복제, 백업, 샤딩 등 고급 관리에 대한 주제를 고루 다루는 탄탄한 참고서의 진가를 느끼게 될 것이다. 나도 요즘 실무에 적용하고 있데, 이 책에서 제공하는 설치부터 실제 서비스 적용까지 든든한 지원군이 되고 있다. MongoDB 사용을 고민하는 개발자에게 꼭 필요한 필독서다. - 2010년 8월, 제레미 자와드니, 크레이그리스트 개발자

저자

목차

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 메모리 맵드 스토리지 엔진 
 
찾아보기

리뷰

전체 평점

2.7

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

25,000

10%

22,500