Dies ist eine Erweiterung auf diese Frage:Wie implementiert man Cassandra Counter Columns mit Phantom-dsl?
How to increment Cassandra Counter Column with phantom-dsl?
Diese Frage auch here gefragt wurde.
In Thiagos example die beiden Tabellen; ‚Songs‘ & ‚songs_by_artist‘ beide haben die gleichen Reihen, aber mit unterschiedlichen Partitionen (Primärschlüssel/Clustering Spalten)
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);
Das bedeutet, Einfügen, Aktualisieren und über beiden Tabellen innerhalb der SongsService Arbeiten mit den gleichen Basisdaten zu löschen/Reihen.
Wie hätten Sie zum Beispiel eine Tabelle wie 'artist_songs_counts', mit den Spalten 'song_id' (K) und 'num_songs' (++) und stellen Sie sicher, dass 'SongsService' die entsprechende Zeile zu jeder Tabelle hinzufügt; 'songs' & 'songs_by_artist' & 'artist_songs_counts' (wo es verschiedene Zeilennummern gibt, aber Informationen sollten verknüpft werden, wie zum Beispiel die Künstlerinfo).
CREATE TABLE test.artist_songs_counts (
artist text PRIMARY KEY,
num_songs counter);
@flavian dies kann eine andere für Sie sein ... –