책 이미지
eBook 미리보기
책 정보
· 제목 : 카산드라 따라잡기 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9788960774049
· 쪽수 : 404쪽
· 출판일 : 2013-02-28
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9788960774049
· 쪽수 : 404쪽
· 출판일 : 2013-02-28
책 소개
풍부한 예제들을 통해, 기본적으로 카산드라를 설치하고 구성하는 방법부터, 카산드라의 성능을 최적화하고 분산 처리하는 방법까지 매우 광범위한 내용을 다룬다.
여전히 전통적인 관계형 데이터베이스(RDBMS)는 많은 곳에서 쓰고 있지만, 요즘 가장 핫한 IT 기업들 중 NoSQL을 사용하지 않는 기업은 거의 없다고 해도 과언이 아니다. 이전에는 상상도 할 수 없었던 어마어마한 양의 데이터가 쌓이고 있는 지금 빅데이터와 NoSQL은 오늘날은 대표하는 키워드들이라고도 볼 수 있다.
카산드라(Cassandra)는 페이스북에서 직접 만든 NoSQL 데이터베이스의 대표적인 한 예로, 넷플릭스(Netflix)와 트위터 등에서도 활용하는 것으로 알려져 있다. 이 책에서는 풍부한 예제들을 통해, 기본적으로 카산드라를 설치하고 구성하는 방법부터, 카산드라의 성능을 최적화하고 분산 처리하는 방법까지 매우 광범위한 내용을 다룬다. 독자들은 이 책을 통해 NoSQL 데이터베이스 및 분산처리에 대한 기본적인 지식과 더불어 카산드라의 매우 다양한 모습을 재미있게 배울 수 있을 것이다.
카산드라(Cassandra)는 페이스북에서 직접 만든 NoSQL 데이터베이스의 대표적인 한 예로, 넷플릭스(Netflix)와 트위터 등에서도 활용하는 것으로 알려져 있다. 이 책에서는 풍부한 예제들을 통해, 기본적으로 카산드라를 설치하고 구성하는 방법부터, 카산드라의 성능을 최적화하고 분산 처리하는 방법까지 매우 광범위한 내용을 다룬다. 독자들은 이 책을 통해 NoSQL 데이터베이스 및 분산처리에 대한 기본적인 지식과 더불어 카산드라의 매우 다양한 모습을 재미있게 배울 수 있을 것이다.
목차
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를 사용하여 네트워크 트래픽 검토하기
___드랍된 메시지 찾아보기
___컬럼 패밀리에 위험한 조건이 적용되어 있는지 여부 확인하기
___들어가며
___하나의 노드로 구성된 간단한 카산드라 설치하기
___커맨드라인을 이용해 테스트 데이터 읽고 쓰기
___하나의 머신에서 여러 개의 인스턴스 실행하기
___다중 인스턴스 설치를 스크립트로 처리하기
___빌드 및 테스트 환경 갖추기
___디버깅 가능하도록 포어그라운드에서 실행하기
___임의 파티셔너에 사용할 이상적인 초기 토큰 구하기
___순서 보존 파티셔너에 사용할 초기 토큰들 선택하기
___카산드라와 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를 사용하여 네트워크 트래픽 검토하기
___드랍된 메시지 찾아보기
___컬럼 패밀리에 위험한 조건이 적용되어 있는지 여부 확인하기
추천도서
분야의 베스트셀러 >
분야의 신간도서 >




















