Cassandra TTL er pr. kolonne

2015, Marts 02

Cassandra Time-to-Live (TTL) er beskrevet i Datakattedokumentationen. Dette blogindlæg udforsker det kort for at demonstrere, at TTL er indstillet pr.

vi starter med at genskabe eksemplet i dokumentationen. Vi opretter et keyspace, en tabel og indsætter nogle data i den. TTL-værdien er meget lavere end den officielle dokumentation, da jeg ikke vil vente 24 timer, før TTL løber tør.

nu hvor vi har oprettet vores keyspace og tabel, lad os forespørge TTL:

cqlsh> SELECT TTL (date), TTL (name) from excelsior.clicks; ttl(date) | ttl(name)----------------------- 52 | 52

Indsæt eller Opdater for at ændre TTL pr. kolonne

som vist af CKL-synatsen er TTL angivet pr.kolonne. For at demonstrere dette indsætter vi nu dataene igen, men udelukker datoen.

hvis vi derefter venter 11 sekunder, kan vi se, at forskellige kolonner kan udløbe på forskellige tidspunkter.

cqlsh> select * from excelsior.clicks; userid | url | date | name--------------------------------------+-------------------+------+------ 3715e600-2eb0-11e2-81c1-0800200c9a66 | http://apache.org | null | Mary

dette kan komme som en overraskelse, hvis du er vant til rækker opfører sig som en enkelt enhed. Hvis du vil opdatere TTL for en hel række i Cassandra, skal du enten indsætte eller opdatere hele rækken igen med en ny TTL.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.