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 Cloud.
Armazenamento multiversão
Se você usa as métricas de armazenamento acima 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, 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 de várias versões mantém todos os dados excluídos ou substituídos no armazenamento e disponíveis por um tempo 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 com mais de um intervalo de
retenção de versão.
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.
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 podem e vão residir na memória e o tempo que eles vão ficar lá antes de serem gravados no armazenamento físico dependem do tamanho da computação e do tamanho e desempenho da sua 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 Google 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.
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, 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:
- Adicione mais capacidade de computação.
- Excluir um banco de dados.
- Excluir dados de um banco de dados. Embora a exclusão de dados entre em vigor imediatamente do ponto de vista da visibilidade, isso não afeta a métrica de utilização do armazenamento até que o Spanner compacte os dados (geralmente em 12 horas, mas pode demorar mais em alguns casos). Portanto, você poderá perceber um atraso entre o momento em que os dados são excluídos e a hora em que as mudanças aparecem na métrica.
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 console doGoogle Cloud ou o console do Cloud Monitoring.
- Crie alertas para o Spanner.
- Saiba como alterar a capacidade de computação de uma instância do Spanner.