Métricas de utilização do armazenamento

Esta página descreve as métricas de uso do armazenamento fornecidas pelo Spanner.

Por padrão, seus dados são armazenados em unidades de estado sólido (SSD). É possível escolher se os dados serão armazenados em unidades de estado sólido (SSD) ou de disco rígido (HDD) usando armazenamento em camadas. Para mais informações, consulte Visão geral do armazenamento em níveis.

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 total de backup: 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 conferir 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 console do Google Cloud .

Acesse a página "Instâncias"

Armazenamento de várias versões

Se você usa as métricas de armazenamento anteriores para verificar o tamanho dos seus dados com frequência, talvez encontre resultados contrários às suas expectativas. Por exemplo, o armazenamento total informado do seu banco de dados pode diminuir em uma quantidade considerável, mesmo que você não tenha removido dados recentemente. Por outro lado, talvez o tamanho permaneça 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 desatualizadas e recuperação pontual. Uma exclusão de dados em grande escala não é refletida imediatamente nas métricas de armazenamento do banco de dados. Da mesma forma, uma queda aparentemente espontânea 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 foram excluídos ou substituídos há vários dias.

O Spanner garante a disponibilidade contínua dos dados excluídos ou substituídos durante o intervalo definido pela opção version_retention_period (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 anteriores a esse intervalo de retenção de versão. Para remover dados obsoletos de forma mais rápida, você pode acionar manualmente uma compactação principal.

Efeitos da divisão

Durante períodos de alta carga ou hotspots, o Spanner usa a divisão como uma técnica para distribuir de maneira mais uniforme a utilização da CPU entre os recursos de computação provisionados. Um efeito colateral da divisão é um aumento temporário no uso do armazenamento. Para dados divididos, ao longo do ciclo semanal de compactação, pode haver até duas cópias do intervalo de divisão original retidas em um determinado momento até que o ciclo tenha a chance de reduzir as divisões e descartar as cópias extras de dados. É possível acionar manualmente uma compactação principal para descartar cópias extras imediatamente.

Estatísticas de armazenamento

Todos os dados ingeridos no Spanner geralmente 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 sejam duráveis por técnicas como o registro de gravação antecipada), eles vão levar mais tempo para aparecer nas estatísticas de uso do armazenamento, até vários dias.

Isso acontece porque todos os dados ingeridos (além de uma cópia registrada durante o commit para fins de durabilidade e recuperação) ficam temporariamente na memória antes de serem gravados no armazenamento físico em segundo plano. A quantidade de dados que pode e vai residir na memória e o tempo que ela vai ficar na memória antes de ser gravada 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 do banco de dados diretamente no console doGoogle Cloud . 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.

Tela de métricas do Spanner no console com um botão chamado "Criar política de alertas".

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, o consoleGoogle Cloud vai mostrar um aviso dizendo: "A instância atingiu a capacidade máxima de armazenamento e pode sofrer uma degradação no desempenho" ao exibir 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:

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