Comme c* est la dernière écriture gagnante, vous pouvez simplement conserver les dernières versions de chaque ligne.
Vous pouvez, comme le suggère MSD, utiliser writetime
pour tirer le temps de l'écriture. Mais soyez prudent car cela est spécifique à la colonne et vous ne pouvez pas utiliser le temps d'écriture sur vos colonnes de clé primaire. Par exemple dans un tableau comme suit :
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
Sinon, vous pouvez ajouter une colonne cql avec l'horodatage :
create TABLE test.test ( a int, b int, c int, d int, touched_at timeuuid, primary key (a)) ;
Une analyse comparative rapide vous aiderait à déterminer laquelle est la plus performante.