HBase 스토리지 아키텍처 개요



HBase 스토리지 아키텍처는 수많은 구성 요소로 구성됩니다. 이러한 구성 요소의 기능을 살펴보고 데이터가 기록되는 방식을 알아 봅시다.

Apache HBase는 Google의 Bigtable을 모델로하고 자바로 작성된 오픈 소스 분산 형 비 관계형 데이터베이스입니다. Hadoop 및 HDFS (Hadoop Distributed Filesystem) 위에 Bigtable과 유사한 기능을 제공합니다. HBase는 빅 데이터에 대한 실시간 읽기 / 쓰기 액세스에 사용됩니다.





SQL의 제약은 무엇입니까

HBase 스토리지 아키텍처는 수많은 구성 요소로 구성됩니다. 이러한 구성 요소의 기능을 살펴보고 데이터가 기록되는 방식을 알아 봅시다.

HFiles :



HFiles는 HBase 아키텍처의 낮은 수준을 형성합니다. HFile은 HBase의 데이터를 빠르고 효율적으로 저장하기 위해 생성 된 스토리지 파일입니다.

HMaster :

HMaster는 HBase가 시작될 때 각 HRegionServer에 지역을 할당해야합니다. 행, 테이블 및 조정 활동과 관련된 모든 것을 관리합니다. Hmaster에는 메타 데이터의 세부 정보도 있습니다.



구성품 HBase의 :

HBase에는 다음 구성 요소가 있습니다.

  • 테이블 – 지역 구성
  • 지역 – 함께 저장된 행 범위
  • 지역 서버 – 하나 이상의 지역을 제공합니다.
  • 마스터 서버 – 데몬은 HBase 클러스터 관리를 담당합니다.

HBase는 데이터를 HDFS에 직접 저장하며 HDFS의 고 가용성 및 내결함성에 크게 의존합니다.

HBase 스토리지 아키텍처 :

HBase 스토리지 아키텍처

일반적인 흐름은 클라이언트가 먼저 Zookeeper에 연락하여 특정 행 키를 찾는 것입니다. Zookeeper에서 서버 이름을 검색하여이를 수행합니다. 이 정보를 사용하여 이제 해당 서버를 쿼리하여 메타 테이블이있는 서버를 가져올 수 있습니다. 이러한 세부 정보는 모두 캐시되며 한 번만 조회됩니다. 마지막으로 메타 서버를 쿼리하고 클라이언트가 찾고있는 행이있는 서버를 검색 할 수 있습니다.

행이 어떤 지역에 있는지 알고 나면이 정보도 캐시하고 HRegionServer에 직접 연결합니다. 따라서 시간이 지남에 따라 클라이언트는 메타 서버를 다시 쿼리 할 필요없이 행을 가져올 위치에 대한 완전한 정보를 갖게됩니다. HRegion이 열리면 모든 테이블에 대해 각 HColumnFamily에 대한 Store 인스턴스를 설정합니다. 클라이언트가 일치하는 HRegion 인스턴스에 세부 정보를 제공하는 HRegionServer에 요청을 발행하면 데이터가 기록됩니다. 첫 번째 단계는 HLog 클래스가 나타내는 'Write-Ahead-Log'(WAL)에 데이터를 먼저 기록해야하는지 결정해야하는 것입니다. 결정은 클라이언트가 설정 한 플래그를 기반으로합니다.
데이터가 WAL에 기록되면 MemStore에 배치됩니다. 동시에 Memstore가 꽉 찼는 지 확인하고이 경우 디스크에 플러시가 요청됩니다. 그런 다음 데이터가 HFile에 기록됩니다.

파이썬 코드의 로지스틱 회귀

질문이 있으십니까? 댓글 섹션에 언급하시면 다시 연락 드리겠습니다.

관련 게시물

HBase 아키텍처에 대한 통찰력