O TTL (time to live) é um recurso nativo de gerenciamento de ciclo de vida do PolarDB for MySQL que exclua automaticamente linhas expiradas, sem exigir jobs agendados na aplicação.
Casos de uso
Limpeza de sessões e tokens: Expira automaticamente tokens de autenticação, códigos de verificação e registros de sessão de curta duração.
Retenção de mensagens e eventos: Remove mensagens de chat, notificações ou logs de eventos após um período de retenção definido.
Histórico de pedidos e transações: Elimina registros históricos de pedidos desnecessários para as operações do negócio.
Exclusão de dados por conformidade: Aplica políticas de retenção de dados ao purgar automaticamente os registros após o término do período exigido.
Resultados intermediários de computação: Limpa linhas temporárias gravadas durante o processamento em lote ou a execução de fluxos de trabalho.
Como funciona
O PolarDB for MySQL implementa o TTL no nível do mecanismo de armazenamento:
Cada tabela com TTL ativado possui uma coluna de timestamp designada que determina quando uma linha expira.
Um job em segundo plano verifica periodicamente as linhas cujo valor na coluna de timestamp é anterior ao limiar de expiração.
A exclusão das linhas expiradas mantém baixo o impacto no desempenho das consultas em primeiro plano.
Como a exclusão é assíncrona, existe um intervalo entre o momento de expiração da linha e sua remoção efetiva.
Essa abordagem é mais confiável do que usar o agendador de eventos do MySQL ou jobs agendados na camada da aplicação, pois estes exigem ajustes cuidadosos para equilibrar a agilidade da exclusão com o impacto no desempenho.
Versões suportadas
O TTL está disponível em clusters que executam as seguintes versões do mecanismo:
PolarDB for MySQL 8.0.1, versão de revisão 8.0.1.1.49 ou posterior
PolarDB for MySQL 8.0.2, versão de revisão 8.0.2.2.27 ou posterior
Para verificar a versão do mecanismo do seu cluster, consulte Consultar a versão do mecanismo.