Super Column Family (data Store)
   HOME

TheInfoList



OR:

A super column family is a
NoSQL A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
object that contains column families. It is a
tuple In mathematics, a tuple is a finite ordered list (sequence) of elements. An -tuple is a sequence (or ordered list) of elements, where is a non-negative integer. There is only one 0-tuple, referred to as ''the empty tuple''. An -tuple is defi ...
(pair) that consists of a key–value pair, where the key is mapped to a value that are column families. In analogy with relational databases, a super column family is something like a "view" on a number of tables. It can also be seen as a map of tables.


Benefits

It is useful when making a data model to have some kind of a
view A view is a sight or prospect or the ability to see or be seen from a particular place. View, views or Views may also refer to: Common meanings * View (Buddhism), a charged interpretation of experience which intensely shapes and affects thou ...
on a number of
tables Table may refer to: * Table (furniture), a piece of furniture with a flat surface and one or more legs * Table (landform), a flat area of land * Table (information), a data arrangement with rows and columns * Table (database), how the table data ...
. Using a super column family is something similar to that in distributed data stores. There are, however, no "
joins Join may refer to: * Join (law), to include additional counts or additional defendants on an indictment *In mathematics: ** Join (mathematics), a least upper bound of sets orders in lattice theory ** Join (topology), an operation combining two topo ...
" between the "tables", as data stores like Apache Cassandra are non-relational.


Sorting and querying

There is no way to sort super columns after they have been inserted, nor to query an arbitrary query in distributed data stores. Super columns are sorted when they are added to the column family, and it is also possible to use a different sorting attribute for the contained columns of a super column. Similar to the
standard column family The standard column family is a NoSQL (concept), NoSQL object that contains Column (data store), columns of related data. It is a tuple (pair) that consists of a attribute–value pair, key–value pair, where the key is mapped to a value that is a ...
, sorting is defined by an attribute. This attribute is called the CompareSubcolumnsWith in Apache Cassandra and have the following values: * AsciiType * BytesType * LexicalUUIDType * LongType * TimeUUIDType * UTF8Type Although it is possible to sort the super columns in a way, the columns inside the super columns another way, it is not allowed to treat part of the super columns in a special way.


Code example

Here is an example of a super column family that contains other column families: UserList= Where "Cath" and "Terry" are row keys; "username", "address", and "account" are super column names; and "firstname", "lastname", "city", etc. are column names.


See also

* Column family types


References


External links


The Apache Cassandra data model
Distributed data stores NoSQL {{database-stub