Return-Path: X-Original-To: apmail-hbase-user-archive@www.apache.org Delivered-To: apmail-hbase-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C190E4695 for ; Thu, 7 Jul 2011 19:11:51 +0000 (UTC) Received: (qmail 86889 invoked by uid 500); 7 Jul 2011 19:11:50 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 86844 invoked by uid 500); 7 Jul 2011 19:11:49 -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 86836 invoked by uid 99); 7 Jul 2011 19:11:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jul 2011 19:11:49 +0000 X-ASF-Spam-Status: No, hits=2.9 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [98.139.52.234] (HELO nm14-vm0.bullet.mail.ac4.yahoo.com) (98.139.52.234) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 07 Jul 2011 19:11:39 +0000 Received: from [98.139.52.188] by nm14.bullet.mail.ac4.yahoo.com with NNFMP; 07 Jul 2011 19:11:18 -0000 Received: from [98.139.52.133] by tm1.bullet.mail.ac4.yahoo.com with NNFMP; 07 Jul 2011 19:11:18 -0000 Received: from [127.0.0.1] by omp1016.mail.ac4.yahoo.com with NNFMP; 07 Jul 2011 19:11:18 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 545152.91039.bm@omp1016.mail.ac4.yahoo.com Received: (qmail 46008 invoked by uid 60001); 7 Jul 2011 19:11:18 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1310065878; bh=OmqBcTVz10L0XMoj5FY+r8nswL3jTN32t7SW0TmaMiA=; h=X-YMail-OSG:Received:X-RocketYMMF:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=F4gOtg4H0A5H9hzrq6Fm1nuRnx2DcWm238SbNxTaVqwEjVk+wp+YdVocXdhgbC9M4+qHlIIuCCdbJyZrLLGBZBSXzrMwkIChXhunatP4j21+2su80IxwGHrF8a3Nw+S75Vkhf2KSJFMo6CwTTdYLAOcj7OvIiA6664E8GtngbUo= X-YMail-OSG: pz23G.kVM1nPXk_5h2pi2VGYteLMA.qAua8SYhRn7A.MJQx VC0YsNpyhXa1qbhAcRpBovFqZSLS_G2BIsdBbvg32yjDTXH5kyBpVf01J7FH WzKamdI1ze6VRSx4hTBFvK3ybCVNYCtgId4.iImso_yGrd.r0r7EIvcgMGFE Rin.D2Xka.hQIdNXl43geTPkLrfUsD7IXdha5ptSWKbYiCk5fwVg9x0XlO_. 7zWDcMwKC85xmPN7HwXhcZCIVYrBKWGr3aKkI71QqOCoFHuXoE8dZv2lSrVP UIPYaT0.RwGOk1OZ77jXC04SLS.HGz1hR2dhzDufyg5jz2vQOcIgEzyAwv6j y8jFUmiWM8OWcrlsQ9QiSoH5wyY_qdaN1RGxYvWnm0Gqp8zLa3_PpvgmcUHb IV0itPMGmSDtvucZMN2ZE7xrtEKuxtylux0Biby3p_7BA0GlJu7rCkO1auJq Xp6hzsuxt573G3JImzt5jKUbrImTiBYgVQa_zhx4R9RXXwAHh1ZixsMeK9NB .XH4XuHBDUnNBNv3oeFfsDR3X1fDfdCJa6ssb_34YvbIjWQ4CNW0a_zT.RZv n8C7L.1lF0EEvIbQ.zFXp1wPRNPfJBq.k Received: from [69.231.27.174] by web65507.mail.ac4.yahoo.com via HTTP; Thu, 07 Jul 2011 12:11:18 PDT X-RocketYMMF: apurtell X-Mailer: YahooMailWebService/0.8.112.307740 References: <1310062928.68801.YahooMailNeo@web65515.mail.ac4.yahoo.com> Message-ID: <1310065878.43031.YahooMailNeo@web65507.mail.ac4.yahoo.com> Date: Thu, 7 Jul 2011 12:11:18 -0700 (PDT) From: Andrew Purtell Reply-To: Andrew Purtell Subject: Re: Hbase performance with HDFS To: Mohit Anchlia , "user@hbase.apache.org" In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-1881162354-1310065878=:43031" X-Virus-Checked: Checked by ClamAV on apache.org --0-1881162354-1310065878=:43031 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Some thoughts off the top of my head. Lars' architecture material might/sho= uld cover this too. Pretty=A0sure his book will.=A0=0A=0ARegarding reads:= =0A=0AOne does not have to read a whole HDFS block. You can request arbitra= ry byte ranges with the block, via positioned reads. (It is true also that = HDFS can be improved for better random reading performance in ways not nece= ssarily yet committed to trunk or especially a 0.20.x branch with append su= pport for HBase. See=A0https://issues.apache.org/jira/browse/HDFS-1323)=0A= =0AHBase holds indexes to store files in HDFS in memory. We also open all s= tore files at the HDFS layer and stash those references. Additionally, user= s can specify the use of bloom filters to improve query time performance th= rough wholesale skipping of HFile reads if they are known not to contain da= ta that satisfies the query. Bloom filters are held in memory as well.=0A= =0ASo with indexes resident in memory when handling Gets we know the byte r= anges within HDFS block(s) that contain the data of interest. With position= ed reads we retrieve only those bytes from a DataNode. With optional bloomf= ilters we avoid whole HFiles entirely.=0A=0ARegarding writes:=0A=0AI think = you should consult the bigtable paper again if you are still asking about t= he write path. The database is log structured. Writes are accumulated in me= mory, and flushed all at once. Later flush files are compacted as needed, b= ecause as you point out GFS and HDFS are optimized for streaming sequential= reads and writes.=0A=0A=0ABest regards,=0A=0A=0A=A0 - Andy=0A=0AProblems w= orthy of attack prove their worth by hitting back. - Piet Hein (via Tom Whi= te)=0A=0A=0A>________________________________=0A>From: Mohit Anchlia =0A>To: user@hbase.apache.org; Andrew Purtell =0A>Sent: Thursday, July 7, 2011 11:53 AM=0A>Subject: Re: Hbase p= erformance with HDFS=0A>=0A>I have looked at bigtable and it's ssTables etc= . But my question is=0A>directly related to how it's used with HDFS. HDFS r= ecommends large=0A>files, bigger blocks, write once and read many sequentia= l reads. But=0A>accessing small rows and writing small rows is more random = and=0A>different than inherent design of HDFS. How do these 2 go together a= nd=0A>is able to provide performance.=0A>=0A>On Thu, Jul 7, 2011 at 11:22 A= M, Andrew Purtell wrote:=0A>> Hi Mohit,=0A>>=0A>> Sta= rt here:=A0http://labs.google.com/papers/bigtable.html=0A>>=0A>> Best regar= ds,=0A>>=0A>>=0A>> =A0 =A0 - Andy=0A>>=0A>> Problems worthy of attack prove= their worth by hitting back. - Piet Hein (via Tom White)=0A>>=0A>>=0A>>>__= ______________________________=0A>>>From: Mohit Anchlia =0A>>>To: user@hbase.apache.org=0A>>>Sent: Thursday, July 7, 2011 11:1= 2 AM=0A>>>Subject: Hbase performance with HDFS=0A>>>=0A>>>I've been trying = to understand how Hbase can provide good performance=0A>>>using HDFS when p= urpose of HDFS is sequential large block sizes which=0A>>>is inherently dif= ferent than of Hbase where it's more random and row=0A>>>sizes might be ver= y small.=0A>>>=0A>>>I am reading this but doesn't answer my question. It do= es say that=0A>>>HFile block size is different but how it really works with= HDFS is=0A>>>what I am trying to understand.=0A>>>=0A>>>http://www.larsgeo= rge.com/2009/10/hbase-architecture-101-storage.html=0A>>>=0A>>>=0A>>>=0A>= =0A>=0A> --0-1881162354-1310065878=:43031--