『HBase 인액션』은 HBase를 기반으로 애플리케이션을 구축하고 실제 경에 애플리케이션을 실행하는 데 충분한 지식을 제공하는 것을 목표로 한다. HBase를 사용하는 애플리케이션을 설계, 구축 및 실행하는 방법을 알려주는 저자의 경험을 바탕으로 한 가이드북으로, 먼저 빅 데이터 기초에 대해 소개한다. 나아가 실제 애플리케이션과 코드 샘플 그리고 실용적인 기법을 뒷받침해주는 충분한 이론을 가지고 HBase를 설명한다. 실용적인 HBase 예제들을 살펴봄으로써 여러분이 맵리듀스 프로세싱 프레임워크와 HBase의 장점을 사용할 수 있게 해준다.
빅데이터를 위한 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
독자 대상 초중급
이 책의 구성 ‘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를 관리하는 방법을 배울 것이다. 통계와 모니터링 툴을 이용해서 클러스터를 살펴보는 방법을 보여줄 것이다. 애플리케이션의 작업부하에 입각하여 클러스터의 성능을 향상하기 위한 방법도 같이 보여줄 것이다. 클러스터를 관리하는 방법과 클러스터를 안정되게 유지하는 방법, 고장을 진단하고 발생 시 이를 고치는 방법, 업그레이드하는 방법을 배울 것이다. 데이터 백업과 복구를 위해서 기본적으로 제공되는 툴에 대해 배울 것이며 멀티-클러스터 복제를 설정하는 방법도 배울 것이다.