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 ..