상세 컨텐츠

본문 제목

HBase 인액션: 빅데이터를 위한 NoSQL 데이터베이스

전체 출간 도서

by 비제이퍼블릭 2013. 4. 12. 17:29

본문

 

 

HBase 인액션

 

 

빅데이터를 위한 NoSQL 데이터베이스

 

저자 닉 디미덕, 아만딥 쿠라나

역자 김지훈, 이지훈

출간일 2013429()

정가 30,000

페이지 439

판형 190 x 245

ISBN 978-89-94774-38-1 (93560)

원서정보 HBase in Action

 

 

 

책 소개

 

 

빅데이터를 위한 NoSQL 데이터베이스

 

"쉬운 설명으로 시기 적절하게 HBase를 실제로 적용하는 법에 대해 설명한다."

- 아파치 HBase 프로젝트 관리 위원회 의장, Michael Stack

 

"어려운 주제를 아주 쉽게 설명한다."

- Hibernate Search in Action》의 공저자, John Griffin

 

"주제를 벗어나지 않으면서 재미있게 잘 풀어 썼다."

- APS 헬스케어, Charles Pyle

 

"HBase 방식으로 사고하는 법을 배울 수 있다."

- Menttis, Gianluca Righetto

 

책은 HBase 기반으로 애플리케이션을 구축하고 실제 환경에서 애플리케이션을 실행하는 충분한 지식을 제공하는 것을 목표로 한다. HBase는 대량 데이터를 위한 고속의 랜덤 액세스용으로 설계된 NoSQL 저장 시스템이다. 일반적인 하드웨어에서 기동되며 수십억 개의 로우와 수백만 개의 컬럼으로 쉽게 확장 가능하다. HBase 인액션》은 HBase를 사용하는 애플리케이션을 설계, 구축 및 실행하는 방법을 알려주는 저자의 경험을 바탕으로 한 가이드북다. 먼저 빅 데이터 기초에 대해 소개하고, 그리고 나서 실제 애플리케이션과 코드 샘플 그리고 실용적인 기법을 뒷받침해주는 충분한 이론을 가지고 HBase를 설명한다. 실용적인 HBase 예제들을 살펴봄으로써 여러분이 맵리듀스 프로세싱 프레임워크와 HBase의 장점을 사용할 수 있게 해줄 것이다.

 

 

이 책의 내용

 

언제 그리고 어떻게 HBase를 사용하는가?

실용적인 예제들

확장성 있는 데이터 시스템을 위한 설계 패턴

전개와 통합 그리고 설계

 

이 책은 실제적인 데이터베이스 사용자 가이드다. 이 책이 필요한 주된 독자층은 HBase를 빠르게 살펴보고 싶은 애플리케이션 개발자와 테크니컬 아키텍트다. 이론적인 내용보다는 실용적인 내용을 담고 있고 HBase 내부를 살펴보기보다는 HBase를 사용하는 방법을 대해 더 많이 다루고 있다. 아마도 학생들의 교과서로보다는 개발자 안내서로 더 유용할 것이다. 또한 이 책에서는 HBase 배치와 운영의 기본적인 내용을 다루고 있기 때문에 운영 엔지니어의 입장에서도 좋은 시작점이 될 것이다. (HBase와 관련된 대중 서적은 아직 나오지 않았다.)

 

 

소스코드 다운로드

 

manning.com/HBaseinAction

 

 

독자 대상

 

초중급

 

 

 

저자소개

 

디미덕

2008 그가 참여했던 야간 ETL 작업을 완료하는 20시간 넘게 쓰면서, 우연히 HBase 접하게 되었다. 그때부터 닉은 소셜 미디어, 소셜 게임, 클릭스트림 분석, 기후학, 지리학 데이터의 프로젝트에 하둡과 HBase 사용해오고 있다. 닉은 또한 시애틀의 확장성 모임을 조직하는 것을 돕고 기업활동을 시도했다. 그의 최근 관심 분야는 과학적 데이터에 있어 분산적, 확장적 온라인 액세스이다.

 

아만딥 쿠라나

클라우데라(Cloudera) 솔루션 아키텍트이다. 아만딥은 클라우데라에서 고객들과 하둡과 HBase 채택 라이프사이클 작업을 하고 있는데, 크기에 맞춰 구축된 애플리케이션을 계획하는 데에서부터 구축하고 이용하는 것에 이르는 모든 작업을 하고 있다. 아만딥은 클라우데라에서 일하기 전에는 아마존 서비스에서 엘라스틱 맵리듀스팀의 일원으로 일했다. 아만딥은 대규모 분산 시스템과 정보 관리 경력이 있다.

 

 

 

역자소개

 

김지훈

동국대학교 컴퓨터공학과에서 학사 학위를 받고, 홍익대학교 대학원 컴퓨터 공학과에서 석사 학위(시스템 프로그래밍 전공)를 받았다. LG CNS SW 아키텍트 8년 경력과 KTDS 연구원 2년 경력이 있다. 현재는 KCA에서 감리사로 근무 중이며, GoDev의 서버 사이드 아키텍트로 활동 중이다. 저서로는 《나 홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것》이 있다.

 

 

 

이지훈

컴퓨터시스템응용기술사이자 정보시스템 수석감리원이다. 12년차 자바 개발자로 SDS SK C&C에서 근무했으며, 현재 LG 전자에서 스마트TV 관련 시스템을 운영 중이다. 안드로이드와 아이폰앱 개발자로 활동하고 있고 새로운 기술을 접하길 좋아한다. 저서로는 《나 홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것》이 있다

 

 

 

목차

 

 

PART 1. HBase 기초

 

CHAPTER 1. HBase 소개

데이터 관리 시스템: 충돌 과정

HBase 유즈 케이스와 성공 스토리

헬로우 HBase

요약

 

CHAPTER 2. 시작하기

처음부터 시작하기

데이터 처리

데이터 코디네이트

종합

데이터 모델

테이블 스캔

원자 조작

ACID 문법

요약

 

CHAPTER 3. 분산 HBase, 하둡의 분산 파일시스템(HDFS)과 맵리듀스

맵리듀스에 대한 사례

하둡 맵리듀스 개요

분산 모드의 HBase

HBase와 맵리듀스

종합

확장에 대한 가용성과 신뢰성

요약

 

 

PART 2. 고급 개념

 

CHAPTER 4. HBase 테이블 설계

스키마 설계 방법

HBase 세계에서 비정규화는 진리이다

동일 테이블의 다른 유형 데이터

로우키 설계 전략

입출력 고려사항

관계형에서 비관계형으로

고급 칼럼 패밀리 설정

필터링 데이터

요약

 

CHAPTER 5. 코프로세서를 이용한 HBase 확장

코프로세서의 두 가지 종류

옵저버 구현

엔드포인트 구현

요약

 

CHAPTER 6. 다른 HBase 클라이언트

유닉스에서 HBase 쉘 스크립팅

JRuby를 사용한 HBase 쉘 프로그래밍

REST를 통한 HBase

파이썬에서 HBase Thrift 게이트웨이 사용

Asynchbase: 자바 HBase 클라이언트의 대체

요약

 

 

PART 3. 예제 애플리케이션

 

CHAPTER 7. HBase 적용 사례: OpenTSDB

OpenTSDB 개요

HBase 애플리케이션 설계

HBase 애플리케이션 구현

요약

 

CHAPTER 8. HBase 기반 GIS 확장

공간 데이터 작업

공간 인덱스 설계

최근접 질의 구현

서버 측 작업 수행

요약

 

 

PART 4. HBase 운영

 

CHAPTER 9. HBase 전개

클러스터 계획

소프트웨어 전개

배포판

설정

데몬 관리

요약

 

CHAPTER 10. 운영

클러스터 모니터링

HBase 클러스터 성능

클러스터 관리

백업과 복제

요약

부록 A HBase 시스템 확인

부록 B HDFS 좀 더 알아보기

 

 

 

이 책의 구성

 

 

HBase 인액션’은 크게 네 부분으로 구성되어 있다. 1부와 2부에서는 HBase를 사용하는 방법을 다룰 것이다. 여섯 개의 장을 통해서 HBase를 이용하여 애플리케이션을 만드는 데 필요한 지식을 초보 수준에서 전문가 수준에 걸쳐 모두 다룰 것이다. 이 장들을 학습하면서 스키마 설계, 기본 기능, 그리고 대부분의 고급 기능에 대해 배울 것이다. 가장 중요한 점은 HBase에 대해 생각하는 방법을 배운다는 점이다. 3부의 두 개 장에서는 예제 수준을 넘어선 애플리케이션을 이용하여 학습할 것이고 이를 통해 HBase를 사용하는 실제 애플리케이션을 맛보게 될 것이다. 4부는 우리의 애플리케이션을 완벽한 기능을 가진 시스템의 프로토타입으로 만드는 것을 목표로 한다.

 

1장에서는 하둡과 HBase, NoSQL의 일반적인 사항들을 소개한다. 여기서는 HBase가 다른 NoSQL 데이터베이스와 다른 점 또는 같은 점을 설명한다. 이는 HBase가 프로젝트 또는 회사에 적용할 만한 적절한 기술인지를 판단하는 데 도움을 줄 것이다. 1장에서는 간단하게 HBase를 설치해보고 데이터를 저장해볼 것이다.

 

2장에서는 샘플 애플리케이션의 제작에 착수할 것이다. 이 예제를 통해서 HBase를 사용하는 기본 방법을 살펴볼 것이다. 테이블을 만들고, 데이터를 저장하고, 탐색하는 방법을 배우고, HBase 데이터 모델을 모두 다룰 것이다. 또한 HBase에 데이터가 저장되는 방법을 이해하기 위해 HBase 내부를 살펴볼 것이고, 이러한 지식을 이용해 애플리케이션에서 만드는 방법을 배울 것이다.

 

3장에서는 분산 시스템으로서의 HBase를 다시 살펴볼 것이다. 이 장에서는 HBase와 하둡, 주키퍼의 관계를 알아보고, HBase의 분산 아키텍처와 HBase가 강력한 분산 데이터 시스템으로 전환되는 방법을 배울 것이다. 여기서 하둡 맵리듀스를 가지고 HBase를 사용하는 예제를 직접 수행할 수 있을 것이다.

 

4장에서는 HBase 스키마 설계에 집중할 것이다. 우리는 이 복잡한 주제를 예제 애플리케이션을 통해서 설명할 것이다. 테이블 설계가 애플리케이션에 미치는 영향과 일반적으로 저지를 수 있는 실수들을 피하는 방법을 배울 것이다. 서버 측에 필터를 사용하여 불완전한 스키마 설계를 피해서 작업하는 방법을 배울 것이다. 또한 여기서 우리가 가지고 있는 관계형 데이터베이스 지식을 HBase 세계와 연관시켜 보여줄 것이다. 그리고 HBase의 물리적 설정에 대한 고급 내용을 다룰 것이다.

 

5장에서는 HBase 클러스터에 연산을 넣을 수 있는 코프로세스를 소개할 것이다. 예제 애플리케이션을 두 가지 다른 방법으로 확장해서 새로운 애플리케이션 기능을 클러스터에 넣어볼 것이다.

 

6장에서는 다른 HBase 클라이언트를 빠르게 살펴볼 것이다. HBase는 자바로 쓰여져 있지만 애플리케이션이 반드시 자바로 작성되어 있어야 하는 것은 아니다. 여기서는 다양한 언어와 서로 다른 네트워크 프로토콜을 가진 예제 애플리케이션과 HBase와 상호작용하는 방법을 살펴볼 것이다.

 

3부는 7장부터 시작한다. 7장에서는 실제 운영 가능한 애플리케이션을 살펴볼 것이다. 문제 영역을 살펴보고 애플리케이션에서 이를 해결할 구체적인 방법을 배울 것이다. 그리고 구현 내용을 깊게 살펴보고 기술 설명을 장시간에 걸쳐 상세하게 할 것이다. 여기서는 HBase를 이용하여 개발한 애플리케이션을 처음부터 끝까지 살펴볼 것이다.

 

8장에서는 HBase를 새로운 영역에 연관시키는 방법을 배울 것이다. 우선 GIS 영역을 빠르게 살펴보고, HBase를 확장할 때 직면할 수 있는 도메인 특정 문제를 다루는 방법을 보여줄 것이다. 도메인에 특화된 스키마 설계와 스캔과 필터를 최대한 활용하는 방법을 집중적으로 살펴볼 것이다. 이전에 GIS 경험이 없다고 해도, 이전 장에서 배운 지식을 대부분 이용할 수 있을 것이다.

 

4부는 9장부터 시작한다. 9장에서는 HBase 클러스터를 설치할 것이다. 백지 상태에서 시작해서 HBase의 배치를 다루는 방법을 보여줄 것이다. 하드웨어의 종류와 필요한 하드웨어의 개수와 클러스터 상에서 하드웨어를 할당하는 방법을 이 장에서 배울 것이다. 또한 클라우드도 고려하여 학습할 것이다. 결정된 하드웨어에서 기본적인 전개를 위한 설정방법과 구동방법을 보여줄 것이다.

 

10장에서는 운영환경에서 HBase를 관리하는 방법을 배울 것이다. 통계와 모니터링 툴을 이용해서 클러스터를 살펴보는 방법을 보여줄 것이다. 애플리케이션의 작업부하에 입각하여 클러스터의 성능을 향상하기 위한 방법도 같이 보여줄 것이다. 클러스터를 관리하는 방법과 클러스터를 안정되게 유지하는 방법, 고장을 진단하고 발생 시 이를 고치는 방법, 업그레이드하는 방법을 배울 것이다. 데이터 백업과 복구를 위해서 기본적으로 제공되는 툴에 대해 배울 것이며 멀티-클러스터 복제를 설정하는 방법도 배울 것이다.

 

 

관련글 더보기

댓글 영역