HBase FAQ

HBase FAQ

HBase 사용자들이 자주 묻는 질문들을 한곳에 모아 답변한 페이지예요. 카테고리별로 정리되어 있어서 원하는 질문을 빠르게 찾아볼 수 있어요.

출처: 문서

본문

일반 (General)

언제 HBase를 사용해야 하나요? (When should I use HBase?)

Architecture 챕터의 Overview를 참고하세요.

HBase는 SQL을 지원하나요? (Does HBase support SQL?)

사실상 아니에요. Hive를 통한 HBase의 SQL 유사 지원이 개발 중이지만, Hive는 MapReduce 기반이라 낮은 지연 시간(low-latency) 요청에는 일반적으로 적합하지 않아요. HBase 클라이언트 예시는 Data Model 섹션을 참고하세요.

NoSQL/HBase 예시는 어디서 찾을 수 있나요? (How can I find examples of NoSQL/HBase?)

Other Information About HBase의 BigTable 논문 링크와 다른 논문들을 참고하세요.

HBase의 역사는 무엇인가요? (What is the history of HBase?)

HBase History를 참고하세요.

10MB가 넘는 셀(cell)이 HBase에 권장되지 않는 이유는 무엇인가요? (Why are the cells above 10MB not recommended for HBase?)

큰 셀은 HBase의 데이터 버퍼링 방식에 잘 맞지 않아요. 첫째, 큰 셀은 쓰기 시에 MemStoreLAB을 우회해요. 둘째, 읽기 작업 중에 L2 블록 캐시에 캐시될 수 없어요. 대신 HBase는 매번 셀을 위해 on-heap 메모리를 할당해야 해요. 이는 RegionServer 프로세스 내 가비지 컬렉터에 상당한 영향을 줄 수 있어요.

업그레이드 (Upgrading)

Maven으로 관리하는 프로젝트를 HBase 0.94에서 0.96+로 어떻게 업그레이드하나요? (How do I upgrade Maven-managed projects from HBase 0.94 to HBase 0.96+?)

HBase 0.96에서 프로젝트는 모듈 구조로 전환됐어요. 단일 JAR 대신 hbase-client 모듈이나 상황에 맞는 다른 모듈에 의존하도록 프로젝트 의존성을 조정하세요. 목표로 하는 HBase 버전에 따라 아래 중 하나를 따라 Maven 의존성을 모델링할 수 있어요. 자세한 내용은 "0.94.x에서 0.96.x로 업그레이드" 3.5절 또는 "0.96.x에서 0.98.x로 업그레이드" 3.3절을 참고하세요.

HBase 0.98용 Maven 의존성

org.apache.hbase hbase-client 0.98.5-hadoop2

HBase 0.96용 Maven 의존성

org.apache.hbase hbase-client 0.96.2-hadoop2

HBase 0.94용 Maven 의존성

org.apache.hbase hbase 0.94.3

아키텍처 (Architecture)

HBase는 Region-RegionServer 할당과 locality를 어떻게 처리하나요? (How does HBase handle Region-RegionServer assignment and locality?)

Regions를 참고하세요.

설정 (Configuration)

첫 클러스터를 어떻게 시작할 수 있나요? (How can I get started with my first cluster?)

Quick Start - Standalone HBase를 참고하세요.

나머지 설정 옵션은 어디서 배울 수 있나요? (Where can I learn about the rest of the configuration options?)

Apache HBase Configuration을 참고하세요.

스키마 설계 / 데이터 접근 (Schema Design / Data Access)

HBase에서 스키마를 어떻게 설계해야 하나요? (How should I design my schema in HBase?)

Data Model과 HBase and Schema Design을 참고하세요.

HBase에 어떻게 (빈칸)을 저장할 수 있나요? (How can I store (fill in the blank) in HBase?)

Supported Datatypes를 참고하세요.

HBase에서 보조 인덱스(secondary index)를 어떻게 다루나요? (How can I handle secondary indexes in HBase?)

Secondary Indexes and Alternate Query Paths를 참고하세요.

테이블의 rowkey를 변경할 수 있나요? (Can I change a table's rowkeys?)

매우 흔한 질문이에요. 불가능해요. Immutability of Rowkeys를 참고하세요.

HBase는 어떤 API를 지원하나요? (What APIs does HBase support?)

Data Model, Client, Apache HBase External APIs를 참고하세요.

MapReduce

HBase에서 MapReduce를 어떻게 사용할 수 있나요? (How can I use MapReduce with HBase?)

HBase and MapReduce를 참고하세요.

성능 및 문제 해결 (Performance and Troubleshooting)

HBase 클러스터 성능을 어떻게 개선할 수 있나요? (How can I improve HBase cluster performance?)

Apache HBase Performance Tuning을 참고하세요.

HBase 클러스터 문제를 어떻게 해결하나요? (How can I troubleshoot my HBase cluster?)

Troubleshooting and Debugging Apache HBase를 참고하세요.

Amazon EC2

Amazon EC2에서 HBase를 실행 중인데... (I am running HBase on Amazon EC2 and...)

EC2 이슈는 특별한 경우예요. Amazon EC2와 Amazon EC2를 참고하세요.

운영 (Operations)

HBase 클러스터를 어떻게 관리하나요? (How do I manage my HBase cluster?)

Apache HBase Operational Management를 참고하세요.

HBase 클러스터를 어떻게 백업하나요? (How do I back up my HBase cluster?)

HBase Backup을 참고하세요.

HBase in Action

HBase에 대한 흥미로운 동영상과 발표 자료는 어디서 찾을 수 있나요? (Where can I find interesting videos and presentations on HBase?)

Other Information About HBase를 참고하세요.

더 알아보기 (Learn more)