ARCHIVES

HBase에 대하여 1 – 개요

(주)비트나인 2017. 1. 25. 19:02

HBase에 대하여 1 – 개요

 

앞으로, 여러 번에 나눠 HBase에 대해 소개하려 한다. 첫 번째로 HBase의 소개와 간단한 특징들에 대해 살펴본다.


HBase란?
구글 Bigtable을 모델로 하여 개발된 분산 컬럼 기반(Distributed Column Oriented) 데이터베이스이다. HDFS 기반 위에 구현되어있으며 대용량 Read/Write 기능과, Fast Scans를 지원한다. 분산 환경에서 서버들간 상호 조정이 필요한 다양한 서비스를 제공하는 시스템인 Zookeeper를 이용하여 고가용성을 보장한다. Membership 정보 저장, Dead Server 탐지, Master 선출 및 복구 등을 지원한다.

 

HBase 주요 용어

  • Table

    • Row들의 집합 (Row Key가 있으며 다수의 column family로 구성).

    • Schema 정의서 Column Family 만 정의.

  • Row key

    • 임의의 Byte열로 사전순으로 내림차순 정렬.

    • 빈 Byte문자열은 테이블의 시작과 끝을 의미.

    • 문자열, 정수 바이너리, 직렬화된 데이터 구조까지 어떤 것도 로우키가 될 수 있음.

  • Column Family

    • Column들의 그룹으로 모든 컬럼패밀리의 Member는 같은 접두사를 사용.

    •  NOSQL:Cassandra와 NOSQL:HBASE 는 NOSQL이라는 컬럼 패밀리의 멤버컬럼.

    • 컬럼패밀리 접두사는 반드시 표시할 수 있는 문자로 구성.

    • 테이블 스키마에서 정의의 한 부분을 먼저 지정해야 함.

    • 모든 컬럼패밀리 멤버는 물리적으로 파일시스템에서 함께 저장.

    • 새로운 컬럼패밀리 멤버는 동적으로 추가 가능.

  • Cell

    • ROW KEY & Column & Version이 명시된 튜플.

    • 값은 임의의 Byte열이며 Timestamp.

    • 테이블 셀은 버전 관리 됨(오직 셀들만).

HBase 장점

 

  • 성능이슈가 발생할 경우 계속 Region 서버만 추가하면 성능 유지.

  • Fail over가 쉽고 관리 용이.

  • MapReduce의 input으로 사용하기 편함.

HBase 단점

  •  MapReduce의 input으로 사용하기 편하나 동시에 파일 input과 같이 사용시 CPU사용률이 높아 Region서버가 쉽게 Down.

  • 적절한 HBase setting을 하기 위한 조건에 대한 자료가 있으나 Cluster의 규모나 기본 Spec차이가 있어 바로 적용하기가 쉽지 않음.

  • 특정 Region 서버에 특정 table의 region이 집중되기 쉬우며 이는 성능 저하로     이어짐. 구성 시 HBase의 적절한 설계가 필요.

HBase 클러스터 아키텍처

 

 

 

BITNINE GLOBAL INC., THE COMPANY SPECIALIZING IN GRAPH DATABASE
비트나인, 그래프 데이터베이스 전문 기업