Como manter apenas o valor mais recente

Todas as bibliotecas de cliente do Cloud Bigtable permitem que você leia o valor mais recente em uma determinada linha e coluna por meio de filtros. Geralmente, essa é a melhor abordagem. Esta página descreve uma estratégia que permite manter apenas o valor mais recente, sem precisar definir uma política de coleta de lixo e sem precisar usar filtros ao ler os dados. Antes de ler esta página, leia a visão geral da coleta de lixo.

Carimbo de data/hora de zero

Se você quiser manter apenas uma versão de um valor e não quiser esperar que a coleta de lixo remova versões anteriores, defina o carimbo de data/hora como zero sempre que gravar dados. Nesse cenário, novas gravações ocultam imediatamente as antigas. Assim, as leituras retornarão apenas um valor único para cada coluna. Talvez ainda seja necessário aguardar uma compactação antes que as gravações mais antigas parem de ocupar espaço na tabela, dependendo de como os dados anteriores foram gravados.

Prós

  • Não é necessário usar filtros ao ler os dados, porque apenas o valor mais recente de uma coluna pode ser lido.
  • Não é necessário definir uma política de coleta de lixo nesse caso, porque os dados antigos já estão sendo excluídos toda vez que se escreve em uma célula atual.
  • Não há custos de armazenamento para dados que ainda não foram coletados como lixo.

Contras

  • Valores anteriores para uma célula são imediatamente sobrescritos e não podem ser recuperados.
  • Como os carimbos de data/hora não são uma data e hora, não é possível usá-los em nenhum outro caso de uso, como determinar a idade de um valor. Como solução alternativa, é possível gravar um carimbo de data/hora real em uma coluna separada, mas isso aumentará a quantidade de dados armazenados.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Bigtable