Home HBase 개요
Post
Cancel

HBase 개요

HBase 개요

HBase는 HDFS 기반으로 구현한 칼럼 기반 분산 데이터베이스(distributed column-oriented database)

  • 배경 : HBase는 그 당시에 발표된 구글의 빅테이블을 모델
  • HBase 테이블은 RDBMS와 유사하지만, 셀은 버전별로 관리되고, 로우는 정렬되며 컬럼이 속한 칼럼 패밀리가 미리 존재하는 한 언제든지 클라이언트는 칼럼을 추가할 수 있다.

HBase와 RDBMS의 비교

HBase는 하둡이 HDFS의 무작위 읽기와 쓰기를 제공하지 않는다는 점을 발견했으며 모든 방향의 확장성에 중점을 두어 밑바닥부터 설계되었다. 즉, 로우 개수가 길고(수억), 칼럼 개수가 넓으며(수백만), 수평적으로 분할 가능해서 수천대의 상용 노드에 자동으로 복제할 수 있다.

  • RDBMS는 데이터셋의 크기나 읽기/쓰기 병행성(또는 모두)을 고려해서 규모를 늘려야 할때 막대한 서능 저하로 이어지며 태생적으로 분산이 어려운 구조이다.
  • RDBMS를 분산 데이터 시스템으로 운영할때, 타협과 복잡성이 증가되어 기능성과 편리함을 희생할 수 밖에없다. 어떤 형태든 슬레이브 복제나 외부 캐싱은 비정규화된 데이터의 일관성을 약화시킨다.

반면 HBase는 다음의 특징을 가진다.

  • 실제 인덱스가 없음 : 인덱스 확장과 같은 문제가 발생하지 않음
  • 자동 분할 : 테이블이 증가하면 자동으로 여러 리전으로 분할되고 가용한 모든 노드로 분산됨
  • 새로운 노드를 추가하여 자동으로 선형 확장
  • 범용 하드웨어 사용 가능 : RDBMS는 I/O 성능이 매우 중요하며 이러한 요구사항을 충족하는 하드웨어는 매우 비싸다.
  • 내고장성
  • 배치 처리 : 맵리듀스와의 통합으로 데이터의 지역성을 준수하고 완전한 병렬성과 분산 작업을 지원
This post is licensed under CC BY 4.0 by the author.

Trending Tags