- Learning Apache Cassandra
- Mat Brown
- 188字
- 2021-07-23 20:34:50
Beyond two columns
We've now seen a table with two columns in its primary key: a partition key, and a clustering column. As it turns out, neither of these roles is limited to a single column. A table can define one or more partition key columns, and zero or more clustering columns.
For instance, in our status application, we might want to allow users to reply to other users' status updates. In this case, each status update would have a stream of replies; replies would be partitioned by the full primary key of the original status update, and each reply would get its own timestamped UUID:
CREATE TABLE "status_update_replies" ( "status_update_username" text, "status_update_id" timeuuid, "id" timeuuid, "author_username" text, "body" text, PRIMARY KEY ( ("status_update_username", "status_update_id"), "id" ) );
Note the extra set of parentheses around the status_update_username
and status_update_id
columns in the PRIMARY KEY
declaration. This tells Cassandra that we want those two columns together to form the partition key. Without the extra parentheses, Cassandra assumes by default that only the first column in the primary key is a partition key, and the remaining columns are clustering columns.
- 嵌入式軟件系統測試:基于形式化方法的自動化測試解決方案
- LabVIEW Graphical Programming Cookbook
- Web Development with Django Cookbook
- 算法大爆炸:面試通關步步為營
- Expert Android Programming
- Mastering AndEngine Game Development
- Learning Probabilistic Graphical Models in R
- Java Web開發詳解
- 微信小程序開發與實戰(微課版)
- ElasticSearch Cookbook(Second Edition)
- Illustrator CC平面設計實戰從入門到精通(視頻自學全彩版)
- 遠方:兩位持續創業者的點滴思考
- Arduino機器人系統設計及開發
- R語言實戰(第2版)
- Building UIs with Wijmo