2013-05-24 2 views
10

HBase에 대한 REST 및 Thrift에 대한 StackOverflow에 몇 가지 게시물이 있지만 성능 문제에 조금 집중하고 싶습니다. 일부 후 https://github.com/apache/thrift/tree/trunk/lib/nodejs HBase : Thrift 대 Rest 성능

:

  • 노드 HBase를 : https://github.com/wdavidw/node-hbase
  • 노드 중고품 내가 HBase를 인스턴스에 연결하는 Node.js를에서 다음 라이브러리와 함께 연주 한

    Thrift 게이트웨이에서 응답을 얻지 못하는 이유를 알아내는 데 어려움을 겪었으므로 마침내 두 스크립트가 실행되어 다음 결과가 나타났습니다 (각 결과는 1000 ops로 완료 됨).

    , https://github.com/stelcheck/node-hbase-vs-thrift

    내 질문은 사람이 REST와 드리프트 사이의 차이만큼 큰은 (모든 응용 프로그램/언어도 단지 일반적으로 또는) HBase를 위해 발견했습니다 사용

    ┌─[[email protected]]─[~/Sources/node-hbase] 
    └──╼ node hbase.js 
    hbase-write: 99ms 
    hbase-write: 3412ms 
    hbase-write: 3854ms 
    hbase-write: 3924ms 
    hbase-write: 3808ms 
    hbase-write: 9035ms 
    hbase-read: 216ms 
    hbase-read: 4676ms 
    hbase-read: 3908ms 
    hbase-read: 3498ms 
    hbase-read: 4139ms 
    hbase-read: 3781ms 
    completed 
    ┌─[[email protected]]─[~/Sources/node-hbase] 
    └──╼ node thrift.js 
    hbase-write: 4ms 
    hbase-write: 931ms 
    hbase-write: 1061ms 
    hbase-write: 988ms 
    hbase-write: 839ms 
    hbase-write: 807ms 
    hbase-read: 2ms 
    hbase-read: 435ms 
    hbase-read: 562ms 
    hbase-read: 414ms 
    hbase-read: 427ms 
    hbase-read: 423ms 
    completed 
    ┌─[[email protected]]─[~/Sources/node-hbase] 
    └──╼ 
    

    스크립트는 여기에서 찾을 수 있습니다?

+0

http://stackoverflow.com/questions/11025901/is-there-any-performance-benchmark-for-thrift-on-hbase에 링크 된 벤치 마크에 따르면, Thrift는 실제로 매우 빠릅니다 ...하지만 REST는 어떨까요? ? 결국 나에게는 그다지 차이가 ​​없어야하는 것 같습니다 ... –

답변

5

REST는 스키마가 데이터 자체에 나타나도록 XML 또는 JSON 중 하나로 전달합니다. Thrift는 이렇게하지 않습니다. 단지 생성 된 엔티티에 대해 역 직렬화 만 할 수있는 바이트로드입니다 (절약 IDL 정의에 기반).

따라서 데이터가 압축되는 방식에 관계없이 절약은 다른 개체가 이진 데이터를 해석하는 데 의존하는 "비용"으로 스키마가 없으므로 빠릅니다.

+0

그 차이점을 설명해야하지만 반드시 그 전부가 아닐까요? 게다가, 로그 요청 빈도를 1000 번 요청에서 100 번으로 줄이면 잠시 동안 빠르다가 기다려집니다. 그러면 기다립니다 ... 기본적으로 200-300 건의 요청이 발생합니다. –

2

당신이 하나를 시도 할 수 있습니다 : https://github.com/alibaba/node-hbase-client

이 지역 서버 & 사육사에 직접 연결합니다.

+0

꽤 멋진 것 같습니다! 실제로, 나는 Thrift 또는 REST를 결국 사용하지 않는 것을 선호합니다. –

+0

Dnode? https://github.com/substack/dnode – xrDDDD