하이퍼테이블
하이퍼테이블(Hypertable)이란 구글의 대규모 확장형 데이터베이스인 빅테이블을 원형으로 한 오픈소스 분산형 데이터베이스이다. 고성능과 높은 편의성을 가지고 있다.[1]
목차
개요
하이퍼테이블은 비관계형 데이터베이스인 노에스큐엘 중 빅테이블을 모델로 한 오픈소스 데이터베이스로 분산파일 시스템 위에서 실행된다. HDFS. MapR, Ceph, KFS, 로컬을 지원하고 C++을 이용하여 개발되었다. 스토리지 아키텍처는 디스크를 지향하며 외국 키는 지원하지 않는다. 또한 시스템을 기본 클러스터에 간편히 추가하여 원활하고 경제적으로 크기를 페타바이트 단위로 확장할 수 있다.[1]
역사
- 2008년: 중국의 Zvents사에서 구글의 빅테이블를 기반으로 한 오픈소스 데이터베이스인 하이퍼테이블을 만들었다.
- 2009년: 1월 중국의 검색엔진 바이두가 프로젝트의 스폰서가 됐다.
- 2016년: 3월에 개발을 중단했으며 DB 엔진 순위에서 제외되었다..
특징
기업을 위한 상용 기술지원 서비스를 제공하며 다음과 같은 기능을 제공한다.
체크포인트
테이블 데이터를 임의의 순서대로 출력하여 하이퍼 테이블에 백업시키고, 하이퍼 테이블은 항상 체크포인트에서 일관되고 작동 가능한 상태로 되돌아올 수 있다.[2]
동시성 제어
다중 버전 동시성 제어(MVCC: Multi Version Concurrency Control)란 하이퍼 테이블이 가지고 있는 기능 중 하나로 수정된 번호로 자동으로 할당된 타임 스탬프를 사용한다.[3]
데이터 모델
하이퍼 테이블은 일련의 관련 열을 사용한다.
쿼리 인터페이스
하이퍼 테이블은 테이블을 생성하고 수정 및 쿼리하기 위한 HQL(Hypertable Query Language)을 제공한다. 이것을 사용해서 관리 명령을 호출할 수도 있다. HQL은 하이퍼 테이블 명령 줄 인터페이스(htshell), Thrift API 메소드 및 하이퍼 테이블로 해석할 수 있다.
스토리지 아키텍쳐
디스크 지향으로 하이퍼 테이블은 어떠한 파일 시스템에서도 실행할 수 있다. 파일 시스템(FS) 브로커는 모든 파일 시스템 요청을 처리한다. FS 브로커들은 현재 HDFS, MapR, Ceph, KFS 및 현지인을 지원한다.
지원 언어
SQL과 비슷한 HQL이라는 명령어를 지원한다. C++ API도 제공하며 다음 언어를 모두 지원한다. C ++, Java, Perl, PHP, Python, Ruby
버전
현재 버전은 2016년 3월에 릴리즈한 0.9.8.11이다.
현황
이 프로젝트의 설계 목표 중 가장 중요한 것은 최적의 성능으로 하이퍼 테이블이 Hadoop DFS와 같은 기존의 분산 파일 시스템에서 실행되도록 설계되었다. 설계자는 이를 위해 자바보다는 시스템의 전체적인 부분을 전적으로 C++으로 만들었으며 여러 언어와 호환된다. 그러나 2016년 3월부터 추가 개발을 중단하면서 DB 엔진 순위에서 제외되었다. 더욱이 관련 정보도 찾기 힘들다.
각주
참고자료
- 한국정보통신기술협회 - http://terms.tta.or.kr/dictionary/dictionaryView.do?word_seq=050536-3
- DB-ENGINES - https://db-engines.com/en/system/Hypertable
- 거울속 항해일지 , 〈hypertable 알아볼까?〉, 《티스토리 블로그》 , 2012-04-07
- 개발노트 , 〈(NoSQL) 종류 정리〉, 《티스토리 블로그》 , 2014-05-19
- 삼성SDS 커뮤니케이션팀 , 〈SMAC의 대량 데이터 처리를 위한 DBMS기술!〉, 《SAMSUNG SDS》 , 2015-06-03
- Doug Judd , 〈Hypertable - 오픈 소스, 고성능, 확장성있는 데이터베이스〉, 《QCon》, 2015-10-15
- 카네기 멜런 데이터 베이스 그룹 , 〈Hypertable〉 , 《Database of Databases》 , 2018-12-12
같이 보기