Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> question about multi-transaction queries


Copy link to this message
-
RE: question about multi-transaction queries
All of my experience doing something like this was with straight Java.

There are MultiGet and MultiPut capabilities in the Java client that will help you out significantly.

I played with Jython and HBase a couple years ago and back then the performance was horrible.  I never looked back but I have no idea if it's gotten better in the meantime.

JG

> -----Original Message-----
> From: Jack Levin [mailto:[EMAIL PROTECTED]]
> Sent: Friday, December 17, 2010 11:01 AM
> To: [EMAIL PROTECTED]
> Subject: Re: question about multi-transaction queries
>
> Lets just say its one row key with two columns.  Non contiguous records.  We
> want to read as fast as possible.  So we did some tests, and with MongoDB
> the random reads of 1000 records is about 80ms.
> While HBASE with jython is 400ms or so.
> Question is, as we develop our applications what is the best method to
> retrieve many rows the fastest way possible?  We are talking about 1 client
> here, not many clients.  For many clients, REST seems to be appropriate, but
> here we have a Frontend server rendering content quickly and we need to
> reduce the query overhead for HBASE and get data fast.
>
> -Jack
>
> On Sat, Dec 11, 2010 at 10:55 AM, Stack <[EMAIL PROTECTED]> wrote:
> > How many columns?  Its columns right, and not column families?
> >
> > Are the 1k rows contiguous?  Can you Scan?  For insert of 1k rows, you
> > know how to do that now, right?  Will they be substantial rows -- 10s
> > to 100s of ks? -- or just small?  Do you have multiput available in
> > the REST interface, I don't recall.
> >
> > Try REST since you know that interface.  Jython might be faster though
> > a test done more than a year ago had jython as slow
> > (http://ryantwopointoh.blogspot.com/2009/01/performance-of-hbase-
> impor
> > ting.html) but a bunch has changed since then -- hbase-wise and jython
> > has probably gotten a lot better.  If jython route, make sure you keep
> > the interpreter afloat rather than launch it per request (so yes,
> > fastcgi would make sense).
> >
> > St.Ack
> >
> > On Fri, Dec 10, 2010 at 9:59 PM, Jack Levin <[EMAIL PROTECTED]> wrote:
> >> Hello.   We plan to run a set of queries on tables with multiple
> >> columns.  What is the most efficient method to say, insert 1000 rows,
> >> and/or read 1000 rows.
> >> We are considering just using REST.  But what about jython? Will it
> >> be faster?  Another way to have our apps talk to nginx and some sort
> >> of app tier running via fast-cgi.
> >>
> >> Any ideas?
> >>
> >> -Jack
> >>
> >
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB