HBase 특성에 대한 기본적인 개념 리뷰 중..
1. HBASE 란? ( http://wiki.apache.org/hadoop/Hbase )<?-ml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><?XML:NAMESPACE PREFIX = O />
ü 구글 Bigtable을 모델로 하여 초기 모델 개발(2007년) ü Hadoop의 서브 프로젝트로 편입 (2008년) ü 분산 컬럼 기반(distributed column oriented) 데이터베이스 ü Bigtable은 1000개 이상의 Cluster node를 지원 ü 대용량 Read/Write 기능 지원, Fast Scans 지원 ü HDFS 기반 위에 구현됨 ü Zookeeper를 이용한 고 가용성 보장 Membership 정보저장, Dead Server 탐지, Master 선출 및 복구 |
2. HBASE 주요 용어
ü Table - Row들의 집합 (Row Key가 있으며 다수의 column family로 구성) - Schema 정의서 Column Family 만 정의 ü Row Key - 임의의 Byte열로 사전순으로 내림차순 정렬 - 빈 Byte문자열은 테이블의 시작과 끝을 의미 ü Column Family - Column들의 그룹으로 모든 컬럼패밀리의 Member는 같은 접두사를 사용 - DB기술팀:김병수와 DB기술팀:이용석 은 DB기술팀이라는 컬럼 패밀리의 멤버컬럼 ü Cell - ROW KEY & Column & Version이 명시된 튜플 - 값은 임의의 Byte열이며 Timestamp가 있음 |
3. HBASE Architecture
ü Hbase Cluster Architecture
ü HBase System components
ü HBase Data Model
ü HBase Data 분산 및 Lookup 방식
4. HBASE VS RDBMS 의 비교
HBase | RDBMS |
컬럼 기반 | 로우 기반 |
동적 스키마(동적컬럼추가가능) | 고정 스키마 |
get / put / scan 등등 | SQL |
대용량 테이블 용도 | 일반 테이블 |
MapRduce Join 활용 | Join에 최적화 됨 |
Rowkey만 인덱스 지원 | 임의 컬럼에 대한 인덱스 지원 |
초당 수십만건 Read/Write | 초당 수천건 Read/Write |
최대 PB 저장 용량 | 최대 TB 급 저장 용량 |
프로젝트 진행중 | 인증/허가 수준의 보안기능제공 |
단일로우 트랜잭션 보장 | 다중 로우 트랜잭션 보장 |
5. HBase Table 구조 확인
ü HBase의 column 은 미리 선언 되는 것이 아니고 Runtime시에 정의 된다.
ü Timestamp는 descending 방식으로 저장되어 timestamp에 따라 컬럼은 time-version value 형태로
디스크 상에 저장된다. Time-version 된 value들의 그룹을 cell이라고 명칭함.
Columns 내부에 Dynamic하게 새로운 Entity 정의가 가능함
6. HBase Modeling Example
ü 1:M 구조의 Relationship

ü M:M 구조의 Relationship
HBASE 를 활용 하기 위해서는
ü RDBMS를 버리는 것이 아니라 서비스에 따른 적절한 솔루션 선택이 필요 ORACLE + MYSQL + HBASE + Mem Cache + NoSQL등 서비스/데이터에 따른 다양한 조합 ü Hadoop, Zookeeper, 기타 오픈 소스 활용 능력이 안정적 서비스 운영의 필수 조건 기술력의 내재화 없이는 서비스 성공 불가함 ü Data Architecture 보다 System & Application Architecture의 역량이 매우 중요 ü Row Key 기반의 대량 데이터가 발생 가능한 서비스 모델에 적합 서비스 & 데이터 모델이 Row Key 기반으로 단순해야 최적화 가능한 구조임 ü HBASE의 안정성 확보 필요 HW 차원의 안정성 확보도 필요하지만 프로그램의 코드 레벨 수준에서 안정성 검증 필요 |
출처 : Gruter Technical Note
: http://wiki.apache.org/hadoop/Hbase
: Ian Varley의 HBase Schema Design
'NoSQL > HBase' 카테고리의 다른 글
| HBase 기본 정보, 요구사항, 제한사항, 설치, 최적화 설정 및 시작 방법 (0) | 2016.02.05 |
|---|---|
| HBase 완전-분산 (Full Distributed) 방식 설치 (0) | 2016.02.05 |
| hbase api 사이트 (영문) (0) | 2016.02.05 |
| HBase, BigTable, Cassandra Schema Design (0) | 2016.02.05 |
| hbase Schema 이해하기 위한 링크들 (0) | 2016.02.05 |











