[HBase] HBase 개요

Woong·2022년 1월 19일
0

Apache Hadoop

목록 보기
8/10

HBase

개요

  • HDFS 위에 구축된 비관계형 DB (Non-relational)

  • 수평적으로 확장성을 가짐 (scalable)

  • HDFS 기반으로 분할 저장된 데이터를 SQL로 빠르게 조회 가능

  • HDFS 에 저장된 데이터를 HBase 를 활용해 대규모로 외부로 내보낼 수 있음

  • SQL 미지원, 대신 CRUD API 를 사용

    • 키의 값을 조회하거나 저장하는 작업을 수행
  • Google 빅테이블에 적용된 알고리즘, 시스템을 오픈소스 버전으로 구현

  • Region 는 키의 범위

  • 기존 DB의 샤딩이나 범위 분할과 같은 개념

  • 데이터가 커지면 클러스터에 자동으로 재분할

  • 서버 추가 작업도 런타임에 자동으로 수행

Region 서버

  • 클라이언트와 통신, 데이터 연산을 관리

Master 노드

  • 웹 서버에
  • 데이터 스키마 관리, 데이터 저장, 분할 작업 당답
    • Master 노드에서 쿼리 요청이 밀려 병목이 발생하는 경우를 방지
  • HBase 클러스터를 통솔
    • 모든 데이터 위치를 기억하는 대신 zookeeper 를 활용
    • zookeeper 가 현재 master 노드도 결정
    • master 다운시 다음 master 결정

데이터 모델

  • 각 행(row)를 unique key 값으로 식별
  • 열 집합(column families) 라는 개념을 사용
    • RDB 의 고정된 열 대신 열 집합을 정의,
    • 열 집합 안에 수많은 열을 담을 수 있음
      • -> 희소한(sparse) 데이터를 저장하는데 유리
  • cell : row, column 패밀리의 집합
    • 여러 버전으로 관리됨
      • timestamp 를 찍어 cell 기록을 DB 테이블에 자동 저장
      • ex) 지난 일주일 동안 특정 cell 에 입력된 정보 저장

HBase 접근 방법

  • HBase shell
  • JAVA API
    • python, scala 등 wrapper 제공
  • Connector
    • spark, hive, pig 등
  • REST 서버
    • HTTP 요청을 통해 접근
  • Thrift, Avro 같은 서비스를 통한 접근

reference

  • 【글로벌 Best】 Hadoop : 여러 실습으로 빅 데이터 길들이기! (한글 자막)

0개의 댓글