Cassandra TTL este pe coloană

2015, martie 02

Cassandra Time-to-Live (TTL) este descris în documentația Datastax. Această postare pe blog o explorează pe scurt pentru a demonstra că TTL este setat pe coloană și nu pe rând.

începem prin recrearea exemplului dat în documentație. Creăm un spațiu cheie, un tabel și introducem câteva date în el. Valoarea TTL este mult mai mică decât documentația oficială, deoarece nu vreau să aștept 24 de ore înainte ca TTL să se termine.

acum că ne-am creat spațiul de chei și tabelul, să interogăm TTL:

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

inserați sau actualizați pentru a modifica TTL pe coloană

după cum demonstrează CQL synatx, TTL este setat pe coloană. Pentru a demonstra acest lucru, acum introducem din nou datele, dar excludem data.

dacă așteptăm 11 secunde, putem vedea că diferite coloane pot expira la momente diferite.

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

acest lucru poate fi o surpriză dacă sunteți obișnuiți ca rândurile să se comporte ca o singură entitate. Dacă doriți să actualizați TTL pentru un rând întreg în Cassandra, trebuie să introduceți sau să actualizați din nou întregul rând cu un nou TTL.

Lasă un răspuns

Adresa ta de email nu va fi publicată.