这是对这个问题的扩展:
如何使用 phantom-dsl 增加 Cassandra 计数器列?
这个问题也被问到了这里。
在Thiagos 示例中,这两个表;'songs' 和 'songs_by_artist' 都具有相同的行但具有不同的分区(主键/集群列)
CREATE TABLE test.songs (
song_id timeuuid PRIMARY KEY,
album text,
artist text,
title text
);
CREATE TABLE test.songs_by_artist (
artist text,
song_id timeuuid,
album text,
title text,
PRIMARY KEY (artist, song_id)
) WITH CLUSTERING ORDER BY (song_id ASC);
这意味着在SongsService内的两个表中插入、更新和删除使用相同的基本数据/行。
例如,您如何拥有一个表,如“artist_songs_counts”,列“song_id”(K)和“num_songs”(++),并确保“SongsService”为每个表添加相应的行;'songs' & 'songs_by_artist' & 'artist_songs_counts' (行数不同但信息应关联,例如艺术家信息)。
CREATE TABLE test.artist_songs_counts (
artist text PRIMARY KEY,
num_songs counter);