Fully denormalizing the home timeline

The partially denormalized structure we built using the home_status_update_ids table certainly improves read-time performance, but we're still not at the sweet spot of querying exactly one partition to display the home timeline. In order to do this, we'll need to take the denormalization one step further.

Instead of storing references to status updates in the home timeline, we'll store actual copies of the status updates. Each user's timeline will contain its own copy of the status updates of all the users they follow. We create the following table:

CREATE TABLE "home_status_updates" (   "timeline_username" text,   "status_update_id" timeuuid,   "status_update_username" text,   "body" text,  PRIMARY KEY ...

Get Learning Apache Cassandra - Second Edition 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.