Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DF6111825A for ; Tue, 14 Jul 2015 15:25:09 +0000 (UTC) Received: (qmail 58075 invoked by uid 500); 14 Jul 2015 15:25:09 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 58035 invoked by uid 500); 14 Jul 2015 15:25:09 -0000 Mailing-List: contact commits-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 commits@cassandra.apache.org Received: (qmail 58018 invoked by uid 99); 14 Jul 2015 15:25:09 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 14 Jul 2015 15:25:09 +0000 Date: Tue, 14 Jul 2015 15:25:09 +0000 (UTC) From: "Carl Yeksigian (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CASSANDRA-6477) Materialized Views (was: Global Indexes) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-6477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14626471#comment-14626471 ] Carl Yeksigian commented on CASSANDRA-6477: ------------------------------------------- bq. That said, as far as I can tell that's a problem even with a single column that is not in the original PK. Yet, it's supposed to be supported by the patch. How does it work? What happen once that column expires? Because that is the only column which is supported, we TTL the row in the view so that it is taken care of the same as the base TTL. The difference here would be that there would also need to be a new value created which is the NULL that the TTL will result in after it has expired. We would either need special logic to handle a TTL on compaction (and lose some eventual consistency), or generate a future timestamped value for the NULL whenever we create a TTL that will become valid when the TTL expires on the base and view columns. bq. That part I don't follow. We don't have semantics for regular columns to be set null, instead that indicates that they are tombstones. We can't distinguish between an explicitly set NULL and one that happened because we either tombstoned the columns or we never set the included columns, so we will have to use the NULL value for all unset and tombstoned columns. > Materialized Views (was: Global Indexes) > ---------------------------------------- > > Key: CASSANDRA-6477 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6477 > Project: Cassandra > Issue Type: New Feature > Components: API, Core > Reporter: Jonathan Ellis > Assignee: Carl Yeksigian > Labels: cql > Fix For: 3.0 beta 1 > > Attachments: test-view-data.sh, users.yaml > > > Local indexes are suitable for low-cardinality data, where spreading the index across the cluster is a Good Thing. However, for high-cardinality data, local indexes require querying most nodes in the cluster even if only a handful of rows is returned. -- This message was sent by Atlassian JIRA (v6.3.4#6332)