Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-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 5D5C610D44 for ; Fri, 2 Aug 2013 00:32:39 +0000 (UTC) Received: (qmail 4843 invoked by uid 500); 2 Aug 2013 00:32:36 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 4825 invoked by uid 500); 2 Aug 2013 00:32:36 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 4817 invoked by uid 99); 2 Aug 2013 00:32:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Aug 2013 00:32:36 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of rcoli@eventbrite.com designates 209.85.216.42 as permitted sender) Received: from [209.85.216.42] (HELO mail-qa0-f42.google.com) (209.85.216.42) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Aug 2013 00:32:29 +0000 Received: by mail-qa0-f42.google.com with SMTP id bv4so25607qab.8 for ; Thu, 01 Aug 2013 17:32:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:x-gm-message-state; bh=mWyO0uoGM8SNa3WjIBlaUuJRrn7Dq1kDjjT8ZBMYKjI=; b=LerF1fuQg2UzWZp60mX3UoRs6xQgF3wU0Jgx0L8ZSTVBbf3tiLpKldGQnQkHf9xG6a AAFxTrqEt+C2l3eH5H5pkW1buCGRNOWrBmURXi9R1VdsrXA8EFsTjv45YW/UB0DysRQx 1dZd4VjyajWQOgzvOUyQv2j7Xy2Ni5FMyWE6IuMJQZ9O8L96pSrgpeij4Qn0/wLax/he UQa+tUiHgOLIxdskbEV+8GSHWOTnkdGippoKsk3eveKpzM2B7MKUakaB+DSN+p0+VLkB YwvfXcne6RbyJzFCdK4uGiUOUQ6PAzet5jQybG0vJZZ4T/kp+N/PDetllh4zzjbHaiB7 q+mQ== MIME-Version: 1.0 X-Received: by 10.224.163.16 with SMTP id y16mr8027048qax.54.1375403528167; Thu, 01 Aug 2013 17:32:08 -0700 (PDT) Received: by 10.49.72.133 with HTTP; Thu, 1 Aug 2013 17:32:08 -0700 (PDT) In-Reply-To: References: Date: Thu, 1 Aug 2013 17:32:08 -0700 Message-ID: Subject: Re: Secondary Indexes On Partitioned Time Series Data Question From: Robert Coli To: "user@cassandra.apache.org" Content-Type: multipart/alternative; boundary=089e0158b112b8352404e2ec16d3 X-Gm-Message-State: ALoCoQkcDiZ4Nq/ZCUQPLgWKr9niPKFCl3ZVPqrk0JwYfAqcGw5sTMcCT831jmYi0vNLEzUKDNAu X-Virus-Checked: Checked by ClamAV on apache.org --089e0158b112b8352404e2ec16d3 Content-Type: text/plain; charset=ISO-8859-1 On Thu, Aug 1, 2013 at 2:34 PM, Shahab Yunus wrote: > Can you shed some more light (or point towards some other resource) that > why you think built-in Secondary Indexes should not be used easily or > without much consideration? Thanks. > 1) Secondary indexes are more or less modeled like a manual pseudo Secondary Index CF would be. 2) Except they are more opaque than doing it yourself. For example you cannot see information on them in nodetool cfstats. 3) And there have been a steady trickle of bugs which relate to their implementation, in many cases resulting in them not returning the data they should. [1] 4) These bugs would not apply to a manual pseudo Secondary Index CF. 5) And the only benefits you get are the marginal convenience of querying the secondary index instead of a second CF, and atomic synchronized update. 6) Which most people do not actually need. tl;dr : "unless you need the atomic update property, just use a manual pseudo secondary index CF" =Rob [1] https://issues.apache.org/jira/browse/CASSANDRA-4785 , https://issues.apache.org/jira/browse/CASSANDRA-5540 , https://issues.apache.org/jira/browse/CASSANDRA-2897 , etc. --089e0158b112b8352404e2ec16d3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On Thu, Aug 1, 2013 at 2:34 PM, Shahab Yunus <shahab= .yunus@gmail.com> wrote:
Can you shed some more light (or poi= nt towards some other resource) that why you think built-in Secondary Index= es should not be used easily or without much consideration? Thanks.

1) Secondary indexes are more = or less modeled like a manual pseudo Secondary Index CF would be.
2) Except they are more opaque than doing it yourself. For example y= ou cannot see information on them in nodetool cfstats.
3) And there have been a steady trickle of bugs which relate to = their implementation, in many cases resulting in them not returning the dat= a they should. [1]
4) These bugs would not apply to a manua= l pseudo Secondary Index CF.
5) And the only benefits you get are the marginal convenience of= querying the secondary index instead of a second CF, and atomic synchroniz= ed update.
6) Which most people do not actually need.

tl;dr : "unless you need the atomic up= date property, just use a manual pseudo secondary index CF"

=3DRob


--089e0158b112b8352404e2ec16d3--