간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (28,220원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (20,790원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (23,760원)
(최대할인 4만원 / 2만원 이상 결제)
Close

몽고디비 인 액션 : 빅데이터 시대 최고의 NoSQL 데이터베이스[전면개정판]

원제 : MongoDB in Action(2nd Edition)
소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
정가

33,000원

  • 29,700 (10%할인)

    1,650P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 3/28(화) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(9)

  • 상품권

AD

책소개

빅 데이터 시대 최고의 NoSQL 데이터베이스!

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

출판사 서평

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

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

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

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

목차

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

찾아보기 543

본문중에서

이 책은 세 부분으로 나뉜다. 첫 번째 파트는 MongoDB에 대한 상세한 서론에 해당한다. 1장은 MongoDB의 역사, 특징, 사용 예에 대한 개관이다. 2장은 명령어 셸 상에서의 튜토리얼을 통해 MongoDB의 핵심적인 개념을 설명한다. 3장은 백엔드에서 MongoDB를 사용하는 간단한 애플리케이션을 설계한다. _XX쪽

MongoDB와 비교하여 멤캐시디와 같은 단순한 키-값 저장 시스템은 종종 빠른 읽기와 쓰기를 수행한다. 하지만 MongoDB와는 달리 기본 데이터 저장 시스템으로는 거의 사용되지 않는다. 단순한 키-값 저장 시스템은 전통적인 데이터베이스 위에 위치한 캐싱 계층이나 잡 큐(job queue)와 같은 서비스를 위한 단순한 지속성 계층(persistence layer)에서 부가적으로 사용하는 것이 최선책이다. _24쪽

기억하자. MongoDB는 그 자신이 스키마를 강제하지는 않지만, 모든 애플리케이션은 데이터가 어떻게 저장되는지에 대한 기본적인 내부 기준 정도는 존재해야 한다. 이렇게 원리에 대한 연구를 바탕으로 이 장의 두 번째 부분에서는 전자상거래 스키마 설계를 살펴본다. 이 과정에서의 스키마가 RDBMS의 스키마와 어떻게 다른지 설명하고, MongoDB에서 일대다, 다대다(many-to-many)와 같이 개체 간의 관계가 어떻게 표현되는지를 배울 것이다. 여기서 주어지는 전자상거래 스키마는 이후의 장에서 논의할 쿼리, 집계, 업데이트 등에 대한 기초가 된다. _91쪽

모든 전자상거래 사이트가 재고 관리를 엄격하게 할 필요는 없다. 대부분의 아이템들은 실제의 재고량과는 상관없이 주문을 처리할 정도의 수량만 확보하면 된다. 이런 경우에 재고 관리는 예측치를 관리함으로써 쉽게 된다. 재고가 몇 개의 아이템밖에 없는 경우에만 배송 예측치를 조정한다. _214쪽

MongoDB에서 네임스페이스는 세 개의 이름 사이에 점이 있는 데이터베이스 및 컬렉션의 이름과 연결된 객체의 이름이다. 네임스페이스의 최대 길이는 123바이트이며, 앞의 예에서 인덱스의 네임스페이스를 84자까지 사용한 바 있다. _314쪽

어떤 상황이든지 테스트가 중요하다. 모든 일반적인 장애조치와 복구 시나리오를 실제와 비슷한 상황에서 테스트해 봐야 한다. 이런 상황에서 장애가 발생하는 경우에 복제 세트 설정이 어떻게 동작할 것인지를 알고 있으면 실제 상황에서 장애가 발생하더라도 동요되지 않고 이것을 처리할 수 있을 것이다. _396쪽

저자소개

피터 배컴, 숀 버크, 덕 개릿, 팀 호킨스 [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

김인범 [역] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

이 상품의 시리즈

(총 11권 / 현재구매 가능도서 10권)

선택한 상품 북카트담기
펼쳐보기

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    10.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크커머스 안전결제시스템 (에스크로) 안내

    (주)인터파크커머스의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용