A column family is a NoSQL object that contains columns of related data. It is a tuple (pair) that consists of a key-value pair, where the key is mapped to a value that is a set of columns. In analogy with relational databases, a column family is as a "table", each key-value pair being a "row". Each column is a tuple (triplet) consisting of a column name, a value, and a timestamp. In a relational database table, this data would be grouped together within a table with other non-related data.
Two types of column families exist:
- "Column Families 101". Max's Output. Retrieved 2011-03-18.
- Max's Output. "A Quick Introduction to the Cassandra Data Model: 1) Cassandra is based on a key-value model". Max Grinev. Retrieved 2011-03-18. "A column family is a set of key-value pairs. I know the terminology is confusing but so far it is just basic key-value model. Drawing an analogy with relational databases, you can think about column family as table and a key-value pair as a record in a table."
- "Column Families 101". Toad for Cloud. Retrieved 2011-03-18.
- "A ColumnFamily Can Be Super Too". Arin Sarkissian. Retrieved 2011-03-18. "Now, a ColumnFamily can be of type Standard or Super. What we just went over was an example of the Standard type. What makes it Standard is the fact that all the Rows contains a map of normal (aka not-Super) Columns… there’s no SuperColumns scattered about. When a ColumnFamily is of type Super we have the opposite: each Row contains a map of SuperColumns. The map is keyed with the name of each SuperColumn and the value is the SuperColumn itself. And, just to be clear, since this ColumnFamily is of type Super, there are no Standard ColumnFamily‘s in there."