Da c* der letzte Schreibvorgang gewinnt, können Sie einfach die neuesten Versionen jeder Zeile behalten.
Sie könnten, wie MSD vorschlägt, writetime
verwenden um die Zeit des Schreibens zu ziehen. Seien Sie jedoch vorsichtig, da dies spaltenspezifisch ist und Sie keine Schreibzeit für Ihre Primärschlüsselspalten verwenden können. Zum Beispiel in einer Tabelle wie folgt:
cqlsh> create TABLE test.test ( a int, b int, c int, d int, primary key (a))
... ;
cqlsh> insert INTO test.test (a, b, c, d) VALUES ( 1,2,3,4)
... ;
cqlsh> select * from test.test
... ;
a | b | c | d
---+------+---+------
1 | 2 | 3 | 4
(2 rows)
cqlsh> insert into test.test (a,c) values (1, 6);
cqlsh> select * from test.test ;
a | b | c | d
---+------+---+------
1 | 2 | 6 | 4
(2 rows)
cqlsh> select writetime(a), writetime(b), writetime(c), writetime(d) from test.test
... ;
InvalidRequest: code=2200 [Invalid query] message="Cannot use selection function writeTime on PRIMARY KEY part a"
cqlsh> select writetime(b), writetime(c), writetime(d) from test.test ;
writetime(b) | writetime(c) | writetime(d)
------------------+------------------+------------------
1434424690700887 | 1434424690700887 | 1434424702420929
Andernfalls können Sie eine cql-Spalte mit dem Zeitstempel hinzufügen:
create TABLE test.test ( a int, b int, c int, d int, touched_at timeuuid, primary key (a)) ;
Ein schnelles Benchmarking würde Ihnen helfen, festzustellen, was leistungsstärker ist.