간편결제, 신용카드 청구할인
삼성카드 6% (22,000원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (22,230원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (16,380원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (18,720원)
(최대할인 4만원 / 2만원 이상 결제)
Close

카우치베이스 실전 가이드 : 기초 개념에서 실무 응용까지

소득공제

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

판매지수 22
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
  • 저 : 박선용
  • 출판사 : 제이펍
  • 발행 : 2015년 03월 25일
  • 쪽수 : 436
  • 제품구성 : 전1권
  • ISBN : 9791185890142
정가

26,000원

  • 23,400 (10%할인)

    1,300P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 사은품(7)

책소개

최근 개발환경에 가장 적합한 솔루션인 카우치베이스에 대해 초보자부터 개발 실무자까지 활용 가능한 내용을 담고 있다. 카우치베이스의 기초 개념, 응용 기능 및 관리자 기능 등을 충실히 설명하고 있으며, 카우치베이스를 이용해서 Node.js에 기반을 둔 서버 애플리케이션 구현 방법을 자세히 설명한다. 또한, 실제 시스템의 성능을 측정하고 그것을 해석하는 방법을 통해 본인이 설계, 개발한 시스템이 얼마나 많은 사용자에게 서비스될 수 있는지 확인하는 방법 또한 소개하고 있다. 솔루션의 기능 소개만이 아니라 내부 아키텍처의 소개부터 서버 애플리케이션의 구성과 설계 시 주의사항까지도 알 수 있도록 구성되어 있어 일반적인 서버 개발자, 애플리케이션이나 게임 개발자, 소프트웨어 및 시스템 아키텍처에 관심 있는 모든 분에게 도움이 되는 지침서다.

출판사 서평

24시간 365일 무중단 서비스를 위한 최적의 NoSQL 솔루션!
최신 버전인 카우치베이스 3.0과 SDK 2.0을 기반으로 설명!
Node.js를 이용한 서버 개발과 시스템 성능 분석까지 다루는 실무자용 지침서!


최근 개발환경에 가장 적합한 솔루션인 카우치베이스에 대해 초보자부터 개발 실무자까지 활용 가능한 내용을 담고 있다. 카우치베이스의 기초 개념, 응용 기능 및 관리자 기능 등을 충실히 설명하고 있으며, 카우치베이스를 이용해서 Node.js에 기반을 둔 서버 애플리케이션 구현 방법을 자세히 설명한다. 또한, 실제 시스템의 성능을 측정하고 그것을 해석하는 방법을 통해 본인이 설계, 개발한 시스템이 얼마나 많은 사용자에게 서비스될 수 있는지 확인하는 방법 또한 소개하고 있다.

솔루션의 기능 소개만이 아니라 내부 아키텍처의 소개부터 서버 애플리케이션의 구성과 설계 시 주의사항까지도 알 수 있도록 구성되어 있어 일반적인 서버 개발자, 애플리케이션이나 게임 개발자, 소프트웨어 및 시스템 아키텍처에 관심 있는 모든 분에게 도움이 되는 지침서다.

이 책에서 다루는 주요 주제
*카우치베이스의 기본 개념과 주요 기능들
*카우치베이스 SDK 2.0을 기반으로 RESTful API 애플리케이션 개발
*카우치베이스의 내부 아키텍처
*Node.js에 기반을 둔 서버 애플리케이션 설계와 개발, 그리고 설계 팁
*시스템 성능 분석의 기초 이론과 JMeter를 이용한 본격적인 서버 성능 분석
*ElasticSearch 등 외부 솔루션과 카우치베이스의 통합 방법
*모바일용 카우치베이스 라이트와 SyncGateway의 기능 및 응용 방법

목차

Chapter 1 카우치베이스 소개 1
1.1 개괄 2
1.2 카우치베이스 기본 개념 3
1.2.1 문서지향 데이터베이스 4
1.2.2 노드와 클러스터 4
1.2.3 데이터 버킷 5
1.2.4 vBucket 6
1.2.5 키와 메타데이터 6
1.2.6 데이터 저장 및 읽기 7
1.2.7 데이터 동일성과 동시성 9
1.2.8 뷰, 인덱스, 쿼리 10
1.3 전통적인 DBMS와의 비교 11
1.4 다른 NoSQL 솔루션과의 비교 12
1.5 카우치베이스 라이트와 그 외의 솔루션 14
1.6 응용 분야 15
: 맺으며 : 16

Chapter 2 카우치베이스 설치 및 시작 17
2.1 카우치베이스 서버의 종류 18
2.1.1 지원 플랫폼 종류 19
2.1.2 서버의 라이선스 종류 21
2.2 설치 진행 23
2.2.1 레드햇 계열 23
2.2.2 우분투 계열 25
2.2.3 윈도우즈 25
2.2.4 맥 OS 26
2.3 서버 셋업 27
2.3.1 초기 설정 과정 28
2.3.2 샘플 버킷 추가 31
2.3.3 사용자 지정 버킷 생성 36
2.4 관리자 콘솔 친해지기 38
2.4.1 Server Nodes 39
2.4.2 Views 41
2.4.3 XDCR 42
2.4.4 Log 42
2.4.5 Settings 43
: 맺으며 : 44

Chapter 3 카우치베이스 SDK 45
3.1 클라이언트 라이브러리(SDK) 46
3.2 Node.js를 위한 이클립스 설치 48
3.2.1 이클립스 설치 48
3.2.2 워킹 세트 설정 54
3.3 Node.js 및 SDK 설치 60
3.3.1 npm 명령어 사용법 64
3.4 최초의 예제 실행 71
3.4.1 프로젝트 구성 71
3.4.2 기본 예제 작성 73
3.4.3 최초의 버킷 등록 예 75
3.4.4 윈도우즈에서 cURL의 사용 78
3.4.5 예제 소스 코드의 분석 83
: 맺으며 : 86

Chapter 4 JSON과 REST 87
4.1 JSON이란? 88
4.1.1 JSON 문법 형식 88
4.2 관계형 데이터와 문서 중심 데이터의 비교 90
4.2.1 전통적인 RDB와 NoSQL 90
4.2.2 문서지향 데이터 90
4.3 관계형 데이터베이스에서의 데이터 정규화 92
4.3.1 1차 정규화 92
4.3.2 3차 정규화 93
4.3.3 역정규화 95
4.4 JSON 기반 문서 96
4.4.1 문서지향 데이터 96
4.4.2 카우치베이스에서의 문서 96
4.5 카우치베이스에서의 데이터 모델링 100
4.6 Node.js에서 JSON 객체의 처리 102
4.6.1 배열과 객체 102
4.6.2 배열과 관련된 함수들 104
4.6.3 객체와 관련된 함수와 API 106
4.6.4 좀 더 복잡한 JSON의 예 107
4.7 REST API 110
4.7.1 REST란? 111
4.7.2 웹 서비스 적용 111
4.7.3 실제 구현에서의 관례 114
4.7.4 좀 더 고려할 것들 116
: 맺으며 : 117

Chapter 5 성능 측정과 JMeter 119
5.1 성능이란? 120
5.1.1 성능 분석 용어 121
5.1.2 성능 분석과 튜닝의 차이점 122
5.2 웹 기반 시스템의 성능 측정 124
5.2.1 기본적인 이론 124
5.2.2 기본 성능 그래프 125
5.2.3 그래프의 이해 126
5.2.4 출력량에 대한 이해 128
5.2.5 그래프 해석의 중요성 129
5.3 JMeter 개괄 130
5.3.1 JMeter 설치 및 실행 131
5.3.2 JMeter 기능 134
5.4 테스트 플랜 수립 140
5.4.1 최초의 실행 140
5.4.2 웹 서버 테스트 플랜의 구성 144
5.4.3 테스트 플랜에서의 고급 예 154
5.5 JMeter를 이용한 curl 대체 156
: 맺으며 : 161

Chapter 6 카우치베이스 서버 개발의 기초 163
6.1 기본적인 CRUD 164
6.1.1 RESTful CRUD API 구성 164
6.1.2 데이터의 생성 166
6.1.3 데이터의 조회 169
6.1.4 데이터의 수정과 삭제 173
6.1.5 뷰를 사용한 조회 175
6.2 CRUD의 추가적인 API 180
6.2.1 읽기 기능 180
6.2.2 업데이트 조작 182
6.2.3 메타데이터 조작 183
6.3 확장 기능 185
6.3.1 벌크 조작 185
6.3.2 원자적 조작 187
6.3.3 성능 관련 고려사항 190
6.4 트랜잭션 처리 190
6.4.1 기본적인 관점의 차이 191
6.4.2 2단계 커밋 192
6.4.3 2단계 커밋의 구현 예제 194
6.4.4 트랜잭션의 순차적 진행 196
6.4.5 트랜잭션 롤백 202
6.4.6 더 생각해 볼 문제 205
6.5 뷰 206
6.5.1 뷰 함수의 구조 207
6.5.2 키 값에 의한 뷰쿼리 209
6.5.3 범위 뷰쿼리 211
6.5.4 클라이언트로부터 뷰의 생성 213
6.5.5 Reduce 함수 호출 216
6.5.6 사용자 정의 Reduce 함수 218
: 맺으며 : 221

Chapter 7 N1QL 223
7.1 N1QL을 통한 조회 224
7.1.1 설치 224
7.1.2 최초의 명령 실행 227
7.2 N1QL 쿼리 구조 230
7.2.1 기본 문법 230
7.2.2 쿼리의 구조 232
7.3 N1QL 기본 활용 237
7.3.1 FROM 절의 지정 237
7.3.2 WHERE 절의 구조 239
7.3.3 집합 함수 244
7.3.4 스칼라 함수 247
7.3.5 조인 실행 252
7.4 인덱스 생성 256
7.5 쿼리의 실행 계획 258
: 맺으며 : 262

Chapter 8 카우치베이스 개발과 성능 테스트 263
8.1 카우치베이스 예제 프로젝트 264
8.1.1 beer-sample 애플리케이션 설정 264
8.1.2 애플리케이션 실행 265
8.1.3 beer_desing.js 분석 268
8.1.4 beer_app.js 분석 272
8.2 애플리케이션의 성능 측정 282
8.2.1 성능 테스트의 계획 282
8.2.2 리스트에 대한 테스트와 데이터 검토 284
8.2.3 CRUD에 대한 테스트 286
8.2.4 검색과 결합된 조작에 대한 테스트 292
8.2.5 디스크 쓰기 부가 옵션이 성능에 미치는 영향 294
: 맺으며 : 298

Chapter 9 카우치베이스 서버의 확장 299
9.1 일래스틱서치와 연동된 FTS 구현 300
9.1.1 일래스틱서치란? 300
9.1.2 일래스틱서치와의 연동 방법 300
9.1.3 일래스틱서치 설치 및 구성 301
9.1.4 인덱스 설정 305
9.1.5 XDCR 설정 307
9.1.6 일래스틱서치에서의 일반적인 쿼리 309
9.1.7 특정 값 범위 쿼리 314
9.2 데이터 호환을 위한 탈렌드 빅 데이터 플랫폼 연동 316
9.2.1 탈렌드 빅 데이터 플랫폼 316
9.2.2 탈렌드 빅 데이터 플랫폼 설치 317
9.2.3 MySQL과 카우치베이스와의 연동 319
: 맺으며 : 328

Chapter 10 모바일 환경에서의 카우치베이스 329
10.1 아이폰용 카우치베이스 라이트 331
10.1.1 아이폰용 카우치베이스 라이트 다운로드 331
10.1.2 새 프로젝트 생성 331
10.1.3 CRUD 실행 333
10.1.4 뷰 생성과 조회 337
10.2 안드로이드용 카우치베이스 라이트 338
10.2.1 안드로이드용 카우치베이스 라이트 다운로드 338
10.2.2 새 프로젝트 생성 339
10.2.3 CRUD 실행 341
10.2.4 뷰 생성과 조회 345
10.3 Couchbase Sync Gateway 347
10.3.1 설치 347
10.3.2 Sync Gateway의 시작과 정지 349
10.3.3 Sync Gateway 설정 파일 350
10.3.4 Sync Gateway REST API 350
10.3.5 Sync Gateway의 환경 설정 351
10.3.6 클라이언트 예제의 실행 353
10.3.7 추가적으로 알아야 할 것들 356
10.4 CSG를 이용한 클라이언트 예제 359
10.4.1 프로젝트 초기 실행 359
10.4.2 초기화 부분의 소스 코드 분석 364
10.4.3 각종 쿼리 수행 소스 367
: 맺으며 : 369

Chapter 11 카우치베이스의 깊은 곳 371
11.1 아키텍처와 관련된 의문들 372
11.2 오픈 소스 프로젝트 373
11.3 클라이언트 SDK 375
11.3.1 vBucket과 클라이언트 매핑 376
11.3.2 Client SDK와 Couchnode 378
11.4 서버 노드의 컴포넌트와 기능들 383
11.4.1 데이터 매니저와 클러스터 매니저 383
11.4.2 객체 관리 캐시 384
11.4.3 체크포인트 385
11.4.4 TAP replicator 386
11.4.5 스토리지 엔진 387
11.4.6 클러스터 매니저 390
11.4.7 쿼리 엔진 392
11.4.8 XDCR 394
11.5 관리자를 위한 카우치베이스 395
11.5.1 노드의 추가 및 삭제 396
11.5.2 백업과 리스토어 398
11.5.3 간결화와 페일오버 400
11.5.4 상태 체크 402
: 맺으며 : 404

찾아보기 405

본문중에서

2010년, 카우치베이스를 처음 접했을 때가 생각납니다. 무척 생소한 시스템이라 과연 괜찮을까 하는 의심이 매우 컸었습니다. 물론, 그 원인은 NoSQL 적용 여부를 고민하는 대부분의 사례에서 RDBMS, 예를 들어 MySQL과 같은 솔루션이 충분히 문제를 해결할 수 있다고 생각했기 때문입니다. 하지만 제가 간과한 것이 있었습니다. 바로 시간과 효율입니다.
(/ 머리말’ 중에서)

여기까지 여러분은 카우치베이스를 시스템에 설치하고 최초의 세팅 작업을 마쳤습니다. 또한, 관리자 콘솔이 어떠한 기능을 하는지 개략적으로 살펴보았습니다. 어떤 설정은 잘 이해가 안 될 수도 있었을 것입니다. 하지만 다음 장들을 학습하면서, 또 카우치베이스의 아키텍처를 깊게 공부하는 과정을 거치면서 자연스럽게 설정 값들의 의미를 이해하시게 될 것입니다.
(/ p.44)

도스 창에서 직접 명령어를 실행시키기 위해서는 환경 변수 PATH에 curl.exe 파일이 있는 폴더의 경로를 추가해 주어야 합니다. 여기서는 여러분이 ‘C:\Utils’라는 경로에 파일을 두었다고 가정하겠습니다. 환경 변수 변경은 윈도우즈 7과 8에 차이가 있는데, 윈도우즈 8을 기준으로 수정하는 방법을 간단히 설명하겠습니다.
(/ p.79)

3.4절에서 클라이언트 요청을 curl이라는 유틸리티를 사용해서 진행했습니다. 장점이 많은 툴이기는 하지만, 명령어 기반의 수행이 익숙하지 않거나 윈도우즈 환경에서 개발할 경우 불편할 수도 있습니다. curl 대신에 클라이언트 요청 툴로서 활용할 수 있는 것은 바로 이번 장에서 살펴본 JMeter입니다.
(/ p.156)

플러그인을 설치하고 나서는 본격적으로 카우치베이스를 위한 일래스틱서치 설정을 해야 합니다. 설정은 그렇게 복잡하지 않습니다. 일래스틱서치의 설정 파일은 config 디렉터리 밑에 있는 elasticsearch.yml입니다. 모든 설정 프로퍼티 추가는 이 파일을 수정해서 진행합니다. 설정은 기존에 존재하는 프로퍼티를 수정하는 것과 카우치베이스를 위한 새로운 프로퍼티를 추가하는 것 두 가지 종류가 있습니다.
(/ p.304)

저자소개

생년월일 -
출생지 -
출간도서 0종
판매수 0권

8비트 컴퓨터로 프로그래밍을 시작하여 30년 가까이 컴퓨터의 발전과 함께 다양한 프로젝트를 경험했다. 성공하는 소프트웨어에 대해 늘 고민하고 있으며, 아직도 직접 프로그래밍하기를 좋아한다. 취미로 전통무술 기천을 오랫동안 수련하고 있으며, 등산과 골프, 여행도 좋아한다. IT 도서 외에도 불교와 도교 등의 동양 사상을 비롯해 다양한 분야의 책 읽기를 즐겨하며, 서로 더불어 살아가는 사회를 꿈꾸는 보통 시민이기도 하다.

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

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

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

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

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용