HBase 기본 지식(1): HBase 소개, HBase 데이터 모델 및 기본 아키텍처

1장 HBase 소개

1.1HBase 정의

HBase는 대규모 데이터 스토리지를 지원하는 확장 가능한 분산형 NoSQL 데이터베이스입니다.

1.2HBase 데이터 모델

논리적으로 HBase의 데이터 모델은 관계형 데이터베이스와 매우 유사하며, 데이터는 행과 열로 구성된 테이블에 저장됩니다. 그러나 HBase의 기본 물리적 저장 구조(KV)의 관점에서 볼 때 HBase는 다차원 맵 에 더 가깝습니다 .

1.2.1HBase 논리 구조

사전식 순서: 비트별 비교.

아래 사진은 테이블이지만, 테이블을 여러 영역으로 나누어 배치하는 경우가 많습니다.

1.2.2HBase 물리적 저장 구조

이 데이터 구조는 위 그림의 매장에 대한 자세한 설명입니다.

1.2.3 데이터 모델

1) 이름 공간

네임스페이스는 관계형 데이터베이스의 DataBase(데이터베이스) 개념과 유사하며, 각 네임스페이스 아래에는 여러 개의 테이블이 있습니다. HBase에는 hbase와 default라는 두 가지 내장 네임스페이스가 있으며, hbase는 HBase의 내장 테이블을 저장하며, default 테이블은 사용자가 기본적으로 사용하는 네임스페이스입니다.

2) 지역

관계형 데이터베이스의 테이블 개념과 유사합니다. 차이점은 HBase에서 테이블을 정의할 때 컬럼 패밀리만 선언하면 되고 특정 컬럼을 선언할 필요가 없다는 점입니다. 이는 HBase에 데이터를 쓸 때 필요에 따라 필드를 동적으로 지정할 수 있음을 의미합니다 . 따라서 관계형 데이터베이스에 비해 HBase는 현장 변화에 쉽게 대처할 수 있습니다.

3) 행

HBase 테이블의 데이터 각 행은 RowKey와 여러 개의 Column (열)으로 구성되며, 데이터는 RowKey의 사전 순서로 저장되며 , 데이터 쿼리 시 RowKey 기반으로만 검색할 수 있으므로 RowKey의 디자인은 매우 중요한.

4) 칼럼

HBase의 각 열은 info: name, info: age와 같이 ColumnFamily(열 계열) 및 ColumnQualifier(열 한정자) 로 한정 됩니다. 테이블을 생성할 때 컬럼패밀리만 지정하면 되며, 컬럼 한정자는 미리 정의할 필요가 없다.

5) 타임스탬프

다양한 버전의 데이터를 식별하는 데 사용됩니다. 각 데이터가 기록될 때 타임스탬프가 지정되지 않으면 시스템이 자동으로 이 필드를 추가하며 해당 값은 HBase에 기록된 시간입니다.

6) 셀

{rowkey,columnFamily:columnQualifier,timeStamp}에 의해 고유하게 결정되는 단위입니다. 셀의 데이터는 유형이 없으며 모두 바이트코드 형식으로 저장됩니다.

1.3HBase 기본 아키텍처

불완전한 버전

아키텍처 역할:

1) 지역서버

RegionServer는 Region의 관리자이고 구현 클래스는 HRegionServer이며 주요 기능은 데이터 작업: 가져오기, 넣기, 삭제, 지역 작업: SplitRegion, CompactRegion입니다.

2) 마스터

Master는 모든 RegionServer의 관리자이며 구현 클래스는 HMaster이며 주요 기능은 다음과 같습니다: 테이블 작업: 생성, 삭제, 변경 RegionServer 작업: 각 RegionServer에 영역 할당, 각 RegionServer의 상태 모니터링, 로드 밸런싱 및 장애 조치.

3) 사육사

HBase는 Zookeeper를 사용하여 마스터 고가용성, RegionServer 모니터링, 메타데이터 입력 및 클러스터 구성 유지 관리와 같은 작업을 수행합니다.

4) HDFS

HDFS는 HBase에 최고의 기본 데이터 스토리지 서비스와 HBase에 대한 고가용성 지원을 제공합니다.

추천

출처blog.csdn.net/zuodingquan666/article/details/135133076