- Learning Apache Cassandra(Second Edition)
- Sandeep Yarabarla
- 222字
- 2021-07-03 00:19:28
Structuring of tables
Cassandra structures tables in rows and columns, just like a relational database. Also like a relational database, the columns available to a table are defined in advance. New columns cannot be added on the fly when inserting data, although it's possible to update an existing table's schema.
Every table defines one or more columns to act as the primary key; each row is uniquely identified by the value(s) in its primary key column(s), and those columns cannot be left blank in any row. Cassandra does not offer auto-incrementing primary keys; each row, when created, must be explicitly assigned a primary key by the client. One good way to structure the primary key is to use a natural key, which is a value that is fundamentally unique for each row you want to store. That's what we do in the users table by making username, a naturally unique identifier, the primary key.
Before we continue, I should emphasize the importance of using the latest version of Cassandra. Cassandra and CQL have changed substantially over the past few years, and the current CQL version 3.4 is not backward compatible with older versions of the language. The examples in this book target the latest Cassandra version (at the time of writing, 3.0.9); make sure you're running this version or a newer one.