[jira] [Updated] (CASSANDRA-6412) Custom creation and merge functions for user-defined column types

2018-11-18 Thread C. Scott Andreas (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

C. Scott Andreas updated CASSANDRA-6412:

Component/s: Core

> Custom creation and merge functions for user-defined column types
> -
>
> Key: CASSANDRA-6412
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6412
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Nicolas Favre-Felix
>Priority: Major
>
> This is a proposal for a new feature, mapping custom types to Cassandra 
> columns.
> These types would provide a creation function and a merge function, to be 
> implemented in Java by the user.
> This feature relates to the concept of CRDTs; the proposal is to replicate 
> "operations" on these types during write, to apply these operations 
> internally during merge (Column.reconcile), and to also merge their values on 
> read.
> The following operations are made possible without reading back any data:
> * MIN or MAX(value) for a column
> * First value for a column
> * Count Distinct
> * HyperLogLog
> * Count-Min
> And any composition of these too, e.g. a Candlestick type includes first, 
> last, min, and max.
> The merge operations exposed by these types need to be commutative; this is 
> the case for many functions used in analytics.
> This feature is incomplete without some integration with CASSANDRA-4775 
> (Counters 2.0) which provides a Read-Modify-Write implementation for 
> distributed counters. Integrating custom creation and merge functions with 
> new counters would let users implement complex CRDTs in Cassandra, including:
> * Averages & related (sum of squares, standard deviation)
> * Graphs
> * Sets
> * Custom registers (even with vector clocks)
> I have a working prototype with implementations for min, max, and Candlestick 
> at https://github.com/acunu/cassandra/tree/crdts - I'd appreciate any 
> feedback on the design and interfaces.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-6412) Custom creation and merge functions for user-defined column types

2015-04-03 Thread Jeff Jirsa (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeff Jirsa updated CASSANDRA-6412:
--
Assignee: (was: Jeff Jirsa)

 Custom creation and merge functions for user-defined column types
 -

 Key: CASSANDRA-6412
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6412
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Nicolas Favre-Felix

 This is a proposal for a new feature, mapping custom types to Cassandra 
 columns.
 These types would provide a creation function and a merge function, to be 
 implemented in Java by the user.
 This feature relates to the concept of CRDTs; the proposal is to replicate 
 operations on these types during write, to apply these operations 
 internally during merge (Column.reconcile), and to also merge their values on 
 read.
 The following operations are made possible without reading back any data:
 * MIN or MAX(value) for a column
 * First value for a column
 * Count Distinct
 * HyperLogLog
 * Count-Min
 And any composition of these too, e.g. a Candlestick type includes first, 
 last, min, and max.
 The merge operations exposed by these types need to be commutative; this is 
 the case for many functions used in analytics.
 This feature is incomplete without some integration with CASSANDRA-4775 
 (Counters 2.0) which provides a Read-Modify-Write implementation for 
 distributed counters. Integrating custom creation and merge functions with 
 new counters would let users implement complex CRDTs in Cassandra, including:
 * Averages  related (sum of squares, standard deviation)
 * Graphs
 * Sets
 * Custom registers (even with vector clocks)
 I have a working prototype with implementations for min, max, and Candlestick 
 at https://github.com/acunu/cassandra/tree/crdts - I'd appreciate any 
 feedback on the design and interfaces.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)