hbase 0.20 성능???

6월 초에 미국에서 있었던 Hadoop Summit2009에서 Hbase 발표 자료가 공개 되었습니다.
http://wiki.apache.org/hadoop-data/attachments/HBase(2f)HBasePresentations/attachments/HBase_Goes_Realtime.pdf

HBase0.20에서는 Master Server의 Failover를 위해 ZooKeeper를 사용하는 부분과 성능 개선 크게 두분에 중점을 두었다고 합니다. "HBase goes realtime" 발표 자료 제목에서 보듯이 성능을 크게 향상 시켰다고 합니다.
Cache를 사용하지 않고 Sequential write 성능이 1 row 당 0.024ms 라고 합니다. 0.19에서는 클라이언트 측 Cache에 대한 속임수가 있었는데(http://www.jaso.co.kr/321 참고) 발표자료에서 Uncached라고 명시 되어 있네요. 이 발표 자료도 처음 보았을 때는 Wow!!! 하며 깜짝 놀랐습니다. 1 row 처리하는데 0.24ms도 아닌 0.024ms, 다시 말해 1초에 40,000 TPS 정도의 성능입니다. 
테스트 환경이나 테스트 데이터에 대해 나와 있지 않지만 기존 테스트 코드를 참조해서 1 record = 1000 byte라고 했을 때 0.24ms 이면 bandwidth로 하면 40MB/sec 정도입니다. 일반적으로 SATA 디스크의 경우 70MB ~ 90MB/sec이고 1Gbps 네트워크의 100MB/sec 정도인 것을 생각하면 0.024ms라는 수치는 정상적인 수치는 아니라는 생각이 듭니다. 확인할 수 있는 방법은 테스트 코드를 돌려보는 수 밖에 없겠네요...

-------------------------------------------------------------------
조금 더 찾아 보니 1 record가 1000byte가 아니라 16 byte라고 합니다. bandwidth로 하면 650KB/sec 정도네요... 그리고 random write가 아니라 sequential write인 것을 보면 RPC로 통신하면서 row 당 한번의 call로 하는 것이 아니라 neptune의 uploader와 비슷하게 한번에 쭉 밀어 넣는 방식으로 처리하는 것이 아닐까 하고 추측해 봅니다. 정확한 건 코드를 봐야 겠죠. ㅋㅋㅋ
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


Trackback URL : http://www.jaso.co.kr/trackback/359

Comments List

  1. typos 2009/06/23 14:55 # M/D Reply Permalink

    oh! Great!!! ㅋㅋ 진실을 테스트 해주세요.

Leave a comment
« Previous : 1 : ... 81 : 82 : 83 : 84 : 85 : 86 : 87 : 88 : 89 : ... 388 : Next »