Return-Path: Delivered-To: apmail-incubator-cassandra-user-archive@minotaur.apache.org Received: (qmail 83339 invoked from network); 2 Mar 2010 22:18:24 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Mar 2010 22:18:24 -0000 Received: (qmail 7945 invoked by uid 500); 2 Mar 2010 22:18:19 -0000 Delivered-To: apmail-incubator-cassandra-user-archive@incubator.apache.org Received: (qmail 7925 invoked by uid 500); 2 Mar 2010 22:18:19 -0000 Mailing-List: contact cassandra-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-user@incubator.apache.org Delivered-To: mailing list cassandra-user@incubator.apache.org Received: (qmail 7917 invoked by uid 99); 2 Mar 2010 22:18:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Mar 2010 22:18:19 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jbellis@gmail.com designates 74.125.82.47 as permitted sender) Received: from [74.125.82.47] (HELO mail-ww0-f47.google.com) (74.125.82.47) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Mar 2010 22:18:12 +0000 Received: by wwb29 with SMTP id 29so397722wwb.6 for ; Tue, 02 Mar 2010 14:17:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=0jQXLEDDYb6iCREhflL+skhWisL9PcbkDgBmAAdbocA=; b=SWFBHS/Vv2qu+XzOeN7ECGuAPjTqob7XdCN9z8dPQkcNHaM3ssX8Vf/myPOP6rypPV 7YkJbBTDv0ma7lZ89fGxZ/W2lXnNOrC0XSRjzPGCN4cEHBlyT+xpDbgMixcO0uuRlAo6 uYbJBM+BHOAnFBj/LBjweiQ2EJRWIiGtiyyjM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=H7wadFVNJwYZUIcIwxoTrkvtni7slaXdOreBQ4MJL99VPUhfcLbbaTkOgbq5PkiiRq zoa46/fVDh3vsZK6V4Gz2C6WF16vWLoZY0BCUJgE8S9+WZxg8eSuOXlBYMbaxh6OKmJG VQ5NHd/kKrBxsqFuUhaRE3bffSmvm/1F+9MCs= MIME-Version: 1.0 Received: by 10.216.163.11 with SMTP id z11mr1214094wek.24.1267568271188; Tue, 02 Mar 2010 14:17:51 -0800 (PST) In-Reply-To: References: From: Jonathan Ellis Date: Tue, 2 Mar 2010 16:17:31 -0600 Message-ID: Subject: Re: Index values: data or pointers? To: cassandra-user@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Mar 2, 2010 at 4:13 PM, wrote: > I'm exploring data layouts and it seems like the common practice is to st= ore an index in one CF (e.g. userid for row key and thingid for column name= ) and then to fetch all the things by their thingids separately... so get i= ndex, and then get each key in the index. > > If a thing changes relatively infrequently but gets read often, seems lik= e it would be more performant (especially with writes being very fast) to j= ust stuff whole objects into indexes rather than simply ids. A "whole objec= t" could be a JSON object or a serialized class or who knows what. Yes. This is one place supercolumns can be very useful, since it allows doing this w/o nasty hacks like you mention. :) -Jonathan