• HBASE란?

    2017. 7. 21. 17:11

    by. 위지원

    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

    '2017년 > Database' 카테고리의 다른 글

    ggplot에 대해 알아보자  (0) 2017.08.04
    R이란? 2부  (0) 2017.08.02
    R이란?  (0) 2017.07.12
    ORM에 대해 알아보자  (1) 2017.07.07
    DB Browser for SQLite  (0) 2017.07.05