We will have php querying hbase over tcp, and we need a connector on the hbase end to return content the fastest way possible
-Jack On Dec 17, 2010, at 1:32 PM, Jonathan Gray <[email protected]> wrote: > I'm not sure I understand. > > Are you trying to build a client? Or you want something that behaves like > the mysql client? > >> -----Original Message----- >> From: Jack Levin [mailto:[email protected]] >> Sent: Friday, December 17, 2010 1:28 PM >> To: [email protected] >> Cc: [email protected] >> Subject: Re: question about multi-transaction queries >> >> Client is a tcp framework similar to mysql client that should be able to send >> 1000 gets in one transaction, like a json obj that has all the keys >> >> -Jack >> >> >> On Dec 17, 2010, at 1:21 PM, Jonathan Gray <[email protected]> wrote: >> >>> I'm not sure exactly what your requirements are but what exactly is your >> client interface? There is no persistent process anywhere serving client >> requests? >>> >>>> -----Original Message----- >>>> From: Jack Levin [mailto:[email protected]] >>>> Sent: Friday, December 17, 2010 12:44 PM >>>> To: [email protected] >>>> Subject: Re: question about multi-transaction queries >>>> >>>> Do you happen to know if anyone have written or using something like >>>> that as open source? I would imagine this being super useful. There >>>> is a question of interface too, I assume it would be TCP. Is there >>>> sort of Jetty plugin available? Now I somewhat realize that I am >>>> just describing existing REST, but afaik, it does not support multi-get. >>>> >>>> -Jack >>>> >>>> On Fri, Dec 17, 2010 at 11:57 AM, Jonathan Gray <[email protected]> wrote: >>>>> Yes, some kind of running JVM. I would not recommend starting a JVM >>>>> for each query :) >>>>> >>>>>> -----Original Message----- >>>>>> From: Jack Levin [mailto:[email protected]] >>>>>> Sent: Friday, December 17, 2010 11:28 AM >>>>>> To: [email protected] >>>>>> Subject: Re: question about multi-transaction queries >>>>>> >>>>>> Ok, does it mean though we would incur Java startup cost? Or do >>>>>> you propose we write some sort of java server that has the JVM >>>>>> running and is able to get multi-get queries? >>>>>> >>>>>> Thanks. >>>>>> >>>>>> -Jack >>>>>> >>>>>> On Fri, Dec 17, 2010 at 11:15 AM, Jonathan Gray <[email protected]> >> wrote: >>>>>>> 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 >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>>
