Return-Path: Delivered-To: apmail-hbase-user-archive@www.apache.org Received: (qmail 98032 invoked from network); 17 Dec 2010 19:01:50 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 17 Dec 2010 19:01:50 -0000 Received: (qmail 70763 invoked by uid 500); 17 Dec 2010 19:01:47 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 70735 invoked by uid 500); 17 Dec 2010 19:01:47 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 70727 invoked by uid 99); 17 Dec 2010 19:01:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Dec 2010 19:01:47 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of magnito@gmail.com designates 209.85.214.169 as permitted sender) Received: from [209.85.214.169] (HELO mail-iw0-f169.google.com) (209.85.214.169) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Dec 2010 19:01:42 +0000 Received: by iwn40 with SMTP id 40so1030047iwn.14 for ; Fri, 17 Dec 2010 11:01:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=2B38djHnwaYPQrnc4nXmmD5C4Z/m0NC9kFxrFyIwLoc=; b=RTg2yIVAv8d5dX/HufrA7HgyqqPCoG54pjWoX2VMEzD1SFmBTGSvF6HIGNMUx9dwBl Ms4h/hbFz4eegWQybnZ+WJ8DvM+DAMLTDake9UkjCgeg/96Vb1yl6ljJeSIgfkoROGB6 Sjr27d/kez12vakdqmzqdrsnW8klDk/f3c7kw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=uwYBlQAhHgqil1hNidmCN67bAGqsnZrl3FJMPj39LTtf3RmBnU6v7WUeuK/OoZMu/5 Z+T2+okjxE5ntoDjaPwEzNVllG/Rgz9FOLttGrNogRzHccJTvkttp0Pqf7SVuLT8Q6Fy MkoOC1MSsM+zHxHANT24VTyYyOs+Ac254ACv8= MIME-Version: 1.0 Received: by 10.231.145.209 with SMTP id e17mr1152894ibv.43.1292612481596; Fri, 17 Dec 2010 11:01:21 -0800 (PST) Received: by 10.231.196.160 with HTTP; Fri, 17 Dec 2010 11:01:21 -0800 (PST) In-Reply-To: References: Date: Fri, 17 Dec 2010 11:01:21 -0800 Message-ID: Subject: Re: question about multi-transaction queries From: Jack Levin To: user@hbase.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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 wrote: > How many columns? =A0Its columns right, and not column families? > > Are the 1k rows contiguous? =A0Can you Scan? =A0For insert of 1k rows, yo= u > know how to do that now, right? =A0Will they be substantial rows -- 10s > to 100s of ks? -- or just small? =A0Do you have multiput available in > the REST interface, I don't recall. > > Try REST since you know that interface. =A0Jython 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-importin= g.html) > but a bunch has changed since then -- hbase-wise and jython has > probably gotten a lot better. =A0If 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 wrote: >> Hello. =A0 We plan to run a set of queries on tables with multiple >> columns. =A0What is the most efficient method to say, insert 1000 rows, >> and/or read 1000 rows. >> We are considering just using REST. =A0But what about jython? Will it be >> faster? =A0Another way to have our apps talk to nginx and some sort of >> app tier running via fast-cgi. >> >> Any ideas? >> >> -Jack >> >