[ https://issues.apache.org/jira/browse/CASSANDRA-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13001656#comment-13001656 ]
Todd Nine commented on CASSANDRA-2231: -------------------------------------- I do see your point. However, as a user and a developer of a JPA plugin take this use case for an example of our requriements Entities: User -> Vehicles A User has a collection of vehicles. These can be ordered in several ways. For this example, lets say by time created and name. This would lead to several different column comparators. For properties on the user, first name, last name, these would be UTF8 columns, for the collections, these would be composite. I would end up with columns of the following definitions to allow us to quickly load or them. UTF8(firstname):value UTF8(lastname):value UTF8(vehicletime) LONG(vehicleTime) TIMEUUID(VEHICLEID) UTF8(VehicleProp) : value UTF8(vehiclename) UTF8(vehicleName) TIMEUUID(VEHICLEID) UTF8(VehicpeProp) : value In the event we move this index to an external CF, we lose the serialization scope and guaranteed atomic write of using a single row key during a mutation. While this is a separate issue as on Cassandra in general, we do need the ability to work around this until serialization scope can extend over multiple rows. Without this, to ensure that "lost writes" don't occur on indexing, a user would need to introduce an extra system such as Zookeeper. https://issues.apache.org/jira/browse/CASSANDRA-1684 > Add CompositeType comparer to the comparers provided in > org.apache.cassandra.db.marshal > --------------------------------------------------------------------------------------- > > Key: CASSANDRA-2231 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2231 > Project: Cassandra > Issue Type: Improvement > Components: Contrib > Affects Versions: 0.7.3 > Reporter: Ed Anuff > Priority: Minor > Attachments: 0001-Add-compositeType.patch, > edanuff-CassandraCompositeType-1e253c4.zip > > > CompositeType is a custom comparer that makes it possible to create > comparable composite values out of the basic types that Cassandra currently > supports, such as Long, UUID, etc. This is very useful in both the creation > of custom inverted indexes using columns in a skinny row, where each column > name is a composite value, and also when using Cassandra's built-in secondary > index support, where it can be used to encode the values in the columns that > Cassandra indexes. One scenario for the usage of these is documented here: > http://www.anuff.com/2010/07/secondary-indexes-in-cassandra.html. Source for > contribution is attached and has been previously maintained on github here: > https://github.com/edanuff/CassandraCompositeType -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira