September 2011
4 posts
Hbase 인덱스 패턴
Hbase에서는 로우키 이외에 인덱스가 제공되지 않습니다. 이런 특성 때문에 인덱스용 테이블이 스키마 설계에서 고려해야할 부분이 됩니다. 구글 엔지니어 Ryan Barrett가 2008년 구글 I/O에서 컬럼 기반 데이타베이스에서 사용할 인덱스에 대해 설명한 적이 있습니다. 이 패턴들은 구글의 빅 테이블(Big Table)을 위해 만든 것이지만 Hbase에도 적절합니다.
인덱스
Ryan Barrett는 인덱스를 세 종류로 나누었습니다.
Kind index
Single-property index
Composite index
Kind index
Select * from grandparent
조금 예제가 작위적인 면이 있는데요. 이 예제에서는 RDBMS에서는...
Hbase 스키마 디자인
Evan Liu가 작성한 Hbase schema design case stuied를 참고하여 Hbase 스키마 디자인을 알아봅니다.
예 1 locations을 봅시다.
China
- Beijing
- Shanghai
- Guangzhou
- Shandong
- Jinan
- Qingdao
- Sichuan
- Chengdu
기존의 RDBMS라면 다음과 같이 만들 수 있습니다.
loc_id PK
loc_name
parent_id
child_id
1
China
-
2,3,4,5
2
Beijing
1
-
…
-
-
9
Chengdu
1, 6
-
썩 좋은 설계 방식은 아니지만 의도는 이해할 수 있습니다.
...
2 tags
Hbase, Thrift 응용프로그램과 연결하기.
단독으로 설치된 Hbase에 Thrift를 설치합니다. Thirift는 페이스북이 만들기 시작한 이종 언어간의 소통을 위한 인터페이스입니다. 애플리케이션에서 Hbase에 접근할 때 주로 이 기술을 사용합니다.
먼저 서버에 Thrift가 설치되어 있어야 합니다. 이번에는 우분투 서버에서 설치하였는데 다른 환경에서도 큰 차이는 없을 것 같습니다. 아직까지 우분투에서 Thrift 패키지를 지원하지 않는 것 같아 빌드하였습니다. 다운로드에서 최신 버전을 받고 빌드를 해야합니다.
빌드에 앞서 우분투 요구사항을 확인하여 미리 패키지를 설치해줍니다. Required packages와 Optional packages의 항목들을 적절히 선택합니다. 맥을 쓰시는 분은 여기를 참고하십시요.
빌드를 하고...
1 tag
Hbase, 단독(standalone)으로 설치하기.
이 글은 Hbase QuickStart를 해본 것을 기록을 남긴 것입니다.
Hbase를 단독으로 설치하기 위해 미러를 이용합니다. Hbase가 Google의 BigTable이 Google File System에 의존하 듯 Hadoop에 의존할 줄 알았는데 단독 구성도 가능하네요.
tar xvzf hbase-0.90.4.tar.gz
mkdir rootdir
cd hbase-0.90.4
Hbase에서 쓸 rootdir을 만들었습니다. 이 디렉토리를 설정파일(conf/hbase-site.xml) 의 hbase.rootdir에 설정합니다.
<configuration>
<property>
<name>hbase.rootdir</name>
...