Vì c * là chiến thắng ghi cuối cùng, bạn có thể chỉ cần giữ các phiên bản mới nhất của mỗi hàng.
Bạn có thể, như MSD đề xuất, sử dụng writetime
để kéo thời gian của bài viết. Nhưng hãy cẩn thận vì đây là cột cụ thể và bạn không thể sử dụng thời gian ghi trên các cột khóa chính của mình. Ví dụ trong một bảng như sau:
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
Nếu không, bạn có thể thêm cột cql với dấu thời gian:
create TABLE test.test ( a int, b int, c int, d int, touched_at timeuuid, primary key (a)) ;
Một số điểm chuẩn nhanh sẽ giúp bạn xác định cái nào hiệu quả hơn.