Wie kann ich nur die Informationen abrufen, die von Cassandra geändert wurden?

Ich arbeite am Entwerfen des Schemas der Cassandra-Säulenfamilie für den unten angegebenen Anwendungsfall. Ich bin nicht sicher, wie die Cassandra-Säulenfamilie für den unten angegebenen Anwendungsfall am besten entworfen werden kann. Ich werde CQL Datastax Java-Treiber für diese verwenden ..

Unten ist mein Anwendungsfall und das Beispielschema, das ich für jetzt entworfen habe -

SCHEMA_ID       RECORD_NAME               SCHEMA_VALUE              TIMESTAMP
1                  ABC                     some value                 t1
2                  ABC                     some_other_value           t2
3                  DEF                     some value again           t3
4                  DEF                     some other value           t4
5                  GHI                     some new value             t5
6                  IOP                     some values again          t6

Was ich nun aus der obigen Tabelle sehe, ist ungefähr so:

Wenn meine Anwendung zum ersten Mal ausgeführt wird, werde ich nach allen Informationen aus der obigen Tabelle fragen.Dann prüft mein Hintergrund-Thread alle 5 oder 10 Minuten diese Tabelle und bittet mich, alles zu geben, was sich nur geändert hat (vollständige Zeile, wenn sich etwas für diese Zeile geändert hat). Aus diesem Grund verwende ich den Zeitstempel als einen der Spalte hier ..

Ich bin mir jedoch nicht sicher, wie ich das Abfragemuster so gestalten soll, dass meine beiden Anwendungsfälle problemlos erfüllt werden, und wie die Tabelle hierfür ordnungsgemäß gestaltet werden kann. Hier wird SCHEMA_ID der primäre Schlüssel sein, den ich verwenden möchte ...

Ich werde CQL und Datastax Java-Treiber für diese verwenden ..

Aktualisieren:-

Wenn ich so etwas verwende, gibt es dann ein Problem mit diesem Ansatz?

CREATE TABLE TEST (SCHEMA_ID TEXT, RECORD_NAME TEXT, SCHEMA_VALUE TEXT, LAST_MODIFIED_DATE TIMESTAMP, PRIMARY KEY (ID));

INSERT INTO TEST (SCHEMA_ID, RECORD_NAME, SCHEMA_VALUE, LAST_MODIFIED_DATE) VALUES ('1', 't26',  'SOME_VALUE', 1382655211694);

Weil ich in meinem Anwendungsfall nicht möchte, dass jemand dasselbe einfügtSCHEMA_ID jedes Mal..SCHEMA_ID sollte immer dann eindeutig sein, wenn wir eine neue Zeile in diese Tabelle einfügen. Mit Ihrem Beispiel (@omnibear) ist es also möglich, dass jemand dieselbe SCHEMA_ID zweimal einfügen kann. Hab ich recht?

Und auch in Bezug auftype Sie haben als zusätzliche Spalte diese Typenspalte genommenrecord_name in meinem Beispiel ..

Antworten auf die Frage(1)

Ihre Antwort auf die Frage