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 스토리지 아키텍처 :
일반적인 흐름은 클라이언트가 먼저 Zookeeper에 연락하여 특정 행 키를 찾는 것입니다. Zookeeper에서 서버 이름을 검색하여이를 수행합니다. 이 정보를 사용하여 이제 해당 서버를 쿼리하여 메타 테이블이있는 서버를 가져올 수 있습니다. 이러한 세부 정보는 모두 캐시되며 한 번만 조회됩니다. 마지막으로 메타 서버를 쿼리하고 클라이언트가 찾고있는 행이있는 서버를 검색 할 수 있습니다.
행이 어떤 지역에 있는지 알고 나면이 정보도 캐시하고 HRegionServer에 직접 연결합니다. 따라서 시간이 지남에 따라 클라이언트는 메타 서버를 다시 쿼리 할 필요없이 행을 가져올 위치에 대한 완전한 정보를 갖게됩니다. HRegion이 열리면 모든 테이블에 대해 각 HColumnFamily에 대한 Store 인스턴스를 설정합니다. 클라이언트가 일치하는 HRegion 인스턴스에 세부 정보를 제공하는 HRegionServer에 요청을 발행하면 데이터가 기록됩니다. 첫 번째 단계는 HLog 클래스가 나타내는 'Write-Ahead-Log'(WAL)에 데이터를 먼저 기록해야하는지 결정해야하는 것입니다. 결정은 클라이언트가 설정 한 플래그를 기반으로합니다.
데이터가 WAL에 기록되면 MemStore에 배치됩니다. 동시에 Memstore가 꽉 찼는 지 확인하고이 경우 디스크에 플러시가 요청됩니다. 그런 다음 데이터가 HFile에 기록됩니다.
파이썬 코드의 로지스틱 회귀
질문이 있으십니까? 댓글 섹션에 언급하시면 다시 연락 드리겠습니다.
관련 게시물