Using lists for ordered, nonunique values

Let's say that we'd like to allow users to share other users' status updates with their own followers. For each status update, we'll keep track of the shares, so that we can display them to the author. Unlike starring a status update, the same user can share the same status update more than once, so we will track shares as discrete events, retaining the order in which they occurred.

A list column fits this task perfectly. Like sets, lists contain collections of values; but, unlike sets, values in sets are nonunique and have a stable and defined order.

Defining a list column

First, let's add a new list column to our user_status_updates table:

ALTER TABLE "user_status_updates"
ADD "shared_by" LIST<text>;

The ...

Get Learning Apache Cassandra now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.