logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

카산드라 따라잡기

카산드라 따라잡기

(150가지 예제로 배우는 NoSQL 카산드라 설계와 성능 최적화)

에드워드 카프리올로 (지은이), 이두희, 이범기, 전재호 (옮긴이)
  |  
에이콘출판
2013-02-28
  |  
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 27,000원 -10% 0원 1,500원 25,500원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

카산드라 따라잡기

책 정보

· 제목 : 카산드라 따라잡기 (150가지 예제로 배우는 NoSQL 카산드라 설계와 성능 최적화)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9788960774049
· 쪽수 : 404쪽

책 소개

풍부한 예제들을 통해, 기본적으로 카산드라를 설치하고 구성하는 방법부터, 카산드라의 성능을 최적화하고 분산 처리하는 방법까지 매우 광범위한 내용을 다룬다.

목차

1장 시작하기
___들어가며
___하나의 노드로 구성된 간단한 카산드라 설치하기
___커맨드라인을 이용해 테스트 데이터 읽고 쓰기
___하나의 머신에서 여러 개의 인스턴스 실행하기
___다중 인스턴스 설치를 스크립트로 처리하기
___빌드 및 테스트 환경 갖추기
___디버깅 가능하도록 포어그라운드에서 실행하기
___임의 파티셔너에 사용할 이상적인 초기 토큰 구하기
___순서 보존 파티셔너에 사용할 초기 토큰들 선택하기
___카산드라와 JConsole 이해하기
___SOCKS 프록시를 이용해 JConsole과 연결하기
___자바와 스리프트로 카산드라에 연결하기
___CLI를 이용하여 카산드라에 연결하기

2장 커맨드라인 인터페이스
___CLI에서 키스페이스 생성하기
___CLI에서 컬럼 패밀리 만들기
___키스페이스 상세 정보 보기
___CLI를 이용하여 데이터 기록하기
___CLI를 이용하여 데이터 읽기
___CLI에서 로우와 컬럼 지우기
___컬럼 패밀리에 있는 모든 로우의 목록 보기
___키스페이스와 컬럼 패밀리 삭제하기
___CLI에서 슈퍼 컬럼 다루기
___assume 명령어로 컬럼 이름과 컬럼 값 디코드하기
___컬럼을 삽입할 때 TTL값 넣기
___CLI 내장 함수들 사용하기
___컬럼 메타데이터와 컴패러터 사용으로 타입 정하기
___CLI의 일관성 레벨 바꾸기
___CLI에서 도움말 보기
___파일에서 CLI 명령어 불러오기

3장 API
___들어가며
___카산드라 서버에 연결하기
___클라이언트에서 키스페이스와 컬럼 패밀리 생성하기
___MultiGet을 이용하여 라운드 트립과 오버헤드 제한하기
___임베디드 카산드라 서버를 이용하여 유닛 테스트 작성하기
___유닛 테스트 전에 데이터 디렉토리 비우기
___다양한 언어를 위한 스리프트 바인딩 생성 (C++, PHP 등)
___카산드라 스토리지 프록시, 팻 클라이언트(Fat Client) 사용하기
___범위 검색을 이용하여 오래된 데이터를 검색하고 삭제하기
___큰 키에 대해 모든 컬럼 탐색하기
___컬럼 순서 뒤바꾸기
___데이터 삽입 성능을 향상시키고 코드를 견고하게 하기 위해 배치 뮤테이션 사용하기
___TTL을 이용하여 자가 탐지 시간이 있는 컬럼 만들기
___2차 인덱스 이용하기

4장 성능 튜닝
___들어가며
___운영체제와 배포판 선택하기
___JVM 선택하기
___커밋 로그 전용 디스크 사용하기
___RAID 레벨 설정하기
___하드디스크 성능 개선을 위한 파일시스템 최적화
___키 캐시로 읽기 성능 개선하기
___로우 캐시로 읽기 성능 개선하기
___예측 가능한 성능을 위한 스왑 메모리 비활성화
___시스템 설정을 건드리지 않은 채 카산드라에서만 스왑 메모리 사용하지 않게 하기
___메모리 맵 디스크 모드 활성화하기
___쓰기집약적 작업에 맞는 멤테이블 튜닝
___64비트 아키텍처에서 압축된 포인터 사용으로 메모리 절약하기
___처리량 증가를 위한 동시접근 읽기와 동시접근 쓰기 튜닝
___컴팩션 한계값 설정하기
___JVM 멈춤 현상을 최소화하는 가비지 컬렉션 튜닝
___여러 클라이언트의 연결을 허용하기 위해 동시에 열 수 있는 파일 개수 올리기
___규모를 확대해서 성능 개선하기
___서버와 클라이언트에 네트워크 타임 프로토콜 활성화하기

5장 카산드라에서의 일관성, 가용성, 파티션 허용
___들어가며
___강한 일관성 보장을 위해 공식 이용하기
___쓰기 작업시 타임스탬프 설정하기
___힌트 핸드오프 비활성화하기
___성능 향상을 위해 읽기 수리 확률 조절하기
___클러스터들 사이에서 같은 스키마 레벨 보장하기
___Quorum에 맞추기 위해 복제 계수 조절하기
___지연시간이 짧아야 하는 작업을 위해 쓰기 일관성 ONE, 읽기 일관성 ONE 사용하기
___강한 일관성을 위해 쓰기 일관성 QUORUM, 읽기 일관성 QUORUM 사용하기
___쓰기 일관성 QUORUM, 읽기 일관성 ONE 두 레벨을 섞어서 사용하기
___일관성 ALL을 사용하여 가용성보다 일관성을 우위에 두기
___쓰기 일관성 ANY를 사용하여 일관성보다 가용성을 우위에 두기
___일관성이 락이나 트랜잭션과 다르다는 것을 보이기

6장 스키마 디자인
___들어가며
___짧은 컬럼 이름을 사용하여 용량 줄이기
___작은 인덱스 크기를 위해 데이터를 큰 컬럼으로 직렬화하기
___시계열 자료를 효과적으로 저장하기
___중첩 구조 맵을 사용하기 위해서 슈퍼 컬럼 사용하기
___디스크 용량을 절약하고 성능을 개선하기 위하여 복제 계수 낮추기
___순서 보존 파티셔너를 사용한 하이브리드 랜덤 파티셔너
___큰 데이터 저장하기
___카산드라로 분산 캐싱하기
___크기가 크거나 자주 접근하지 않는 데이터를 따로 분리된 컬럼 패밀리에 저장하기
___카산드라에서 에지 그래프 데이터 저장 및 검색하기
___이차 데이터 정렬 방법과 인덱스 만들기

7장 관리
___가십 통신을 위한 시드 노드 정의하기
___노드툴 Move: 노드를 특정한 링 위치로 옮기기
___노드툴 Remove: 정지된 노드 제거하기
___노드툴 Decommission: 작동중인 노드 제거하기
___자동 부트스랩을 중지해 노드를 빠르게 추가하기
___새로운 하드웨어에 데이터 디렉토리 복사하기
___데이터 복사를 통해 노드 추가하기
___노드툴 Repair: 안티엔트로피 수리를 언제 사용해야 하는가
___노드툴 Drain: 업그레이드시 파일 보호하기
___빠른 툼스톤 cleanup을 위해 gc_grace 낮추기
___메이저 컴팩션 스케줄링 하기
___백업을 위해 노드툴 snapshot 사용하기
___노드툴 clearsnapshot을 이용해 스냅샷 전부 지우기
___스냅샷으로부터 복원하기
___sstable2json을 이용하여 데이터를 JSON으로 내보내기
___노드툴 cleanup: 불필요한 데이터 제거하기
___노드툴 compact: 데이터 조각모음 및 삭제된 데이터 디스크에서 제거하기

8장 다수의 데이터센터 사용하기
___디버깅 환경을 수정하여 읽기가 라우팅되는 위치 알아보기
___IPTable을 이용해서 로컬 환경에서 복잡한 네트워크 시나리오 시뮬레이션 해보기
___RackInferringSnitch에 사용할 IP주소 결정하기
___다수의 데이터센터에 설치하기 위한 스크립트 작성하기
___주어진 키에 대해 랙, 데이터센터와 엔드포인트 찾기
___프로퍼티 파일 스니치를 사용해 임의로 랙과 데이터센터 설정값 명시하기
___JConsole을 사용해 다이나믹 스니치 오류 해결하기
___다수의 데이터센터 환경에서 Quorum 레벨 사용하기
___Traceroute를 사용해서 네트워크 기기 간 지연 시간 개선하기
___여러 개의 랙 사용시 스위치간 대역폭 확보하기
___데이터센터간 지연 시간 개선을 위해 rpc_timeout값 올리기
___다수 데이터센터 환경에서 CLI를 이용한 일관성 레벨 테스트
___일관성 레벨 TWO와 THREE 사용해보기
___네트워크 토폴로지 전략과 임의 파티셔너에 사용하는 이상적인 초기 토큰 지정하기

9장 코딩과 내부구조
___들어가며
___공통 개발 툴 설치하기
___소스코드에서 카산드라 빌드하기
___기본 타입을 서브클래스화하여 새로운 타입 만들기
___데이터 삽입시 데이터 밸리데이션하기
___IRC와 이메일을 활용해 카산드라 개발자들과 연락하기
___서브버전의 diff 기능 활용하기
___패치 명령의 diff 기능 활용하기
___Strings와 od 명령어를 통하여 데이터 파일 검색하기
___Sstable2json 내보내기 유틸리티 커스터마이징
___메모리 사용량을 낮춰주는 인덱스 인터벌 기간 설정하기
___불안정한 네트워크를 위하여 phi_convict_threshold 값 올리기
___카산드라 메이븐 플러그인 사용하기

10장 라이브러리와 애플리케이션
___들어가며
___벤치마킹을 위한 contrib 스트레스 툴 빌드하기
___Stress 툴을 사용해서 데이터를 삽입하고 읽기
___야후 클라우드 서빙 벤치마크 실행하기
___카산드라를 위한 하이레벨 클라이언트 헥토르
___헥토르를 이용하여 일괄처리하기
___카산드라와 자바 퍼시스턴스 아키텍처
___카산드라를 사용하는 텍스트 인덱싱 프로그램 솔란드라 설정하기
___트랜잭션 잠금을 위한 케이지를 지원하도록 주키퍼 설치하기
___케이지를 사용하여 원자성을 만족하는 읽기와 쓰기 구현하기
___CLI의 대안책, 그루반드라 사용하기
___로그산드라를 이용한 검색 가능한 로그 스토리지

11장 하둡과 카산드라
___들어가며
___임의의 형태의 하둡 클러스터 설치하기
___ColumnFamilyInputFormat을 이용하여 카산드라로부터 데이터를 읽는 맵핑 프로그램
___CassandraOutputFormat을 이용하여 카산드라에 데이터를 쓰는 맵핑 프로그램
___맵리듀스를 이용하여 카산드라의 입출력을 그룹화하고 카운팅하기
___카산드라 스토리지 핸들러를 지원하는 하이브 구성하기
___카산드라 컬럼 패밀리 위에 하이브 테이블 정의하기
___하이브를 이용하여 두 개의 컬럼 패밀리 조인하기
___하이브를 이용하여 컬럼의 값을 그룹짓고 그 수를 세기
___카산드라 노드와 하둡 태스크트래커 함께 이용하기
___맵리듀스 작업을 위한 '섀도우' 데이터센터 구성하기
___카산드라, 하둡, 하이브로 구성된 스택인 데이터스택스 브리스크 구성하기

12장 성능 통계 수집 및 분석
___노드툴 tpstats를 이용하여 병목 지점 찾기
___노드툴 cfstats를 이용하여 컬럼 패밀리 통계 얻기
___CPU 사용량 모니터링
___읽기/쓰기 그래프를 추가하여 활동 중인 컬럼 패밀리 찾기
___멤테이블 그래프를 사용하여 멤테이블이 언제, 왜 디스크에 기록되는지 알아보기
___SSTable 개수 그래프화하기
___디스크 사용량 모니터링 및 성능의 기초선 갖기
___캐시 그래프를 사용하여 캐시의 유효성 확인하기
___그래프를 사용하여 컴팩션 모니터링하기
___노드툴 컴팩션 stats를 사용하여 컴팩션의 진척도 알아보기
___컬럼 패밀리에 대한 통계 그래프를 통하여 로우 크기의 평균과 최대값 알아보기
___지연시간 그래프를 사용하여 키를 검색하는 데 드는 시간 측정하기
___컬럼 패밀리의 시간에 따른 크기 트래킹하기
___쿼리 지연시간의 분포를 알아보기 위하여 노드툴 cfhistograms 사용하기
___열려있는 네트워크 연결 트래킹하기

13장 카산드라 서버 모니터링
___들어가며
___Log4j 로그를 중앙 서버로 보내기
___전체적 성능 파악을 위하여 top 사용하기
___현재 디스크 성능 파악을 위하여 iostat 사용하기
___시간에 따른 성능 파악을 위하여 sar 사용하기
___카산드라 JMX에 접근하기 위하여 JMXTerm 사용하기
___가비지 컬렉션 이벤트 모니터링
___병목 지점 판단을 위하여 tpstats 명령 사용하기
___카산드라를 위한 나기오스 체크 스크립트 작성하기
___컴팩션 리미트 값을 사용하여 대용량의 로우 주시하기
___IPTraf를 사용하여 네트워크 트래픽 검토하기
___드랍된 메시지 찾아보기
___컬럼 패밀리에 위험한 조건이 적용되어 있는지 여부 확인하기

저자소개

에드워드 카프리올로 (지은이)    정보 더보기
Media6degrees 사에서 인터넷 광고 업계를 위한 분산 데이터 저장 시스템을 설계하고 유지하는 시스템 관리자로 일한다. 아파치 소프트웨어 재단의 구성원이자 하둡-하이브 프로젝트의 커미터로 활동 중이다. 그는 리눅스 및 네트워크 관리자뿐만 아니라 개발자로서의 경력을 가지고 있으며 오픈소스 소프트웨어의 다양한 세상을 즐기고 있다.
펼치기
이두희 (옮긴이)    정보 더보기
서울대학교 컴퓨터 공학부를 졸업했고, 현재 동대학교 박사과정에 재학 중이다. 2007년 서울대학교 웹 개발 동아리 와플스튜디오를 창설했고, 초대회장을 역임했다. 서울대학교 강의 평가 서비스를 개발했고, 현재 서비스를 총괄한다. 와플스튜디오 외에 울트라캡숑, 멋쟁이 사자처럼 등을 설립했다. 에이콘출판사에서 펴낸 『아이폰 액세서리 디바이스 개발』(2011)을 공역했다.
펼치기
이범기 (옮긴이)    정보 더보기
서울대학교 컴퓨터공학부에 재학 중이며 졸업을 앞두고 있다. 2009년부터 와플스튜디오에서 활동하면서 5대 회장을 역임헸고, 웹 개발 및 안드로이드 개발에 참여하고 있다. 데이터베이스 및 분산처리에 관심이 많으며, 현재 새로이 재미있는 서비스를 준비하고 있다.
펼치기
전재호 (옮긴이)    정보 더보기
서울대학교 컴퓨터공학부에 재학 중이며, 사용자들을 위한 맛있는 서비스를 만드는 동아리 와플스튜디오에서 7대 회장으로 활동하고 있다. HTML5의 새 기능들을 활용하는 'Infinite Wall-Ideas that scale'이라는 프로젝트에서 웹 개발에 참여하고 있으며, 확장 가능한 서버를 구성하기 위해 플레이(Play) 프레임워크 와 카산드라를 활용하고 있다. 아직 국내에 많이 도입되지 않은 함수형 언어의 가능성과 점차 방대해지는 데이터를 처리하기 위한 새로운 기술들에 관심이 많다. 피아노 재즈를 사랑하며 하루라도 음악을 듣지 않으면 불안할 정도이나, 아무래도 악기에는 재주가 없다는 사실을 깨닫고 잘 할 수 있는 일에 집중하기로 마음을 먹었다.
펼치기

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책