지구정복
[HBase] HBase 개념 및 구성요소 본문
공식사이트 : hbase.apache.org/
1. 개념
빅데이터의 출현으로 관계형 데이터베이스의 한계가 나타나는데 이를 극복하기 위한 NoSQL 소프트웨어 중의 하나이다. 대규모로 발생되는 빅데이터를 관계형 데이터 베이스에 저장할 때는 지켜야 되는 원칙이 있다.
Atomic(원자성), Consistency(일관성), Isolation(고립성), Durability(지속성)이 그것이다.
하지만 초당 수천~수만건의 데이터가 생성되는 빅데이터 환경에서는 이러한 원칙을 지키지 않아도 되는 NoSQL 비관계형 분산 데이터베이스를 사용하게 되고 Key-Value 구조를 가지고 있다. MongoDB, 카산드라, HBase가 대표적이다.
HBase는 하둡 기반의 칼럼 지향 NoSQL 데이터베이스로서 스키마 변경이 자유롭고, 리전이라는 수십~수백 대의 분산 서버로 샤딩과 복제 등의 기능을 지원해 성능과 안정성을 보장한다.
또한 하둡의 확장성과 내고장성을 그대로 이용할 수 있어 대구모 실시간 데이터 처리를 위한 스피드 레이어 저장소에 HBase가 주로 사용된다.
2. 구성요소
-HTable : 컬럼 기반 데이터 구조를 정의한 테이블로서, 공통점이 있는 칼럼들의 그룹을 묶은 칼럼 패밀리와 테이블의 로우를 식별해서 접근하기 위한 로우키로 구성되어 있다.
-HRegion : HTable의 크기에 따라 자동으로 수평 분할이 발생하고, 이때 분할된 블록을 HRedion 단위로 지정한다.
HTable은 끊임없이 데이터가 만들어지는데 많아지면 알아서 수평분할해서 Region이란 단위로 저장된다.
-HRegionServer : 분산 노드별 HRegionServer가 구성되며, 하나의 HRegionServer에는 다수의 HRegion이 생성되어 HRegion을 관리한다.
-HMaster : HRegion 서버를 관리하고 HRegion들이 속한 HRegion 서버의 메타 정보를 관리한다.
-Store : 하나의 Store에는 칼럼 패밀리가 저장 및 관리되며, MemStore와 HFile로 구성된다.
-MemStore : Store 내의 데이터를 인메모리에 저장 및 관리하는 데이터 캐시 영역.
HTable에 데이터가 저장될 때 디스크에 바로 저장되는 것이 아니라 인메모리에 저장하는 데이터 캐시 영역
-HFile : Store 내의 데이터를 스토리지에 저장 및 관리하는 영구 저장 영역.
MemStore에 임시적으로 저장되어 있는 데이터들을 어느 특정 시점이 되면 디스크에 저장하도록 하는데 이때 저장영역을 HFile이라고 한다. 또한 여기서 Hadooop의 DataNode로 이동된다.
'데이터 엔지니어링 정복 > Hbase' 카테고리의 다른 글
[HBase] 기본 명령어(테이블 만들기, put, get, drop) (0) | 2021.05.08 |
---|