Reputation: 24144
Can we have a composite values in each columns in Cassandra Column Family?
user-id column1-name
123 (Column1-Value Column1-SchemaName Column1-LastModifiedDate)
userId is the rowKey here. And same thing will be for other columns as well.
Each column value will contain below three things always-
ByteType for Column-Value
UTF8Type for Column-SchemaName
DateType for LastModifiedDate
If yes, can anyone help me in designing the column family for this? I will be using Astyanax client to insert into above column family.
Upvotes: 0
Views: 576
Reputation: 121
There are two ways to go:
Upvotes: 1
Reputation: 4792
I don't think, it is at all possible in Cassandra. Either you have to de-normalized your Column Family or look after Cassandra Collection support. If you can restrict your data models data type for Value, SchemaName, LastModifiedDate to a single type, then probably Map will be helpful in your case.
Upvotes: 0
Reputation: 3065
You seem to be trying create a so called "super column", which has been highly "unrecommended" in Cassandra lately (Why are super columns in Cassandra no longer favoured?). So, I would say you should try to rethink your design, and if you really need to have all those values in one column you could do a marshaling/unmarshaling yourself from the application, alternatively you can also think about using "composite keys", if that helps you.
Upvotes: 0