"하이퍼테이블"의 두 판 사이의 차이
잔글 (→특징) |
|||
12번째 줄: | 12번째 줄: | ||
기업을 위한 상용 기술지원 서비스를 제공하며 다음과 같은 기능을 제공한다. | 기업을 위한 상용 기술지원 서비스를 제공하며 다음과 같은 기능을 제공한다. | ||
− | + | * '''체크포인트''' : 테이블 데이터를 임의의 순서대로 출력하여 하이퍼 테이블에 백업시키고, 하이퍼 테이블은 항상 체크포인트에서 일관되고 작동 가능한 상태로 되돌아올 수 있다.<ref>윤승은, 〈[https://terms.naver.com/entry.nhn?docId=797348&cid=50376&categoryId=50376 체크 포인트]〉, 《정보통신용어사전》, 일진사, 2008-01-15</ref> | |
− | 테이블 데이터를 임의의 순서대로 출력하여 하이퍼 테이블에 백업시키고, 하이퍼 테이블은 항상 체크포인트에서 일관되고 작동 가능한 상태로 되돌아올 수 있다.<ref>윤승은, 〈[https://terms.naver.com/entry.nhn?docId=797348&cid=50376&categoryId=50376 체크 포인트]〉, 《정보통신용어사전》, 일진사, 2008-01-15</ref> | + | * '''동시성 제어''' : 다중 버전 동시성 제어(MVCC: Multi Version Concurrency Control)란 하이퍼 테이블이 가지고 있는 기능 중 하나로 수정된 번호로 자동으로 할당된 타임 스탬프를 사용한다.<ref>박기현, 〈[https://terms.naver.com/entry.nhn?docId=2271946&cid=51207&categoryId=51207 동시성 제어]〉, 《데이터 통신과 컴퓨터 네트워크》, 한빛아카데미(주), 2013-09-10</ref> |
− | + | * '''데이터 모델''' : 하이퍼테이블은 일련의 관련 열을 사용한다. | |
− | + | * '''쿼리 인터페이스''' : 하이퍼테이블은 테이블을 생성하고 수정 및 쿼리하기 위한 HQL(Hypertable Query Language)을 제공한다. 이것을 사용해서 관리 명령을 호출할 수도 있다. HQL은 하이퍼 테이블 명령 줄 인터페이스(htshell), Thrift API 메소드 및 하이퍼 테이블로 해석할 수 있다. | |
− | 다중 버전 동시성 제어(MVCC: Multi Version Concurrency Control)란 하이퍼 테이블이 가지고 있는 기능 중 하나로 수정된 번호로 자동으로 할당된 타임 스탬프를 사용한다.<ref>박기현, 〈[https://terms.naver.com/entry.nhn?docId=2271946&cid=51207&categoryId=51207 동시성 제어]〉, 《데이터 통신과 컴퓨터 네트워크》, 한빛아카데미(주), 2013-09-10</ref> | + | * '''스토리지 아키텍처''' : 디스크 지향으로 하이퍼테이블은 어떠한 파일 시스템에서도 실행할 수 있다. 파일 시스템(FS) 브로커는 모든 파일 시스템 요청을 처리한다. FS 브로커들은 현재 HDFS, MapR, Ceph, KFS 및 현지인을 지원한다. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 디스크 지향으로 | ||
=== 지원 언어 === | === 지원 언어 === | ||
− | [[SQL]]과 비슷한 HQL이라는 명령어를 지원한다. C++ API도 제공하며 다음 언어를 모두 지원한다. C ++, Java, Perl, PHP, Python, Ruby | + | [[SQL]]과 비슷한 HQL이라는 명령어를 지원한다. C++ API도 제공하며 다음 언어를 모두 지원한다. [[C++]], [[Java]], [[Perl]], [[PHP]], [[Python]], [[Ruby]] |
== 버전 == | == 버전 == |
2019년 6월 30일 (일) 20:00 판
하이퍼 테이블(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
같이 보기