Como manter apenas o valor mais recente

Todas as bibliotecas de cliente do Cloud Bigtable permitem que você use filtros para ler o valor mais recente em uma determinada linha e coluna. Em alguns casos, é possível que você nunca precise ler as versões mais antigas dos seus dados. Para evitar o pagamento desnecessário de armazenamento de dados mais antigos, remova-os usando a estratégia nesta página.

Antes de ler esta página, consulte 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 a coleta de lixo remover as versões anteriores, defina o carimbo de data/hora como zero (1970-01-01 00:00:00 UTC) sempre que gravar dados. Nesse cenário, novas gravações ocultam imediatamente as antigas. Assim, as leituras retornarão apenas um único valor para cada coluna. Talvez ainda seja necessário aguardar uma compactação antes que as gravações mais antigas deixem de ocupar espaço na tabela e incorrer em custos de armazenamento, dependendo da última vez que 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.
  • Nesse caso, não é necessário definir uma política de coleta de lixo, porque você já remove dados antigos toda vez que grava em uma célula existente.

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.

A seguir