Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 732F9920C for ; Wed, 4 Apr 2012 18:56:22 +0000 (UTC) Received: (qmail 4081 invoked by uid 500); 4 Apr 2012 18:56:21 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 3917 invoked by uid 500); 4 Apr 2012 18:56:21 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 3909 invoked by uid 99); 4 Apr 2012 18:56:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Apr 2012 18:56:21 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of saint.ack@gmail.com designates 209.85.212.41 as permitted sender) Received: from [209.85.212.41] (HELO mail-vb0-f41.google.com) (209.85.212.41) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Apr 2012 18:56:15 +0000 Received: by vbbey12 with SMTP id ey12so628439vbb.14 for ; Wed, 04 Apr 2012 11:55:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; bh=W/bVxYpcDkp1VTpMD/XkUC7QV3ZIj86YqdzM5WaLfKY=; b=E5j0zheLa9kTBxO7ZbGdZ86pHOPI5RT7jo98er/gTB6X9ABpks/NwksoOyODdtEwM7 2i0HdZosCzEwcqLMAAO7DzbjtYBq2L2NlS1+QHeAmc8Au6X7+dIh8jHw050FM0FNZ8SJ EqD5tqfJfZgi7XSoLGl0KmG9GO7JIgUb66Ky+pci0+5JP7oW5CsfQoSbkarFprq/+7Vo LYlNs7W6U/pm4tODigVq1CQK5TkOXaBkel6QBH4vq/FK2MbRzugVSjmCkpJkLOY/67dm bGDtAFf4h5+GmB6nenAzDUU4OXsUJiVxkhSPZqDb+AycM+aFl8MpbMusPZzKYdp8vI+M kCzQ== MIME-Version: 1.0 Received: by 10.52.66.34 with SMTP id c2mr7182289vdt.6.1333565754364; Wed, 04 Apr 2012 11:55:54 -0700 (PDT) Sender: saint.ack@gmail.com Received: by 10.220.149.129 with HTTP; Wed, 4 Apr 2012 11:55:54 -0700 (PDT) In-Reply-To: References: Date: Wed, 4 Apr 2012 11:55:54 -0700 X-Google-Sender-Auth: B09ro1u7TX6_Kp29Kj33S-MtYLw Message-ID: Subject: Re: keyvalue cache From: Stack To: dev@hbase.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Wed, Apr 4, 2012 at 11:40 AM, Matt Corgan wrote: > I guess the benefit of the KV cache is that you are not holding entire 64= K > blocks in memory when you only care about 200 bytes of them. =A0Would an > alternative be to set a small block size (2KB or less)? > > The problems with small block sizes would be expensive block cache > management overhead and inefficient scanning IO due to lack of read-ahead= . > =A0Maybe improving the cache management and read-ahead would be more gene= ral > improvements that don't add as much complexity? > I tend to think that there would be bigger bang for the buck doing such as Matt describes above (plus things like the Todd started MemStore improvements). > I'm having a hard time envisioning how you would do invalidations on the = KV > cache and how you would merge its entries into a scan, etc. =A0Would it > basically be a memstore in front of the memstore where KVs get individual= ly > invalidated instead of bulk-flushed? =A0Would it be sorted or hashed? > In the distant past, ruminations on a KV cache had it that it'd be hard to do. I could see it being good for hot cells or short, hot rows -- it could make some some sub-ms savings I'd guess w/ some savings in cpu -- for sure but it couldn't really be used by scanners (least not w/o some interesting gymnastics). St.Ack