Short introduction to Cassandra's data model.
Cassandra is a partitioned row store. It is an open-source, distributed-database system that
is designed for storing and managing large amounts of data across commodity servers.
- Designing your data model
- A key concept for designing your Cassandra data model is that you base the design on the
queries you want to perform, not modelling entities and relationships like you do for
relational databases. The essential elements of the data model include:
- Column family
- A Cassandra database consists of column families. A column family is a set of key-value
pairs. Every column family has a key and consists of columns and rows. You can think of column family
as a table and a key-value pair as a record in a table.
Note: In CQL 3 (the latest
implementation of the Cassandra Query Language), column families are called
tables. The Cassandra CLI client utility, API classes, and OpsCenter continue
to use column family.
- The definition of a table depends on the version of CQL:
- In CQL 3, a table is a collection of ordered (by name) columns.
- In previous versions of CQL, a column family was synonymous, in many respects, to a
table. In CQL 3 a table is sparse, including only columns that rows have been assigned
- The outermost grouping of data, similar to a schema in a relational database. All tables
go inside a keyspace. Typically, a cluster has one keyspace per application.
Cassandra Community Webinars
Links to related information in Cassandra