Jak odzyskać tylko te informacje, które zmieniły się od Cassandry?

Pracuję nad zaprojektowaniem schematu rodziny kolumn Cassandra dla mojego poniższego przypadku użycia. Nie jestem pewien, jaki jest najlepszy sposób zaprojektowania rodziny kolumn cassandra dla mojego poniższego przypadku użycia? Do tego będę używał sterownika Java CQL Datastax.

Poniżej znajduje się mój przypadek użycia i przykładowy schemat, który zaprojektowałem na teraz -

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

Teraz z powyższej tabeli będę wyglądał mniej więcej tak -

Po raz pierwszy za każdym razem, gdy moja aplikacja jest uruchomiona, poproszę o wszystko z powyższej tabeli. Znaczenie daje mi wszystko z powyższej tabeli ..Następnie co 5 lub 10 minut, mój wątek w tle będzie sprawdzał tę tabelę i poprosi mnie o podanie wszystkiego, co się zmieniło (pełny wiersz, jeśli cokolwiek się zmieniło w tym wierszu) .. Dlatego właśnie używam datownika jako jednego kolumny tutaj ..

Ale nie jestem pewien, jak zaprojektować wzorzec zapytania w taki sposób, aby oba moje przypadki użycia były łatwo zaspokojone i jaki będzie właściwy sposób projektowania tej tabeli? Tutaj SCHEMA_ID będzie kluczem podstawowym, którego zamierzam użyć ...

Do tego będę używał sterownika Java CQL i Datastax.

Aktualizacja:-

Jeśli używam czegoś takiego, to czy jest jakiś problem z tym podejściem?

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);

Ponieważ w moim przypadku nie chcę, żeby ktokolwiek wstawiał to samoSCHEMA_ID każdego razu..SCHEMA_ID powinien być unikalny za każdym razem, gdy wstawiamy nowy wiersz do tej tabeli. Tak więc z twoim przykładem (@omnibear) może być możliwe, że ktoś może wstawić ten sam SCHEMA_ID dwa razy? Mam rację?

A także w odniesieniu dotype wziąłeś jako dodatkową kolumnę, kolumna tego typu może byćrecord_name w moim przykładzie ..

questionAnswers(1)

yourAnswerToTheQuestion