Return-Path: Delivered-To: apmail-cassandra-dev-archive@www.apache.org Received: (qmail 35590 invoked from network); 21 Oct 2010 15:45:31 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Oct 2010 15:45:31 -0000 Received: (qmail 46527 invoked by uid 500); 21 Oct 2010 15:45:31 -0000 Delivered-To: apmail-cassandra-dev-archive@cassandra.apache.org Received: (qmail 46239 invoked by uid 500); 21 Oct 2010 15:45:28 -0000 Mailing-List: contact dev-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list dev@cassandra.apache.org Received: (qmail 46231 invoked by uid 99); 21 Oct 2010 15:45:28 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Oct 2010 15:45:28 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS X-Spam-Check-By: apache.org Received-SPF: unknown (athena.apache.org: error in processing during lookup of izquierdo@strands.com) Received: from [217.116.18.226] (HELO mail.strands.com) (217.116.18.226) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Oct 2010 15:45:22 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.strands.com (Postfix) with ESMTP id CD4602972C9 for ; Thu, 21 Oct 2010 17:45:00 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at strands.com X-Spam-Score: -9.5 X-Spam-Level: Received: from mail.strands.com ([127.0.0.1]) by localhost (mail.strands.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4WKlKNL3tEV4 for ; Thu, 21 Oct 2010 17:45:00 +0200 (CEST) Received: from [192.168.1.146] (mad-acens [93.90.24.166]) (using SSLv3 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: izquierdo) by mail.strands.com (Postfix) with ESMTPSA id 49932195918 for ; Thu, 21 Oct 2010 17:45:00 +0200 (CEST) Subject: Re: Would it be possible to do a ColumnCache? From: =?ISO-8859-1?Q?H=E9ctor?= Izquierdo Seliva To: dev@cassandra.apache.org In-Reply-To: References: <1287572115.2537.7.camel@mierdi-laptop> Content-Type: text/plain; charset="UTF-8" Date: Thu, 21 Oct 2010 17:44:59 +0200 Message-ID: <1287675899.1990.12.camel@mierdi-laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 8bit X-Old-Spam-Flag: NO X-Old-Spam-Status: No, score=-9.5 required=5.1 tests=[ALL_TRUSTED=-5.5, BAYES_00=-4] autolearn=ham El jue, 21-10-2010 a las 00:02 -0500, Jonathan Ellis escribió: > I don't think it's possible. Cassandra's data model means you can't > know what columns are present in a row, so if you query, say, name and > birthdate from your users column family and only the name column is in > the cache for the row you are querying, does that mean that birthdate > doesn't exist in that row? Or just that it's not cached? You don't > know, so you'd have to do a full read every time. Similar > difficulties arise with slices. I was thinking in a column cache to be used when you need a slice of a row, where you'd ask the cache for all the rows in the slice, and then read from disk whichever rows weren't in cache. If the columns you want don't exist, you still hit the disk, but you get a nice speedup for existing columns. If you want write-through cache then things complicate a bit, but it should be doable. The question is, would the performance improvement justifies the increase in complexity? > > 2010/10/20 Héctor Izquierdo Seliva : > > Hi. Before wasting time in something that might not be feasible at the > > moment, I wanted to ask the devs if a column cache would be possible > > (instead of a whole row cache). This would allow users with fat rows to > > also use a cache and reduce latency for hot data. > > > > If this is possible, i'd appreciate some hints about where to dig. > > > > Thanks for your time! > > > > > > >