“Apache Cassandra um tempo para viver ou valor TTL para os dados em uma determinada coluna. Você pode usar o valor TTL em uma declaração de inserção ou atualização, permitindo que os dados nessa coluna expirem após a duração for decorrida.”
Neste post, discutiremos como você pode definir e obter o valor TTL de uma determinada coluna usando a instrução Insert e a função TTL, respectivamente.
Cassandra Crie coluna com valor TTL
As consultas a seguir criam um espaço de chave e uma nova tabela para manter os dados de destino.
soltar o espaço de chave se existir zero_day;
Crie o espaço de chave Zero_Day
com replicação =
'Classe': 'SimpleStrategy',
'Replicação_factor': 1
;
use zero_day;
Crie registros de tabela (
eu não fiz,
texto cve_number,
Data de relatório_date,
texto afetado_vendor,
severidade flutuar,
chave primária (id)
);
Em seguida, podemos inserir dados com valores de TTL, como mostrado nas consultas abaixo:
Comece o lote
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (1, 'CVE-2021-33852', '2022-12-02', 'WordPress', 6.0) usando TTL 120;
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (2, 'CVE-2020-14723', '2020-01-11', 'Oracle', 8.2) usando TTL 180;
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (3, 'CVE-2019-19306', '2019-10-14', 'Zoho', 5.4) usando TTL 240;
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (4, 'CVE-2021-33850', '2021-10-18', 'Microsoft', 5.0) usando TTL 300;
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (5, 'CVE-2020-24600', '2020-07-01', 'Shilpi', 8.6) usando TTL 360;
aplicar lote;
As declarações de inserção adicionam dados com valores TTL à tabela especificada. Lembre -se de que o valor TTL é definido em segundos.
Cassandra mostra valores TTL
Para mostrar o valor TTL de uma determinada coluna, use a função TTL, como mostrado no exemplo abaixo:
Cassandra@cqlsh: zero_day> selecione TTL (cve_number) dos registros onde id = 5;
A consulta acima deve exibir o valor TTL restante para a linha com ID de 5.
Um exemplo de saída é como mostrado:
@ Linha 1
-----------------+-----
ttl (cve_number) | 169
(1 linhas)
Depois que o valor TTL é decorrido, os dados são removidos da tabela como mostrado:
Cassandra@cqlsh: zero_day> selecione TTL (cve_number) dos registros onde id = 3;
A linha não existe neste caso, pois os dados foram removidos.
ttl (cve_number)
-----------------
(0 linhas)
Conclusão
Neste tutorial, discutimos como definir e obter o valor TTL de uma determinada linha em Cassandra.
Obrigado pela leitura!!