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 C0C2D18B83 for ; Fri, 17 Jul 2015 22:13:12 +0000 (UTC) Received: (qmail 38292 invoked by uid 500); 17 Jul 2015 22:13:09 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 38262 invoked by uid 500); 17 Jul 2015 22:13: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 38171 invoked by uid 99); 17 Jul 2015 22:13:09 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jul 2015 22:13:09 +0000 Date: Fri, 17 Jul 2015 22:13:09 +0000 (UTC) From: "Jonathan Ellis (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Issue Comment Deleted] (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:all-tabpanel ] Jonathan Ellis updated CASSANDRA-6477: -------------------------------------- Comment: was deleted (was: Let's go back to the basic use case that this is supposed to replace/help/make better. The case where we want two query tables for the same data. That is, they have the same primary keys, but different partition keys (and clustering column orders). Today, I would do this by having a logged batch for the insert and that batch would insert into each of the two query tables. With this I get some data consistency guarantees. For example, if the client returns "success", I know that *both* of the inserts were accepted at the desired consistency level. So, if I did 2 writes at CL_QUORUM, and I receive a "success", then I know I can then do a CL_QUORUM read of *either* table and see the most recent data. However, with this "asynchronous" MV approach, I no longer get this behavior. I write to the base table at CL_QUORUM and get the "success" return. At that point, I can do a CL_QUORUM read from the base table and see the most recent insert. However, if I do a CL_QUORUM read from the MV, I have no guarantees at all. This approach does not address the basic situation that we are trying to cover. That concerns me greatly. ) > 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)