Cassandra TTL oszloponként

2015, Március 02

a Cassandra Time-To-Live (TTL) a Datastax dokumentációban van leírva. Ez a blogbejegyzés röviden feltárja, hogy bemutassa, hogy a TTL oszloponként van beállítva, nem pedig soronként.

kezdjük a dokumentációban megadott példa újrateremtésével. Létrehozunk egy kulcsteret, egy táblát, és beszúrunk néhány adatot. A TTL érték jóval alacsonyabb, mint a hivatalos dokumentáció, mivel nem akarok 24 órát várni, mielőtt a TTL elfogy.

most, hogy létrehoztuk a kulcstér és a tábla, nézzük lekérdezni a TTL:

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

Beszúrás vagy frissítés a TTL oszloponkénti módosításához

amint azt a CQL synatx mutatja, a TTL oszloponként van beállítva. Ennek bizonyítására most ismét beillesztjük az adatokat, de kizárjuk a dátumot.

ha ezután 11 másodpercet várunk, láthatjuk, hogy a különböző oszlopok különböző időpontokban lejárhatnak.

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

ez meglepő lehet, ha megszokta, hogy a sorok egyetlen entitásként viselkednek. Ha a Cassandra egy teljes sorához szeretné frissíteni a TTL-t, akkor a teljes sort újra be kell illesztenie vagy frissítenie kell egy új TTL-lel.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.