2017년/Database

HBASE란?

위지원 2017. 7. 21. 17:11

HBASE란 무엇일까? http://hbase.apache.org


구글의 빅 테이블을 모델로 하여 개발된 분산음 컬럼 기반 nosql 데이터베이스


-구글의 빅 테이블이란?


구글 클라우드 서비스며 기업용 구글 클라우드 서비스


-분산 컬럼 기반 데이터베이스?


-최근에 인기가 있는 데이터베이스


-오라클이나 일반 rdbms에서 row단위로 데이터를 저장했다면 hbase는 컬럼단위로 데이터를 저장


-로우단위? 컬럼단위?


1)로우 단위 :  레코드 단위로 데이터에 작업 가능 , 압축 효율이 상대적으로 낮음

ex.오라클,DB2와 같은 일반 rdbms



 이름

 홍길동

 성별

남자

 직업

모름


2)컬럼 단위 : 동일한 컬럼에 대해 대량으로 데이터를 처리할 때 적합 , 압축 효율이 상대적으로 높음

ex.hanan,hbase와 같은 분석용 rdbms


이름

홍길동

이름

임꺽정

이름

김철수



-왜 굳이 컬럼단위로 데이터를 저장할까?

특정 쿼리에 대해서는 로우의 모든 데이터가 필요하지 않다는 가정에 기반하는데 분석용rdbms에서 이런 경우가 자주발생해서

분석용rdbms에서 사용


-nosql? ( not only sql )

...이건 다음번에 더 자세하게 알아보자 일단은 관계형 데이터베이스가 아닌 다른형태의 데이터 저장 기술을 의미한다고 알아두자





왜 쓰는거야??


-대용량의 데이터를 안정적으로 다루는데에 효과적

-중앙에 전체 분산 시스템을 통제하는 마스터를 두고 전체 데이터의 일관성을 관리 ---> 복제 데이터 사이의 일관성 보장


-대량의 데이터 분석 처리 지원에 적합

-hdfs, mapreduce등과 함께 사용하기에 최적화



언제 쓸까?


-데이터 일관성을 보장하기 위해 사용하거나 분석등의 용도로 사용 (ex.facebook,ebay,adobe..etc)

-hadoop을 사용하여 대량 데이터를 분석해야 하는 경우

-대규모 sns서비스의 주 스토리지로 이용



어떻게 생겼어?



장점

-region 서버만 추가하면 성능을 유지할 수 있음

-fail over가 쉽고 관리가 용이함

-mapreduce input용으로 사용

단점

-특정 region서버에 특정 table의 region이 집중되기 쉬워서 성능저하로 이어짐

-적절한 세팅을 위한 조건자료가 있으나 클러스트 규모나 기본 스팩차이가 있어 적용을 바로하기 힘듬

 



출처 url

http://www.dbguide.net/index.db

http://blog.naver.com/PostView.nhn?blogId=samuelc&logNo=20186928327

http://bitnine.tistory.com/264