Book Image

Learning Apache Cassandra

By : Matthew Brown
4 (1)
Book Image

Learning Apache Cassandra

4 (1)
By: Matthew Brown

Overview of this book

Table of Contents (19 chapters)
Learning Apache Cassandra
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

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 ("timeline_username", "status_update_id")
) WITH CLUSTERING ORDER BY ("status_update_id" DESC);

This table looks very much like the home_status_update_ids table, except it contains an additional body column. By adding body, we now have a table that will...