The Thrift and REST connectors have different aims. My rule of thumb
is this:
If you need cross platform/language compatibility in a single tenant
deployment, use the Thrift connector, especially if you anticipate a
high rate of small data operations. It offers performance near the
Java native API for this type of use.
If you need cross platform/language compatibility in a *multi* tenant
deployment, use the REST connector (Stargate) in a servlet deployment
and configure authorization/authentication according to the
capabilities of the servlet container. You can also stack the REST
option in a layered architecture:
clients
/|\
|
\|/
+-------------------------+
| cache (reverse proxy) |
+-------------------------+
| authentication |
+-------------------------+
|REST connector (Stargate)|
+-------------------------+
/|\
|
\|/
HBase
Stargate is cache aware. Cache and authentication can be combined:
http://linuxdevcenter.com/pub/a/linux/2001/08/09/authen_squid.html
There's no comparable stacking on the Thrift side that I'm aware.
- Andy
----- Original Message ----
> From: Jean-Daniel Cryans <[email protected]>
> To: [email protected]
> Sent: Tue, February 9, 2010 9:53:08 AM
> Subject: Re: Hbase thrift status 0.20.3
>
> We use thrift in production to communicate with HBase here at Stumbleupon
> and the Stargate REST API is also well supported (and has a nice ruby client
> http://github.com/greglu/hbase-stargate).
>
> J-D
>
> On Tue, Feb 9, 2010 at 8:30 AM, Saptarshi Guha wrote:
>
> > Hello
> > Currently what is the best way to communicate with hbase outside of
> > java? I think thrift appears to be the best , is it still very much
> > part of Hbase 0.20.3?
> >
> > Thank you
> > saptarshi
> >