Description HBase 특징
수십억 개의 행과 수십억/수백만 개의 열이 있는 테이블에 매우 큰 데이터를 저장하도록 설계
Hadoop HDFS 위에서 실행되므로 대기 시간이 짧고 데이터에 대한 실시간 읽기 및 쓰기가 가능
HBase 장점
대용량의 데이터를 안정적으로 다루는데 효과적이다.
대량의 데이터 분석 처리 지원에 적합하다.
MapReduce의 input으로 사용하기 편하다.
HDFS, mapreduce등과 함께 사용하기에 최적화
성능 이슈가 발생할 경우, Region 서버만 추가하면 성능 유지할 수 있디.
HBase 단점
HBase는 SQL과 같은 기능을 수행할 수 없습니다. SQL 구조를 지원하지 않으므로 쿼리 최적화 프로그램이 포함되어 있지 않음
HBase는 대규모 순차 입력 또는 출력 액세스로 CPU 및 메모리를 많이 사용
Map-reduce 작업은 예측할 수 없는 지연 시간이 발생할수 있음
개인적으로 생각하는 추가 단점
테이터 ui 툴이 없기 때문에 hbase shell 에 접속해서 일일히 쿼리를 다 날려봐야 함
데이터 형식도 보기 어려움
자바같은 경우 hbase 라이브러리에 코드의 가독성이 심하게 떨어짐
데이터노드 분산도 직접 샤드키 만들어서 해줘야 함
HBase 사용 사례
데이터 일관성을 보장하기 위해 사용하거나 분석등의 용도로 사용
감시 체계(Monitoring system).
사용자 작업 추적(Tracking user actions).
감사 로깅 시스템(Audit logging systems).
실시간 분석(Real-time analytics).
Hadoop을 사용하여 대량 데이터를 분석해야 하는 경우
대규모 SNS 서비스의 주 스토리지로 이용
메시지 중심 시스템(Twitter와 유사한 메시지 및 상태).
HBase에서 콘텐츠를 제공하는 콘텐츠 관리 시스템.
웹 크롤링 중 웹 페이지 저장과 같은 표준 사용 사례.
잘못된 사용 사례
예를 들면, 유저 추천 플레이리스트(top100, 팝송, ost, 발라드 등등)를 서비스를 하려고함
유저 추천 플레이리스트의 타입이 추가될수록, 유저수 * 플레이리스트타입 만큼 데이터가 생성됨
대용량의 데이터를 다루기에 적합한 솔루션이 HBase 라고 판단하여 HBase 에 저장함
그러나 이 데이터의 특성을 보면 저장하는 양이 많을 뿐이지 랜덤 읽기가 매우 많이 발생하고 필터링과 소팅 로직등이 중요한 것임
HBase 는 실시간 데이터를 서빙(랜덤 읽기가 매우 많이 발생하고 필터링과 소팅 로직이 필요)하기에 적합하지 않음
즉 장점인 많이 저장할수 있다만 보고 적용한 사례로 보이며, 개인적으로는 장점보다는 단점을 확인해서 써야한다고 생각함
참고
Reactions are currently unavailable
You can’t perform that action at this time.
HBase 특징
HBase 장점
HBase 단점
HBase 사용 사례
잘못된 사용 사례
즉 장점인 많이 저장할수 있다만 보고 적용한 사례로 보이며, 개인적으로는 장점보다는 단점을 확인해서 써야한다고 생각함
참고