목록 보기
비트윈의 HBase 스키마 해부
백엔드

비트윈의 HBase 스키마 해부

타다
타다
2014년 5월 7일

두줄요약

비트윈의 HBase 저장 구조와 Datastore 기반 접근 방식을 설명했습니다. 트랜잭션·인덱스·키 설계로 성능과 무결성을 확보했습니다.

구조와 흐름

  • 데이터 종류별 테이블 분리와 관련 데이터의 단일 Row 집합
  • Thrift 직렬화, Datastore 추상화, 부모-자식 Key 기반 데이터 접근
  • Column Qualifier로 객체·자식 객체·컬렉션 메타데이터를 논리적 트리 형태로 구성

선택 이유

  • 타입별 데이터 연속 배치로 자식 객체 Scan과 Sequential Read 최적화
  • Metadata의 컬렉션 선두 배치로 빈번한 동시 접근 데이터의 인접성 확보
  • Trigger와 Haeinsa 트랜잭션을 통한 Secondary Index 원자적 갱신

성능/운영 포인트

  • 테이블별 Row 부하 분리로 Region Split 정책 단순화
  • 동일 Row 연산의 단일 RPC 커밋과 Block Cache 적중률 향상
  • 랜덤 Root ID 기반 Row Key로 Region 서버 부하 분산

주의할 점

  • Thrift 신규 필드와 롤링 업데이트 조합에서 구버전 서버 재저장 시 신규 값 유실 가능성
  • 신규 Thrift 적용 구버전 선배포 후 업데이트 서버 롤링 배포 방식으로 호환성 관리

다음 읽기

#Thrift 주제를 이어서 읽기

비트윈 시스템 아키텍처

비트윈의 HTTP·TCP 채팅 서비스와 커플 단위 샤딩 기반 아키텍처를 설명했습니다. 다계층 구조와 HBase 트랜잭션으로 확장성·장애 격리를 개선하는 방향을 제시했습니다.

타다
타다
아키텍처

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...