
Meta Table
HBase는 META 테이블이라고 부르는 HBase Catalog 테이블을 유지한다. 여기에는 클러스터에 포함된 리전의 위치정보들을 저장하고 있다. 이 테이블은 주키퍼가 관리한다.

1. 클라이언트는 주키퍼의 META 테이블을 서비스하는 리전 서버의 호스트 정보를 읽어온다.
2. 클라이언트는 리전 서버에 .META 테이블을 쿼리해서 접근하려는 row키를 가지고 있는 리전 서버 정보를 가져온다. 클라이언트는 META 테이블의 정보를 캐시한다.
3. 해당 리전 서버로 부터 row를 읽는다.
HBase META 테이블은 아래와 같은 구조를 가지고 있다.

Meta 테이블은 클러스터에 있는 모든 리전 정보를 저장하고 있다.
Meta 테이블은 b tree 다.
Meta 테이블은 Key와 Value로 구성된다.
Key: 리전의 ID와 테이블, Start Key를 가지고 있다/.
Values: 리전 서버
Region Server Component
리전 서버는 HDFS 데이터 노드 위에서 실행된다.
- WAL : Write Ahead Log 파일로 분산 파일 시스템에 기록된다. 데이터는 하드디스크에 저장되기전에 WAL에 먼저 저장이 된다. 데이터 저장 실패를 복구하기 위해서 사용된다.
- BlockCache : 읽기 캐시다. 자주 접근하는 데이터는 메모리에 저장해서 읽기 성능을 높인다.
- MemStore: 쓰기 캐시다. 아직 디스크에 기록되지 않은 데이터들이 저장된다. 데이터는 디스크에 쓰기전에 정렬된다. 각 리전의 컬럼 패밀리당 하나의 MemStore가 있다.
- HFile : HFile은 커밋 이후의 실제 데이터를 저장한다.
- 데이터들은 Key&Values 형태로 Hfiles로 저장된다.
WAL 이란?
MySQL의 바이너리 로그와 같이 데이터 수행이 되는 모든 변경사항을 기록하는 것.
서버가 중지되면 WAL을 이용하여 중지되기 직전까지의 상태 변경 사항을 재현할 수 있음.
WAL에 기록하는데 실패했다면 그 연산은 실패한 것이다.
'Data Platform Engineering' 카테고리의 다른 글
[HBase] 3. HBase Architecture / 읽기, 쓰기 경로 (1) | 2022.10.11 |
---|---|
[HBase] 1. Intro / region / Hmaster (0) | 2022.10.05 |
Data warehouse & Data mart 무슨 차이가 있을까? (0) | 2022.08.23 |

Meta Table
HBase는 META 테이블이라고 부르는 HBase Catalog 테이블을 유지한다. 여기에는 클러스터에 포함된 리전의 위치정보들을 저장하고 있다. 이 테이블은 주키퍼가 관리한다.

1. 클라이언트는 주키퍼의 META 테이블을 서비스하는 리전 서버의 호스트 정보를 읽어온다.
2. 클라이언트는 리전 서버에 .META 테이블을 쿼리해서 접근하려는 row키를 가지고 있는 리전 서버 정보를 가져온다. 클라이언트는 META 테이블의 정보를 캐시한다.
3. 해당 리전 서버로 부터 row를 읽는다.
HBase META 테이블은 아래와 같은 구조를 가지고 있다.

Meta 테이블은 클러스터에 있는 모든 리전 정보를 저장하고 있다.
Meta 테이블은 b tree 다.
Meta 테이블은 Key와 Value로 구성된다.
Key: 리전의 ID와 테이블, Start Key를 가지고 있다/.
Values: 리전 서버
Region Server Component
리전 서버는 HDFS 데이터 노드 위에서 실행된다.
- WAL : Write Ahead Log 파일로 분산 파일 시스템에 기록된다. 데이터는 하드디스크에 저장되기전에 WAL에 먼저 저장이 된다. 데이터 저장 실패를 복구하기 위해서 사용된다.
- BlockCache : 읽기 캐시다. 자주 접근하는 데이터는 메모리에 저장해서 읽기 성능을 높인다.
- MemStore: 쓰기 캐시다. 아직 디스크에 기록되지 않은 데이터들이 저장된다. 데이터는 디스크에 쓰기전에 정렬된다. 각 리전의 컬럼 패밀리당 하나의 MemStore가 있다.
- HFile : HFile은 커밋 이후의 실제 데이터를 저장한다.
- 데이터들은 Key&Values 형태로 Hfiles로 저장된다.
WAL 이란?
MySQL의 바이너리 로그와 같이 데이터 수행이 되는 모든 변경사항을 기록하는 것.
서버가 중지되면 WAL을 이용하여 중지되기 직전까지의 상태 변경 사항을 재현할 수 있음.
WAL에 기록하는데 실패했다면 그 연산은 실패한 것이다.
'Data Platform Engineering' 카테고리의 다른 글
[HBase] 3. HBase Architecture / 읽기, 쓰기 경로 (1) | 2022.10.11 |
---|---|
[HBase] 1. Intro / region / Hmaster (0) | 2022.10.05 |
Data warehouse & Data mart 무슨 차이가 있을까? (0) | 2022.08.23 |