hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Sigoure (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2170) hbase lightweight client library as a distribution
Date Sat, 19 Mar 2011 07:19:29 GMT

    [ https://issues.apache.org/jira/browse/HBASE-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13008737#comment-13008737
] 

Benoit Sigoure commented on HBASE-2170:
---------------------------------------

bq. @Lars I don't think we'll be bringing asynchbase into core (BenoƮt won't let us! Ahead
of his refusal, he makes a good argument that it makes no sense bringing it in)

Yeah, I don't think asynchbase will ever be part of core.
* asynchbase is .. well.. async.  Most programmers don't feel comfortable with this programming
paradigm.  Plus Java has extremely poor support for asynchronous programming (because the
syntax required to write callbacks is extremely verbose and pollutes the code and because
the standard libraries don't play nicely with asynchronous programming).  I still think parallel
asynchronous programming is the best option for truly scalable application servers, but I
can also understand that average programmers need simple APIs that use paradigms they're used
to.
* Having said that, an async interface can easily be turned into a sync interface (the opposite
isn't true), but I have no interest in maintaining a sync interface that wraps the asynchbase
interface. 
* asynchbase uses a license that is in "Category X" (excluded) for Apache projects (LGPLv3+).
 I have no interest in debating politics / licenses in this thread.  I just want to precise
that contrary to a popular belief, LGPLv3+ isn't incompatible with the Apache license (version
2), it's just not allowed by the Apache Software Foundation in Apache projects.  A lot of
people believe there is an incompatibility due to popular misinformation.
* I personally do not wish to work with SVN and JIRA.  Even with {{git-svn}}.  I'm currently
more than happy to maintain [asynchbase on GitHub|https://github.com/stumbleupon/asynchbase].

I hope you understand.

Having said that, I think asynchbase contains a sane implementation and I'd be happy to answer
any question you might have about it.  It contains [detailed documentation of the HBase RPC
protocol|https://github.com/stumbleupon/asynchbase/blob/master/src/HBaseRpc.java] and [greatly
outperforms the traditional HBase client|http://mail-archives.apache.org/mod_mbox/hbase-user/201102.mbox/%3CAANLkTi=JU+7TPc5=CcTzamyLMXBL5cYVVOS73J1Y-TBX@mail.gmail.com%3E].
 After switching [OpenTSDB|http://opentsdb.net/] to it, I was able to push up to an order
of magnitude more write throughput to HBase.  When doing a batch import where the data source
is single threaded, I can push up to 200k {{KeyValue}} per second to HBase (without WAL) on
a 4 year old CPU.

> hbase lightweight client library as a distribution 
> ---------------------------------------------------
>
>                 Key: HBASE-2170
>                 URL: https://issues.apache.org/jira/browse/HBASE-2170
>             Project: HBase
>          Issue Type: Wish
>            Reporter: Kay Kay
>         Attachments: jdepend-report.html
>
>
> As a wish - it would be nice to have a hbase client library (subset of the current hbase
distribution) that needs to be present at the hbase client level to interact with the master/region
servers. 
> From an app integration - users of hbase can just link against the client library as
opposed to getting the entire library to link against. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message