아키텍처

아키텍처 (Architecture)

HBase의 아키텍처를 구성하는 핵심 요소들을 살펴볼게요. NoSQL 분산 데이터베이스로서의 개요부터 카탈로그 테이블, 클라이언트, Master, RegionServer, Regions, 벌크 로딩, HDFS, MOB, 스냅샷 스캔에 이르는 각 주제를 정리해 드려요.

출처: 문서

본문

HBase 아키텍처와 관련된 설계·구현에 대한 더 많은 정보는 JIRA 이슈에서 확인할 수 있어요.

  • 디자인과 구현에 대한 더 많은 정보는 jira 이슈에서 찾을 수 있어요: HBASE-10070
  • HBaseCon 2014 발표: HBase Read High Availability Using Timeline-Consistent Region Replicas에도 세부 내용과 슬라이드가 있어요.

이 섹션에서 다루는 주제는 다음과 같아요.

  • Overview — NoSQL 분산 데이터베이스로서의 HBase 소개, 주요 특징, 확장성, 그리고 HBase를 언제 사용해야 하는지.
  • Catalog Tables — hbase:meta 카탈로그 테이블 구조, 위치 추적, HBase가 region 메타데이터를 유지하는 방식 이해하기.
  • Client — HBase 클라이언트 아키텍처, 연결 관리, 메타데이터 캐싱, 최적 성능을 위한 클라이언트 측 구성.
  • Client Request Filters — Get과 Scan 연산에 필터를 사용해 HBase 데이터를 효율적으로 질의하는 방법(비교, 컬럼, 행, 유틸리티 필터 포함).
  • Master — RegionServer 모니터링, 메타데이터 연산, 로드 밸런싱, 장애 조치 동작을 포함한 HBase Master 서버의 역할.
  • RegionServer — HBase RegionServer 구현, 인터페이스, 읽기/쓰기 경로, 블록 캐시, memstore 관리, 성능 튜닝.
  • Regions — HBase region, store, memstore, WAL(로그 선행 쓰기), 압축, 분할, region 관리 전략 이해하기.
  • Bulk Loading — MapReduce로 HFiles를 생성해 클러스터에 직접 로드하는 방식으로 대용량 데이터를 HBase에 효율적으로 적재하기.
  • HDFS — NameNode와 DataNode 아키텍처, 파일 복제를 포함해 HBase가 분산 저장을 위해 HDFS를 활용하는 방식.
  • Timeline-consistent High Available Reads — region 복제본으로 읽기 고가용성을 달성하고 timeline 일관성을 유지해 장애 중 읽기 불가를 줄이는 방법.
  • Storing Medium-sized Objects (MOB) — MOB 기능으로 중간 크기 객체(100KB~10MB)를 최적화해 저장·처리해 성능을 개선하는 방법.
  • Scan Over Snapshot — TableSnapshotScanner로 RegionServer를 우회해 HDFS에서 HBase 스냅샷을 직접 스캔해 성능을 높이는 방법.

더 알아보기 (Learn more)

위 각 주제의 상세 문서와 함께 HBase 데이터 모델 및 운영 가이드 문서를 이어서 보시길 권해요.