본문 바로가기
2021-1/RDA

NoSQL | HBase (컬럼형 스토어)

by 이망고_ 2021. 10. 5.

HBase

2006년 차드 월터스와 짐 캘러만에 의해 시작되어 Apache 프로젝트로 개발이 진행되고 있는 오픈소스 소프트웨어.

NoSQL 데이터베이스에서는 컬럼형 데이터베이스로 분류된다

HBase 사용하는 이유 

  • 대용량 데이터를 안정적으로 다루는 데 효과적
    • Cassandra : 성능 우선시할 경우 데이터 일관성이 보장되지 않음 -> 우수한 성능으로 데이터 일관성을 보장 가능
    • 중앙에 전체 분산 시스템을 통제하는 마스터Master 를 두고 복제된 전체 데이터의 일관성 관리, 트랜잭션싱 처리 지원 가능 
  • 대량 데이터 분석 처리 지원에 적합
    • Hadoop 의 산하 프로젝트로 시작된 데이터베이스 : HDFS 및 MapReduce 등과 함께 사용하기에 최적화

특징

컬럼형 NoSQL 데이터베이스로 기본 단위는 컬럼. 

여러 컬럼이 Row key  에 할당 -> Row key 가 모여 테이블을 이룸 : index 와 비슷한 역할을 수행한다

컬럼이 모여 Column family 를 이룸 : 동일한 스토리지 파일에 저장, 성능 개선을 위한 튜닝도 이루어짐, 컬럼 수에 대한 제한은 없으며, 컬럼 값의 데이터 타입이나 길이에 대한 제약도 없다. 

장점

대량의 데이터를 분산된 환경에서 관리하면서도 데이터 일관성을 보장해 준다

약점

이해하기가 복잡스럽다~

도입 사례

Facebook, eBay, WorldLingo

사용 케이스 

  • 대량 데이터를 관리하는 사이트 중에서도 쓰기보다는 읽기 요청이 많은 사이트에 적합
  • 대량 데이터를 관리하면서 데이터 일관성 및 트랜잭션싱 처리가 필요한 사이트
  • Hadoop 을 사용하여 대량 데이터를 분석해야 하는 경우 

HBase 에서는 적어도 5대 이상의 서버에서 수백만 행Row 이상의 데이터를 다루는 데 사용할 것을 권고

다수의 쓰기가 발생하는 성격의 업무보다는 DW성 데이터 처리에 적합

* DW ( Data Warehouse) : 사용자의 의사 결정에 도움을 주기 위하여 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스