Super column

Image:SuperColumn (data store).png

A super column is a tuple (a pair) with a binary super column name and a value that maps it to many columns.{{cite web |url=http://arin.me/post/40054651676/wtf-is-a-supercolumn-cassandra-data-model |title=WTF is a SuperColumn |last=Sarkissian |first=Arin |date=September 1, 2009 |website=arin.me |accessdate=October 28, 2017 |quote=A SuperColumn is a tuple w/ a binary name & a value which is a map containing an unbounded number of Columns - keyed by the Column’s name.}} They consist of a key–value pairs, where the values are columns. Theoretically speaking, super columns are (sorted) associative array of columns.{{cite web |url=https://wiki.apache.org/cassandra/DataModel |title=Data Model |last=Ellis |first=Jonathan |date=August 15, 2016 |website=Apache Cassandra Wiki |accessdate=October 28, 2017}} Similar to a regular column family where a row is a sorted map of column names and column values, a row in a super column family is a sorted map of super column names that maps to column names and column values.

A super column is part of a keyspace together with other super columns and column families, and columns.

Code example

Written in the JSON-like syntax, a super column definition can be like this:

{

"databases": {

"Cassandra": {

"age": 20,

"name": {

"firstName": "Cassandra",

"lastName": "apache"

}

},

"HBase": {

"age": 20,

"address": {

"city": "Seoul",

"postcode": "1234"

}

}

}

}

Where:

"databases" are keyspace;

"Cassandra" and "HBase" are rowKeys;

"name" and "address" are super column names;

"firstName", "city", "age", etc. are column names.

See also

References

{{Reflist}}