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
비트나인, 그래프 데이터베이스 전문 기업
'ARCHIVES' 카테고리의 다른 글
CIO Summit 2017 개최 (0) | 2017.03.06 |
---|---|
HBase에 대하여 2 – 기능 (0) | 2017.02.01 |
비트나인, 새로운 하이브리드 그래프 데이터베이스 ‘아젠스 그래프’ 출시 (0) | 2017.01.16 |
‘그래프 데이터베이스 in Korea’ Meetup 소개 (0) | 2017.01.06 |
NewSQL의 VoltDB에 대하여 (1) | 2016.03.23 |