000 | 00000cam c2200205 c 4500 | |
001 | 000045857812 | |
005 | 20170124164225 | |
007 | ta | |
008 | 160120s2015 ulka 001c kor | |
020 | ▼a 9791186978368 ▼g 93560 | |
035 | ▼a (KERIS)BIB000013957460 | |
040 | ▼a 241050 ▼c 241050 ▼d 244002 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 4 | ▼a 005.7565 ▼2 23 |
085 | ▼a 005.7565 ▼2 DDCK | |
090 | ▼a 005.7565 ▼b 2015z1 | |
100 | 1 | ▼a Sullivan, Dan |
245 | 1 0 | ▼a NoSQL 철저 입문 = ▼x Perfect introduction to NoSQL / ▼d 댄 설리번 지음 ; ▼e 홍형경 옮김 |
246 | 1 9 | ▼a NoSQL for mere mortals |
260 | ▼a 서울 : ▼b 길벗, ▼c 2015 | |
300 | ▼a 472 p. : ▼b 삽화 ; ▼c 24 cm | |
500 | ▼a NoSQL 세상을 이해하고 최적의 NoSQL을 선택하자 | |
500 | ▼a 부록: 1. 연습문제 정답, 2. NoSQL 데이터베이스 목록, 3. 용어 해설 | |
500 | ▼a 색인수록 | |
650 | 0 | ▼a Non-relational databases |
650 | 0 | ▼a Database management |
650 | 0 | ▼a Database design |
700 | 1 | ▼a 홍형경, ▼e 역 |
900 | 1 0 | ▼a 설리번, 댄, ▼e 저 |
소장정보
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.7565 2015z1 | 등록번호 121238898 | 도서상태 대출중 | 반납예정일 2021-02-03 | 예약 예약가능 | 서비스 |
No. 2 | 소장처 세종학술정보원/과학기술실/ | 청구기호 005.7565 2015z1 | 등록번호 151327522 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.7565 2015z1 | 등록번호 121238898 | 도서상태 대출중 | 반납예정일 2021-02-03 | 예약 예약가능 | 서비스 |
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 세종학술정보원/과학기술실/ | 청구기호 005.7565 2015z1 | 등록번호 151327522 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
이 책은 관계형 데이터베이스를 NoSQL로 대체해야 한다고 주장하지 않는다. 왜 NoSQL이 탄생하게 되었는지, 어떤 점이 NoSQL의 강점인지 설명한다. 그리고 관계형 데이터베이스는 여전히 필요하지만, 엄청난 양의 데이터를 좀 더 효율적으로 저장하고 관리하기 위해 NoSQL의 도움이 필요하다고 이야기한다.
HBase, 카산드라, 몽고DB, Neo4j, 레디스 등 유명한 NoSQL 데이터베이스는 많다. 하지만 어떤 것이 각자의 애플리케이션에 가장 적합한 모델인지 제대로 아는 사람은 적다.
이 책은 NoSQL 데이터베이스 세상을 제대로 알고자 하는 개발자와 설계자를 위해 쓰였다. 다양한 NoSQL 데이터베이스를 구조와 특성에 따라 네 가지 유형으로 나누고 각 유형을 비교하며 장단점을 알아본다. 또한, 현업에서 부딪힌 어려움을 어떻게 해결해야 할지, 효과적으로 설계하는 팁도 사례 연구를 통해 설명한다.
효율적인 빅데이터 처리 시스템, NoSQL
유형별로 분석한 철저 가이드!
빅데이터를 효과적으로 처리하자!
SNS의 등장과 스마트폰의 대중화로 새로운 형태의 데이터가 수억 건씩 매일 쏟아진다. 분산 처리, 스키마리스, 고가용성, 고확장성 등 NoSQL 유형별 특성과 관계형 데이터베이스의 장점을 활용하면 빅데이터를 효과적으로 처리할 수 있다.
네 가지 유형으로 분석했다!
지금까지 나온 NoSQL 데이터베이스를 분석해 키-값 데이터베이스, 문서 데이터베이스, 컬럼 패밀리 데이터베이스, 그래프 데이터베이스로 나누어 설명한다. 유형별로 기본 개념과 구조, 특성을 소개하고 설계 시 노하우도 담았다. 또한, 연습문제를 통해 각 개념을 철저하게 학습한다.
최적의 NoSQL을 선택하라!
HBase, 카산드라, 몽고DB, Neo4j, 레디스 등 유명한 모델은 많다. 하지만 나에게 꼭 맞는 모델은 어느 것일까? 어떻게 하면 효과적으로 구현할 수 있을까? 사례 연구를 통해 모델 선택 요령을 실감나게 설명하고, 부록에 데이터베이스 목록과 참조 링크를 따로 정리하여 더 자세히 살펴볼 수 있다.
[출판사 리뷰]
NoSQL 탄생 배경, 다양한 유형의 NoSQL 비교 분석, 효과적으로 설계하는 노하우까지 사례 연구로 설명한다
《NoSQL 철저 입문》은 데이터베이스 개발자와 설계자를 위한 책이다.
이 책은 관계형 데이터베이스를 NoSQL로 대체해야 한다고 주장하지 않는다. 왜 NoSQL이 탄생하게 되었는지, 어떤 점이 NoSQL의 강점인지 설명한다. 그리고 관계형 데이터베이스는 여전히 필요하지만, 엄청난 양의 데이터를 좀 더 효율적으로 저장하고 관리하기 위해 NoSQL의 도움이 필요하다고 이야기한다.
HBase, 카산드라, 몽고DB, Neo4j, 레디스 등 유명한 NoSQL 데이터베이스는 많다. 하지만 어떤 것이 각자의 애플리케이션에 가장 적합한 모델인지 제대로 아는 사람은 적다. 이 책은 NoSQL 데이터베이스 세상을 제대로 알고자 하는 개발자와 설계자를 위해 쓰였다. 다양한 NoSQL 데이터베이스를 구조와 특성에 따라 네 가지 유형으로 나누고 각 유형을 비교하며 장단점을 알아본다. 또한, 현업에서 부딪힌 어려움을 어떻게 해결해야 할지, 효과적으로 설계하는 팁도 사례 연구를 통해 설명한다.
《NoSQL 철저 입문》으로 NoSQL 세상을 이해하고 최적의 NoSQL을 선택하자.
정보제공 :

저자소개
댄 설리번(지은이)
데이터 아키텍트이자 데이터 과학자인 댄 설리번은 비즈니스 인텔리전스, 머신 러닝, 데이터 마이닝, 텍스트 마이닝, 빅데이터, 데이터 모델링, 애플리케이션 설계 분야에 20년 넘게 몸담아 왔다. 복잡한 게노믹스(genomics)와 프로테오믹스(proteomics) 데이터 분석부터 수많은 데이터베이스 애플리케이션 설계와 구현에 이르기까지, 많은 프로젝트를 수행했다. 최근에는 NoSQL 데이터베이스 모델링, 데이터 분석, 클라우드 컴퓨팅, 텍스트 마이닝, 생명과학 분야의 데이터 통합 작업에 집중했다. 관계형 데이터베이스 설계 분야에서 많은 경험이 있어 정기적으로 NoSQL 데이터베이스 관련 작업도 한다. NoSQL, 클라우드 컴퓨팅, 실시간 분석, 데이터 웨어하우징, 비즈니스 인텔리전스를 소재로 많은 글을 쓰고 발표를 했다. 생명과학, 금융, 에너지, 제조, 보건, 보험, 유통, 전력, 이동통신, 제약, 출판 등 수많은 분야에서 일해왔다.
홍형경(옮긴이)
20여 년간 IT 분야에서 프로그래머로 일하며 많은 프로젝트를 수행했다. 최근 10여 년간은 주로 SQL, PL/SQL을 사용한 다수의 프로젝트에 참여했고, 이기종 DBMS에서 오라클로 전환하는 프로젝트를 수행했다. 현재는 오라클 클라우드와 관련된 일을 하고 있다. 저서로는 『뇌를 자극하는 오라클 프로그래밍 SQL&PL/SQL』(한빛미디어, 2008)와 『오라클 SQL과 PL/SQL을 다루는 기술』(길벗, 2015)이 있으며, 『SQL 코딩의 기술』(길벗, 2017), 『NoSQL 철저입문』(길벗, 2015), 『Head First C#』(한빛미디어, 2011), 『Head First Physics』(한빛미디어, 2010), 『Head First JavaScript』(한빛미디어, 2008) 등 다수의 책을 번역했다.

목차
1부 NoSQL 데이터베이스 개요 1장 요구 사항에 따른 데이터베이스의 종류 027 1.1 관계형 데이터베이스 설계 029 전자 상거래 애플리케이션 029 1.2 초기 데이터베이스 관리 시스템 030 플랫 파일 데이터 관리 시스템 030 계층형 데이터 모델 시스템 035 네트워크 데이터 관리 시스템 037 초기 데이터 관리 시스템 요약 039 1.3 관계형 데이터베이스의 혁명 040 관계형 데이터베이스 관리 시스템 041 1.4 NoSQL 데이터베이스의 출현 배경 048 확장성 049 비용 050 유연성 050 가용성 051 1.5 요약 052 1.6 사례 연구 053 1.7 참고자료 054 1.8 참고문헌 054 연습문제 055 2장 다양한 NoSQL 데이터베이스 057 2.1 분산 데이터베이스에서의 데이터 관리 060 영구적인 데이터 저장 060 데이터 일관성 유지 061 데이터 가용성 확보 062 응답 시간ㆍ일관성ㆍ지속성 간의 균형 맞추기 066 CAP 이론: 일관성, 가용성, 그리고 파티셔닝 068 2.2 ACID와 BASE 071 ACID: 원자성, 일관성, 고립성, 지속성 071 BASE: 기본적인 가용성, 소프트 상태, 결과적 일관성 072 결과적 일관성의 유형 073 2.3 NoSQL 데이터베이스의 네 가지 유형 075 키-값 데이터베이스 075 문서 데이터베이스 080 컬럼 패밀리 데이터베이스 083 그래프 데이터베이스 085 2.4 요약 088 2.5 참고자료 089 2.6 참고문헌 090 연습문제 091 2부 키-값 데이터베이스 3장 키-값 데이터베이스 소개 093 3.1 배열에서 키-값 데이터베이스까지 095 배열: 보조 바퀴를 단 키-값 저장 구조 095 연관 배열: 보조 바퀴를 떼어버리자 097 캐시: 자전거에 기어를 달자 097 메모리와 디스크 키-값 데이터베이스: 자전거에서 오토바이로 100 3.2 키-값 데이터베이스의 핵심 특징 102 단순성: 복잡한 데이터 모델이 필요한 사람은 없다 102 속도: 빠를수록 좋다 103 확장성: 빠른 속도를 유지하라 105 3.3 키: 의미 없는 값을 가진 식별자, 그 이상인 존재 112 키 생성 방법 112 키를 사용해 값을 가져오기 114 3.4 값: 원하면 어떤 데이터든지 저장한다 118 값은 엄격한 데이터 타입을 요구하지 않는다 118 값 검색의 한계 119 3.5 요약 121 3.6 참고자료 122 3.7 참고문헌 123 연습문제 124 4장 키-값 데이터베이스 용어 정리 125 4.1 키-값 데이터베이스 데이터 모델링 용어 127 키 129 값 131 이름공간 131 파티션 133 파티션 키 135 스키마리스(스키마가 없는 데이터구조) 135 4.2 키-값 아키텍처 용어 137 클러스터 137 링 139 복제 140 4.3 키-값 데이터베이스 구현에 관한 용어 141 해시 함수 142 해시 충돌 143 압축 144 4.4 요약 145 4.5 참고자료 146 연습문제 147 5장 키-값 데이터베이스 설계 149 5.1 키 설계와 파티셔닝 151 키는 명명규칙을 따라야 한다 151 잘 설계된 키는 코드의 양을 줄여준다 152 값의 범위 처리 153 구현 상 제약을 고려해 키를 만들어야 한다 154 파티셔닝에서 키를 어떻게 사용할까? 155 5.2 구조화된 값 설계 156 구조화된 데이터 유형은 대기 시간을 줄이는 데 도움이 된다 157 값이 크면 읽기와 쓰기 연산이 비효율적일 수 있다 160 5.3 키-값 데이터베이스의 한계 163 키만으로 값 조회하기 163 범위 질의를 지원하지 않는 키-값 데이터베이스 164 관계형 데이터베이스의 SQL과 필적할 만한 표준 질의 언어의 부재 164 5.4 키-값 데이터베이스를 위한 설계 패턴 165 TTL 키 166 테이블 모방 167 집계 169 원자적 집계 171 열거형 키 172 인덱스 172 5.5 요약 174 5.6 사례 연구: 모바일 애플리케이션을 위한 키-값 데이터베이스 구성 175 5.7 참고자료 178 연습문제 179 3부 문서 데이터베이스 6장 문서 데이터베이스 소개 181 6.1 문서란 무엇인가 183 문서란 그리 간단한 것이 아니다 183 문서와 키-값 쌍 186 컬렉션에서 여러 문서 관리하기 187 6.2 명시적으로 스키마를 정의하지 말자 196 6.3 문서 데이터베이스의 기본 연산 작업 198 컬렉션에 문서 삽입하기 199 컬렉션에 있는 문서 삭제하기 201 컬렉션에 있는 문서 갱신하기 203 컬렉션에서 문서 조회하기 204 6.4 요약 205 6.5 참고자료 206 연습문제 207 7장 문서 데이터베이스 용어 정리 209 7.1 문서와 컬렉션 용어 211 문서 211 컬렉션 213 중첩 문서 214 스키마리스 216 다형적 스키마 219 7.2 파티션 유형 220 수직 파티셔닝 221 수평 파티셔닝과 샤딩 222 7.3 데이터 모델링과 질의 처리 226 정규화 226 비정규화 228 질의 프로세서 229 7.4 요약 230 7.5 참고자료 230 연습문제 232 8장 문서 데이터베이스 설계 233 8.1 정규화와 비정규화, 둘 간에 균형을 맞춘 검색 235 일대다 관계 236 다대다 관계 236 조인의 필요성 237 조인: 관계형 데이터베이스가 짊어진 무거운 짐 238 문서 데이터베이스 모델러는 무엇을 해야 할까? 241 8.2 가변적인 문서 처리 계획 246 너무 커진 문서의 이동 회피 248 8.3 인덱스의 골디락스 존 249 읽기 부하가 큰 애플리케이션 249 쓰기 부하가 큰 애플리케이션 250 8.4 공통 관계 모델링 252 문서 데이터베이스에서 일대다 관계 252 문서 데이터베이스에서 다대다 관계 253 문서 데이터베이스의 계층 관계 모델링 255 8.5 요약 257 8.6 사례 연구: 고객 적하 목록 258 중첩할 것인가? 중첩하지 않을 것인가? 259 인덱스 선택 260 유형별로 컬렉션을 분리해야 할까? 261 8.6 참고자료 261 연습문제 263 4부 컬럼 패밀리 데이터베이스 9장 컬럼 패밀리 데이터베이스 소개 265 9.1 태초에 구글의 빅테이블이 있었다 267 컬럼을 동적으로 제어하기 268 로우, 컬럼 이름, 타임스탬프에 의한 인덱싱 269 데이터의 저장 위치 제어 269 원자적으로 처리되는 로우의 읽기와 쓰기 271 정렬 순서대로 로우 관리하기 272 9.2 키-값 데이터베이스와 문서 데이터베이스의 차이점과 유사점 273 컬럼 패밀리 데이터베이스의 특징 273 컬럼 패밀리 데이터베이스와 문서 데이터베이스 간의 유사점과 차이점 274 컬럼 패밀리 데이터베이스 대 관계형 데이터베이스 276 9.3 컬럼 패밀리 데이터베이스에서 사용되는 아키텍처 280 HBase 아키텍처: 다양한 유형의 노드 280 카산드라 아키텍처: P2P(Peer-to-Peer) 281 용어 살펴보기: 가십 프로토콜 283 열역학과 분산 데이터베이스: 안티-엔트로피가 필요한 이유 285 이것 좀 들고 있어요: 힌트 핸드오프 286 9.4 어떤 경우에 컬럼 패밀리 데이터베이스를 사용하면 좋은가? 289 9.5 요약 290 9.6 참고자료 290 연습문제 291 10장 컬럼 패밀리 데이터베이스 용어 정리 293 10.1 컬럼 패밀리 데이터베이스의 기본 구성 요소 295 키스페이스 295 로우 키 296 컬럼 296 컬럼 패밀리 298 10.2 구조와 프로세스: 컬럼 패밀리 데이터베이스 구현 299 컬럼 패밀리 데이터베이스의 내부 데이터 구조와 구성 매개변수 299 옛 친구: 클러스터와 파티션 300 내부 살펴보기: 또 다른 컬럼 패밀리 데이터베이스 구성 요소 302 10.3 프로세스와 프로토콜 307 복제 307 안티-엔트로피 307 가십 프로토콜 309 힌트 핸드오프 310 10.4 요약 311 10.5 참고자료 311 연습문제 312 11장 컬럼 패밀리 데이터베이스 설계 313 11.1 테이블 설계 지침 316 조인 대신 비정규화 316 값이 없는 컬럼 사용하기 318 컬럼 이름과 컬럼 값을 사용해 데이터 저장하기 318 단일 로우를 이용한 엔터티 모델 319 로우 키에서 핫스팟 회피 320 적당한 수의 컬럼 값 버전 유지 321 컬럼 값에서 복잡한 데이터 구조 회피 322 11.2 인덱스 구성 지침 323 컬럼 패밀리 데이터베이스가 관리하는 보조 인덱스는 언제 사용하면 좋을까? 324 테이블을 이용한 보조 인덱스 생성과 관리 327 11.3 빅데이터를 다루기 위한 도구 330 빅데이터의 추출, 가공, 적재 331 빅데이터 분석 332 빅데이터 모니터링 도구 336 11.4 요약 337 11.5 사례 연구: 고객 데이터 분석 338 사용자 요구 사항 파악 338 11.6 참고자료 340 연습문제 341 5부 그래프 데이터베이스 12장 그래프 데이터베이스 소개 343 12.1 그래프란 무엇인가? 345 12.2 그래프와 네트워크 모델링 346 지리적 위치 모델링 346 전염병 모델링 347 추상적이고 구체적인 엔터티 모델링 349 소셜 미디어 모델링 351 12.3 그래프 데이터베이스의 장점 353 조인을 피하면 더 빠른 질의가 가능하다 353 단순화한 모델링 355 엔터티 간의 여러 관계 356 12.4 요약 357 12.5 참고자료 357 연습문제 358 13장 그래프 데이터베이스 용어 정리 359 13.1 그래프의 구성 요소 361 정점 361 에지 362 경로 364 루프 365 13.2 그래프에서의 연산 작업 366 그래프의 합집합 366 그래프의 교집합 367 그래프의 순회 367 13.3 그래프와 정점의 속성 368 동형성 369 순서와 크기 370 차수 370 근접성 371 매개성 371 13.4 그래프의 유형 372 무방향 그래프와 방향 그래프 372 유동 네트워크 373 이분 그래프 374 다중 그래프 375 가중 그래프 375 13.5 요약 376 13.6 참고자료 377 연습문제 378 14장 그래프 데이터베이스 설계 379 14.1 그래프 설계 시작하기 381 소셜 네트워크 그래프 데이터베이스의 설계 382 질의를 통한 설계 385 14.2 그래프 질의 387 사이퍼: 선언에 의한 질의 387 그렘린: 그래프 순회에 의한 질의 389 14.3 그래프 데이터베이스 설계 팁과 함정 393 검색 시간 향상을 위한 인덱스 사용하기 393 적절한 유형의 에지 사용하기 394 그래프 순회 시 사이클 감시하기 394 그래프 데이터베이스의 확장성 고려하기 396 14.4 요약 397 14.5 사례 연구: 운송 경로 최적화 398 사용자 요구 사항 파악 398 그래프 분석 솔루션 설계 398 14.6 참고자료 400 연습문제 401 6부 애플리케이션에 맞는 데이터베이스 선택하기 15장 데이터베이스 선택하기 403 15.1 NoSQL 데이터베이스 선택하기 405 키-값 데이터베이스 선택 기준 406 문서 데이터베이스 선택 기준과 사용 사례 406 컬럼 패밀리 데이터베이스 선택 기준과 사용 사례 407 그래프 데이터베이스 선택 기준과 사용 사례 409 15.2 NoSQL 데이터베이스와 관계형 데이터베이스 함께 사용하기 410 15.3 요약 412 15.4 참고자료 413 연습문제 415 7부 부록 부록A 연습문제 정답 417 부록B NoSQL 데이터베이스 목록 449 부록C 용어 해설 455