Sagen wir, wir haben Nutzer, die Videos kommentieren können und wir möchten alle Kommentare per Video mit dem Nutzernamen anzeigen. Der Benutzer kann auch auf seine Profilseite gehen und seinen Namen ändern.Aktualisieren Sie die denormalisierten Daten in Cassandra
Basierend auf Cassandra Datenmodellierung Praktiken, die Cassandra denormalization datamodel in dieser Antwort bedeckt waren, ich habe solche Tabellen erstellen:
CREATE TABLE users (
user_id UUID,
first_name TEXT,
last_name TEXT,
PRIMARY KEY ((user_id))
);
CREATE TABLE comments_by_video (
video_id UUID,
added_at TIMESTAMP,
user_id UUID,
comment TEXT,
first_name TEXT,
last_name TEXT,
PRIMARY KEY ((video_id), added_at, user_id)
);
genial aussieht, können wir Daten bekommen, die Kommentare von Video zu zeigen, benötigten nur durch eine Abfrage .
Betrachten wir nun einen solchen Anwendungsfall.
Benutzer erstellt viele Kommentare (wie 10 000) und entschied sich dann, seinen Namen zu ändern. Sollten wir alle Kommentare aktualisieren, um seinen Namen zu ändern? Gibt es eine Möglichkeit, es effizient zu machen?
Haben Sie mehr Einblick in das Thema gewonnen? Ich denormalisierte meine Kommentare wie hier und ich frage mich, was passiert, wenn der Benutzer sie ändert? –