책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > 데이터베이스 구축
· ISBN : 9788993827422
· 쪽수 : 360쪽
· 출판일 : 2012-02-08
책 소개
목차
PART 01 소개
CHAPTER 01 왜 CouchDB인가?
느긋해지자 ……………………………………………………………… 3
여러분의 데이터를 모델링하는 다른 방법 ………………………… 5
일반적인 애플리케이션을 위한 뛰어난 적합성 …………………… 6
자립적인 데이터 ……………………………………………………………… 6
신택스와 시맨틱스 …………………………………………………………… 7
대형 시스템을 위한 빌딩 블록 ……………………………………… 8
CouchDB 복제 ……………………………………………………………… 10
로컬 데이터가 왕이다 ………………………………………………… 11
정리하면 ……………………………………………………………… 12
CHAPTER 02 궁극적 일관성
협업하기 ……………………………………………………………… 13
CAP 정리 …………………………………………………………… 14
로컬 일관성 …………………………………………………………… 17
데이터의 핵심 ………………………………………………………………… 17
잠금 없음 ……………………………………………………………………… 18
유효성 검사 ………………………………………………………………… 20
분산된 일관성 ………………………………………………………… 20
증분 복제 …………………………………………………………………… 20
사례 연구 ……………………………………………………………………… 22
정리하면 ……………………………………………………………… 25
CHAPTER 03 CouchDB 시작하기
자, 이제 시작이다! …………………………………………………… 27
푸탄에 온 걸 환영합니다 …………………………………………… 31
첫 데이터베이스와 문서 …………………………………………… 33
맵리듀스를 이용한 쿼리 실행 ……………………………………… 35
복제하기 ……………………………………………………………… 41
정리하면 ……………………………………………………………… 42
CHAPTER 04 핵심 API
서버 44
데이터베이스 ………………………………………………………… 44
문서 51
리비전 ………………………………………………………………………… 53
문서 구체화하기 ……………………………………………………………… 55
복제 58
정리하면 ……………………………………………………………… 61
PART 02 CouchDB로 개발하기
CHAPTER 05 설계 문서
문서 모델링 …………………………………………………………… 66
쿼리 서버 ……………………………………………………………… 67
애플리케이션은 문서다 ……………………………………………… 67
기본 설계 문서 ……………………………………………………… 71
앞으로는 ……………………………………………………………… 72
CHAPTER 06 뷰를 이용한 데이터 검색
뷰는 무엇인가? ……………………………………………………………… 75
효율적인 탐색 ………………………………………………………… 79
단일 탐색 …………………………………………………………………… 80
다중 탐색 …………………………………………………………………… 80
반전된 결과 …………………………………………………………………… 82
포스트의 댓글 조회 뷰 ……………………………………………… 84
Reduce/Rereduce ……………………………………………… 86
학습 교훈 …………………………………………………………………… 90
정리하면 ……………………………………………………………… 90
CHAPTER 07 유효성 체크 함수
문서 유효성 체크 함수 ……………………………………………… 93
유효성 검사의 컨텍스트 …………………………………………… 95
유효성 체크 함수 작성 ……………………………………………… 96
타입 …………………………………………………………………………… 96
필수 필드 ……………………………………………………………………… 99
타임스탬프 ………………………………………………………………… 100
저작권 인증 ………………………………………………………………… 101
정리하면 ……………………………………………………………… 102
CHAPTER 08 Show 함수
Show 함수 API …………………………………………………… 105
부작용 해소 ………………………………………………………… 107
설계 문서 …………………………………………………………… 107
Show 함수 쿼리하기 ……………………………………………… 108
설계 문서 리소스 …………………………………………………………… 109
쿼리 파라미터 ……………………………………………………………… 110
Accept 헤더 ………………………………………………………………… 110
Etags ………………………………………………………………… 111
함수와 템플릿 ……………………………………………………… 112
!json 매크로 ………………………………………………………………… 113
!code 매크로 ……………………………………………………………… 114
Shows 살펴보기 …………………………………………………… 115
템플릿 사용하기 …………………………………………………… 115
템플릿 작성 ………………………………………………………… 117
CHAPTER 09 리스트 함수를 이용한 뷰 변환
List 함수의 파라미터 ……………………………………………… 120
List 함수 예제 ……………………………………………………… 122
리스트 이론 ………………………………………………………… 124
리스트 쿼리하기 …………………………………………………… 126
리스트, Etags, 캐싱 ……………………………………………… 128
PART 03 CouchDB 예제 애플리케이션
CHAPTER 10 단독 실행형 애플리케이션
올바른 버전의 사용 ………………………………………………… 132
이동 가능한 자바스크립트 ………………………………………… 133
애플리케이션은 문서다 …………………………………………… 134
단독 실행형 ………………………………………………………… 136
정글에는 ……………………………………………………………… 136
정리하면 ……………………………………………………………… 144
CHAPTER 11 설계 문서 관리
예제 애플리케이션 살펴보기 ……………………………………… 145
CouchApp 설치하기 …………………………………………… 146
CouchApp 사용하기 …………………………………………… 147
소파 소스 코드 다운로드 ………………………………………… 148
CouchApp 복제 …………………………………………………………… 149
ZIP과 TAR 파일 …………………………………………………………… 149
GitHub의 소파 개발 커뮤니티에 참여하기 …………………………… 149
소파 소스 트리 ……………………………………………………………… 150
소파 배포하기 ……………………………………………………… 154
CouchDB에 소파 배포하기 ……………………………………………… 154
애플리케이션 방문하기 …………………………………………………… 155
관리자 계정 생성 …………………………………………………… 155
안전한 CouchDB에 배포하기 …………………………………………… 156
.couchapprc를 통해 CouchApp 구성하기 ……………… 157
CHAPTER 12 문서 저장
JSON 문서 포맷 …………………………………………………… 161
_id와 _rev 너머: 여러분의 문서 데이터가 있다 ……………… 163
편집 페이지 ………………………………………………………… 165
HTML 기반 ………………………………………………………………… 166
문서 저장하기 ……………………………………………………… 168
유효성 체크 ………………………………………………………………… 172
첫 번째 블로그 포스트 저장하기 ………………………………………… 174
정리하면 ……………………………………………………………… 175
CHAPTER 13 문서에 사용자 정의 포맷 적용하기
Show 함수로 문서 렌더링하기 ………………………………… 178
포스트 페이지 템플릿 ……………………………………………………… 179
동적 날짜 표시 ……………………………………………………… 181
CHAPTER 14 블로그 포스트 목록 보기
최근에 작성한 블로그 포스트의 Map 함수 …………………… 184
List 함수를 사용해 HTML 뷰 렌더링하기 …………………… 186
Sofa의 리스트 함수 ……………………………………………………… 186
최종 결과 …………………………………………………………………… 192
PART 04 CouchDB 예제 애플리케이션
CHAPTER 15 스케일링 기본
스케일링 읽기 요청 ………………………………………………… 196
스케일링 쓰기 요청 ………………………………………………… 197
스케일링 데이터 …………………………………………………… 197
첫 번째 기본 ………………………………………………………… 198
CHAPTER 16 복제
복제의 마술 ………………………………………………………… 200
관리자 인터페이스를 이용한 쉬운 복제 ………………………… 201
복제 해부하기 ……………………………………………………… 202
지속적인 복제 ……………………………………………………… 203
이게 전부? ………………………………………………………… 204
CHAPTER 17 충돌 관리
스플릿 브레인(Split Brain) ……………………………………… 207
예제를 통한 충돌 해결 …………………………………………… 208
충돌을 고려한 작업 ………………………………………………… 212
결정론적 리비전 ID ………………………………………………… 215
정리하면 ……………………………………………………………… 216
CHAPTER 18 로드 밸런싱
백업하기 ……………………………………………………………… 217
CHAPTER 19 클러스터링
CouchDB 라운지 소개 ………………………………………… 222
일관된 해싱 ………………………………………………………… 222
잉여 저장소 ………………………………………………………………… 224
잉여 프록시 ………………………………………………………………… 224
뷰 결합 ……………………………………………………………………… 224
클러스터 증가 ……………………………………………………… 225
파티션 이동 ………………………………………………………………… 227
파티션 분할 ………………………………………………………………… 228
PART 05 레퍼런스
CHAPTER 20 변경 알림
변경사항 폴링 ……………………………………………………… 233
롱 폴링 ……………………………………………………………… 235
지속적인 변경사항 폴링 …………………………………………… 236
필터 ………………………………………………………………… 237
정리하면 …………………………………………………………… 239
CHAPTER 21 SQL Jockey를 위한 뷰 쿡북(Cookbook)
뷰 사용하기 ………………………………………………………… 241
뷰 정의 ……………………………………………………………………… 242
뷰 쿼리하기 ………………………………………………………………… 243
맵리듀스 함수 ……………………………………………………………… 243
키로 데이터 검색 …………………………………………………… 245
접두어로 데이터 검색 ……………………………………………… 246
집계 함수 …………………………………………………………… 247
유일한 값 얻기 ……………………………………………………… 249
유일성 강제하기 …………………………………………………… 252
CHAPTER 22 보안
관리자 파티 ………………………………………………………… 255
새로운 관리자 사용자 생성 ……………………………………………… 256
비밀번호 해싱 ……………………………………………………………… 258
기본 인증 …………………………………………………………… 259
유효성 체크 재변경 ……………………………………………………… 260
쿠키 인증 …………………………………………………………… 261
네트워크 서버 보안 ………………………………………………… 263
CHAPTER 23 고성능
좋은 벤치마크의 중요성 …………………………………………… 265
고성능 CouchDB ………………………………………………… 268
하드웨어 …………………………………………………………………… 268
실행에 관한 참조 ………………………………………………………… 268
대량 데이터 추가와 거의 변경되지 않는 DocID …………… 269
최적화된 예제: 뷰와 복제 ………………………………………………… 269
대용량 문서 저 ……………………………………………………… 270
배치 모드 …………………………………………………………… 271
단일 문서 저장 ……………………………………………………… 272
호버크라프트 ………………………………………………………… 273
트레이드-오프 ……………………………………………………… 274
그러나 팀장은 수치로 증명하길 원해 …………………………………… 275
실전 대비 …………………………………………………………………… 276
CHAPTER 24 레시피
은행 업무 …………………………………………………………… 277
은행원 여러분, 지우개는 사용하지 맙시다 …………………………… 278
정리하면 ……………………………………………………………………… 281
리스트 정렬 ………………………………………………………… 281
정수 리스트 ………………………………………………………………… 282
실수 리스트 ………………………………………………………………… 284
페이징 처리 ………………………………………………………… 286
예제 데이터 ………………………………………………………………… 286
페이징 처리 로직 ………………………………………………………… 288
느린 페이징 처리(사용 금지) …………………………………………… 289
빠른 페이징(사용 권장) …………………………………………………… 291
페이지 이동 ………………………………………………………………… 292
PART 06 부록
APPENDIX A 유닉스 계열의 시스템에 CouchDB 설치하기
데비안 GNU/리눅스 ……………………………………………… 297
우분투(Ubuntu) …………………………………………………… 297
젠투(Gentoo) 리눅스 …………………………………………… 298
문제 해결 …………………………………………………………… 298
APPENDIX B 맥 OS X에 CouchDB 설치하기
CouchDBX ………………………………………………………… 299
Homebrew ………………………………………………………… 299
MacPorts ………………………………………………………… 300
APPENDIX C 윈도우에 CouchDB 설치하기
APPENDIX D 소스로 CouchDB 설치하기
의존성 ……………………………………………………………… 305
(우분투를 포함한) 데비안 기반 시스템 ………………………………… 306
맥 OS X …………………………………………………………………… 306
설치 307
보안에 대한 고려사항 …………………………………………… 308
수작업 실행 ………………………………………………………… 309
데몬으로 실행하기 ………………………………………………… 310
SysV/BSD 스타일 시스템 ……………………………………………… 310
맥 OS X ……………………………………………………………………… 311
문제 해결 …………………………………………………………… 312
책속에서
CouchDB는 느슨하거나 일시적인 연결을 사용하는 자립적인(self-contained) 데이터 모델을 가지고 있는데, 이 모델은 실무에서의 계약서, 주문서, 영수증 등과 같은 다양한 형태의 정보들을 처리하는데 적합하며 또한 CouchDB가 많은 종류의 데이터를 손쉽게 처리할 수 있다는 것을 알게 될 것이다. 이 책을 통해서 여러분은 RESTful 웹 인터페이스를 통해 CouchDB가 어떻게 동작하는지를 배울 것이며 또한 문서의 간단한 CRUD(create, read, update, delete)와 맵리듀스, 개선된 배포를 비롯한 다양한 핵심 기능들에 대해 익숙해 질 것이다.