Cassandra TTL is Per kolom

2015, 02 Maart

Cassandra Time-To-Live (TTL) is aangegeven in de DataStax documentatie. Deze blogpost verkent het kort om aan te tonen dat TTL is ingesteld per kolom, en niet per rij.

we beginnen met het opnieuw aanmaken van het voorbeeld in de documentatie. We maken een sleutelruimte, een tabel, en voegen er wat gegevens in. De TTL waarde is veel lager dan de officiële documentatie, omdat ik niet 24 uur wil wachten voordat de TTL op is.

nu we onze sleutelruimte en tabel hebben aangemaakt, laten we de TTL:

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

invoegen of bijwerken om TTL per kolom

te wijzigen zoals wordt aangetoond door de CQL-synatx, wordt TTL per kolom ingesteld. Om dit aan te tonen, voegen we nu de gegevens opnieuw in, maar sluiten we de datum uit.

als we dan 11 seconden wachten, kunnen we zien dat verschillende kolommen op verschillende tijdstippen kunnen verlopen.

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

dit kan als een verrassing komen als u gewend bent dat rijen zich als één enkele entiteit gedragen. Als u de TTL voor een hele rij in Cassandra wilt bijwerken, moet u de hele rij opnieuw invoegen of bijwerken met een nieuwe TTL.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.