Cassandra TTL je na sloupec

2015, Březen 02

Cassandra Time-To-Live (TTL)je popsán v dokumentaci Datastax. Tento blogový příspěvek stručně zkoumá, aby prokázal, že TTL je nastaven na sloupec, a ne na řádek.

začneme obnovením příkladu uvedeného v dokumentaci. Vytvoříme klíčový prostor, tabulku a vložíme do něj některá data. Hodnota TTL je mnohem nižší než oficiální dokumentace, protože nechci čekat 24 hodin před vyčerpáním TTL.

Nyní, když jsme vytvořili náš klíčový prostor a tabulku, pojďme dotaz TTL:

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

Vložit nebo aktualizovat pro změnu TTL na sloupec

jak ukazuje CQL synatx, TTL je nastaven na sloupec. Abychom to prokázali, nyní data znovu vložíme, ale Datum vyloučíme.

pokud počkáme 11 sekund, můžeme vidět, že různé sloupce mohou vypršet v různých časech.

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

to může být překvapením, pokud jste zvyklí na řádky, které se chovají jako jedna entita. Pokud chcete aktualizovat TTL pro celý řádek v Cassandře, musíte celý řádek znovu vložit nebo aktualizovat pomocí nového TTL.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.