Happily, Cassandra's collection columns allow us to bypass the entire read-mutate-write process, allowing us to express the exact operation we want to do in CQL without regard to the current value of the column.
Given the limitations of the serialized approach, let's drop our text
column and replace it with a collection
column of the same name. Cassandra offers three flavors of collections: lists, sets, and maps. We'll explore all three in this chapter, starting with a set column, which is the most appropriate for our starred_by_users column:
ALTER TABLE "user_status_updates" DROP "starred_by_users"; ALTER TABLE "user_status_updates" ADD "starred_by_users" SET<text>;
The last line introduces a new syntax to define a collection column type. The new column that we have created is a collection column using the SET
data structure; the values it contains have type text
. Like normal scalar data columns, collection columns...