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}}
External links
- [https://wiki.apache.org/cassandra/DataModel The Apache Cassandra data model]
{{database-stub}}