본문 바로가기

Programming/HBase

HBase 에서 region 수를 작게 해야 하는 이유 Region 수는 보통 Region Server 당 100개 정도가 적당하다. HBase 의 region 수를 작게 하는대에는 아래와 같은 이유가 있다. 1. MSLAB (MemStore-local allocation buffer) 때문인데, MemStore 하나당 2MB 를 필요로 한다. 그래서 예를 들면, 1000개의 region 과 2 개의 column family 를 가진다고 가정하면 저장을 하지 않았는데도, 대략 3.9 GB 의 heap 공간이 필요하다. 2. 많은수의 region 은 대량의 Compaction 을 유발하기 때문이다. 3. HBase master 서버는 많은수의 region 에 대해서 민감하다. 이렇게 많은 수의 region 때문에 region 을 할당하고 이동시키는데 많은 시간.. 더보기
HBase rolling restart HBase 를 rolling restart 하고자 할때는 보통 설정파일을 업데이트 하거나 HBase 자체의 version up 을 하고 싶을 때 수행한다. Rolling Restart 는 보통 아래와 같은 절차로 수행한다. 새로운 HBase 버전의 압축을 해제하고 설정파일들을 확인하고 이 설정파일들을 Cluster 전체에 동기화 시킨다.Apache HBase 를 사용한다면, hbck 라는 Cluster consistency 를 확인해 주는 프로그램을 실행한다.Master 서버를 restart 한다.Region Server 들을 gracefull restart 를 진행한다.gracefull restart 를 할때 천천히 수행 하는 것이 바람직하다. 모든 region 서버가 동시에 offline 이 되면 성.. 더보기
HBase ACID Reference HBASE 에서 제공하는 ACID 개념과 특징 들에 대해서 설명한다. Atomicity - 하나의 operation 은 전부 성공 혹은 전부 실패이다.Consistency - 모든 action 들은 테이블의 상태가 하나의 유효한 상태에서 다른 상태로 변하게 한다.Isolation - 하나의 operation 은 동시에 실행되는 transaction 들과는 완벽히 독립적으로 수행된다.Durability - update 가 성공했으면, 이 update 는 유실되지 않는다.Visibility - 업데이트에 수반된 read operation 은 update 되는 것을 볼 수 있다.HBASE 에서 보장하는 ACID Atomicity하나의 row 에 행해지는 변경사항은 모두 성공 혹은 실패로 끝이 난다.하나의 ro.. 더보기