Super columns are way to group multiple columns. Every super column must have a different name, just like with regular columns. Different super columns may hold sub-columns with the same name. Simply put, super columns are a way to add an extra map layer to the data model.
Super columns are frequently used to hold a single record where each field in the record is represented by a sub-column. For example, the name of a super column might be the ID of a transaction and each sub-column could hold some attribute of the transaction. For example, if a transactions row like the one describe had two entries, it might look like:
{
‘trans-009123812’:
{
‘date’: ‘01/02/2010’,
‘amount’: 15000
},
‘trans-009123813’:
{
‘date’: ‘01/03/2010’,
‘amount’: 4500
}
}
As described in the indexes section, super columns can be useful for indexes with several (but not a huge number) of matches per indexed value.
Any request for a sub-column deserializes all sub-columns for that super column, so you should avoid data models that rely on on large numbers of sub-columns.