Esta página descreve as métricas de uso do armazenamento fornecidas pelo Spanner.
Por padrão, os dados são armazenados em unidades de estado sólido (SSD). É possível escolher se os dados serão armazenados em SSDs ou unidades de disco rígido (HDDs) usando o armazenamento em camadas. Para mais informações, consulte Visão geral do armazenamento em camadas.
Métricas de armazenamento
O Spanner fornece as seguintes métricas de armazenamento:
- Armazenamento total do banco de dados: a quantidade de dados armazenada no banco de dados ou nos bancos de dados na instância. Isso está sujeito ao limite de armazenamento.
- Armazenamento de backup total: a quantidade de dados armazenada pelos backups associados à instância ou ao banco de dados. O armazenamento de backups é armazenado e faturado separadamente, e não há limite para o valor que pode ser armazenado.
É possível visualizar os gráficos dessas métricas no Google Cloud console ou no console do Cloud Monitoring.
Além disso, a utilização do armazenamento do banco de dados é mostrada nas páginas Instâncias e Detalhes da instância no Google Cloud console.
Armazenamento multiversão
Se você usa as métricas de armazenamento anteriores para verificar o tamanho dos dados com frequência, ocasionalmente pode encontrar resultados contrários às suas expectativas. Por exemplo, o armazenamento total informado do banco de dados pode diminuir em uma quantidade considerável, mesmo que você não tenha removido dados recentemente. Por outro lado, o tamanho pode permanecer relativamente inalterado logo após uma exclusão significativa.
Esses efeitos decorrem do suporte do Spanner ao armazenamento multiversão. O armazenamento multiversão mantém todos os dados excluídos ou substituídos no armazenamento e disponíveis por um período limitado para ativar recursos que permitem ler valores de dados anteriores, como leituras obsoletas e recuperação pontual. A execução de uma grande exclusão de dados não é refletida imediatamente nas métricas de armazenamento do banco de dados. Da mesma forma, uma queda aparentemente não solicitada no tamanho total de um banco de dados provavelmente significa que o processo regular de compactação de dados do Spanner limpou recentemente um grande conjunto de dados que foi excluído ou substituído há vários dias.
O Spanner garante a
disponibilidade contínua de dados excluídos ou substituídos
para o intervalo definido pela
version_retention_period opção (uma hora, por
padrão). Ele executa automaticamente um processo em segundo plano a cada vários dias que remove permanentemente todos os dados obsoletos mais antigos que esse intervalo de retenção de versão. Para remover dados obsoletos permanentemente mais rápido, você pode
acionar manualmente uma compactação principal.
Efeitos da divisão e mesclagem
Durante períodos de alta carga ou pontos de acesso, o Spanner usa divisão e mesclagem para distribuir a utilização da CPU entre os recursos de computação provisionados. Essas operações de movimentação de dados em segundo plano podem acontecer mesmo que você não esteja inserindo ou modificando dados.
Um efeito colateral dessa otimização é um aumento temporário na utilização do armazenamento. Para os dados que estão sendo movidos, pode haver até duas cópias dos dados originais retidas em um determinado momento. Essa sobrecarga não cresce indefinidamente. Ao longo do ciclo de compactação, o Spanner reduz as divisões e descarta as cópias extras de dados. Essa sobrecarga de armazenamento geralmente se estabiliza em duas semanas. Também é possível acionar manualmente uma compactação principal para descartar cópias extras imediatamente.
Estatísticas de armazenamento
Todos os dados ingeridos no Spanner normalmente aparecem nas estatísticas de armazenamento em questão de minutos. No entanto, em alguns casos, mesmo que os dados estejam acessíveis para leitura (e duráveis por técnicas como o registro de gravação antecipada), eles vão demorar mais para aparecer nas estatísticas de utilização do armazenamento, até vários dias.
Isso acontece porque todos os dados ingeridos (além de uma cópia registrada durante a confirmação para fins de durabilidade e recuperação) residem temporariamente na memória antes de serem gravados no armazenamento físico em segundo plano. A quantidade de dados que podem e vão residir na memória e o tempo que eles vão viver na memória antes de serem gravados no armazenamento físico dependem do tamanho da computação e do tamanho e desempenho da carga de trabalho.
Criar alertas de armazenamento
É possível criar alertas de armazenamento no console do Cloud Monitoring. Também oferecemos uma maneira simples de criar um alerta de armazenamento de banco de dados diretamente no Google Cloud console. O link Criar política de alertas no gráfico (consulte a captura de tela) leva à página de criação de alertas no console do Cloud Monitoring e preenche automaticamente os campos relevantes.

Recomendações para a utilização do armazenamento do banco de dados
Recomendamos manter o armazenamento total do banco de dados abaixo do limite de armazenamento. Isso garante que o Spanner tenha espaço suficiente para operar normalmente e realizar manutenção de rotina nos dados.
Se você estiver se aproximando do limite, o Spanner poderá impedir que você execute operações que excedam o limite, como:
- Restaurar um banco de dados a partir de um backup.
- Modificar o esquema do banco de dados (por exemplo, adicionar um índice).
- Reduzir a capacidade de computação da instância.
Se você estiver acima do limite de armazenamento, o Spanner tentará operar normalmente, mas o desempenho ou a falha poderão ser prejudicados devido à pressão de recursos. Se você se aproximar ou exceder o máximo recomendado, Google Cloud o console vai mostrar um aviso com a mensagem "A instância atingiu a capacidade máxima de armazenamento e pode apresentar uma degradação no desempenho" ao mostrar a instância afetada.
Também é possível criar alertas no Cloud Monitoring para notificar você.
Reduzir a utilização do armazenamento do banco de dados
Para reduzir a utilização do armazenamento de banco de dados de uma instância, é possível:
- Adicionar mais capacidade de computação.
- Excluir bancos de dados não usados.
- Excluir dados de um banco de dados. Embora a exclusão de dados entre em vigor imediatamente do ponto de vista da visibilidade dos dados, ela pode não afetar a métrica de utilização do armazenamento até que o Spanner compacte os dados, o que geralmente acontece em 12 horas para exclusões significativas de dados ou em uma semana. Portanto, pode haver um atraso entre a exclusão dos dados e a exibição das mudanças na métrica. Para recuperar o armazenamento mais rápido, você pode acionar manualmente uma compactação principal.
Em geral, recomendamos que você adicione capacidade de computação à instância como ponto de partida. Depois de adicionar a capacidade de computação, é possível investigar e atender às causas raiz da alta utilização de armazenamento.
Para automatizar esse processo, crie um aplicativo que
monitore a utilização do armazenamento do banco de dados e adicione e remova a capacidade de computação conforme
necessário. Para isso, use o método UpdateInstance.
A seguir
- Monitore sua instância com o Google Cloud console ou o console do Cloud Monitoring.
- Crie alertas para o Spanner.
- Saiba como mudar a capacidade de computação de uma instância do Spanner.