Esta página descreve as métricas de utilização do armazenamento que o Spanner oferece.
Por predefinição, os seus dados são armazenados em armazenamento de unidades de estado sólido (SSD). Pode escolher se quer armazenar os seus dados em SSDs ou unidades de discos rígidos (HDDs) através do armazenamento hierarquizado. Para mais informações, consulte o artigo Vista geral do armazenamento em camadas.
Métricas de armazenamento
O Spanner fornece as seguintes métricas de armazenamento:
- Armazenamento total da base de dados: a quantidade de dados armazenados na base de dados ou nas bases de dados na instância. Isto está sujeito ao limite de armazenamento.
- Armazenamento total da cópia de segurança: a quantidade de dados armazenados pelas cópias de segurança associadas à instância ou à base de dados. O armazenamento de cópias de segurança é armazenado e faturado separadamente, e não existe limite para a quantidade que pode armazenar.
Pode ver gráficos destas métricas na Google Cloud consola ou na consola do Cloud Monitoring.
Além disso, a utilização do armazenamento da base de dados é apresentada nas páginas Instâncias e Detalhes da instância na Cloud Console.
Armazenamento de várias versões
Se usar as métricas de armazenamento acima para verificar frequentemente o tamanho dos seus dados, pode ocasionalmente encontrar resultados contrários às suas expetativas. Por exemplo, pode ver o armazenamento total comunicado da sua base de dados diminuir de forma significativa, mesmo que não tenha removido dados recentemente. Por outro lado, pode ver que o tamanho permanece relativamente inalterado imediatamente após fazer uma eliminação significativa.
Estes efeitos resultam do suporte do Spanner para o armazenamento de várias versões. O armazenamento de várias versões mantém todos os dados eliminados ou substituídos no armazenamento e disponíveis durante um período limitado para ativar funcionalidades que lhe permitem ler valores de dados anteriores, como leituras desatualizadas e recuperação num determinado momento. A eliminação de uma grande quantidade de dados não se reflete imediatamente nas métricas de armazenamento da base de dados. Da mesma forma, uma diminuição aparentemente não solicitada no tamanho total de uma base de dados significa provavelmente que o processo de compactação de dados normal do Spanner limpou recentemente um grande conjunto de dados que foi eliminado ou substituído há vários dias.
O Spanner garante a disponibilidade contínua dos dados eliminados ou substituídos durante o intervalo definido pela opção version_retention_period
(uma hora, por predefinição). Executa automaticamente um processo em segundo plano a cada vários dias que
remove permanentemente todos os dados obsoletos mais antigos do que este intervalo de
retenção de versões.
Efeitos da divisão
Durante períodos de carga elevada ou pontos críticos, o Spanner usa a divisão como uma técnica para distribuir mais uniformemente a utilização da CPU pelos recursos de computação aprovisionados. Um efeito secundário da divisão é um aumento temporário na utilização de armazenamento. Para os dados divididos, ao longo do ciclo de compactação semanal, podem ser retidas até duas cópias do intervalo dividido original num determinado momento até que o ciclo tenha a oportunidade de reduzir as divisões e rejeitar as cópias adicionais de dados.
Estatísticas de armazenamento
Normalmente, todos os dados carregados no Spanner são apresentados nas estatísticas de armazenamento em poucos minutos. No entanto, em determinados casos, embora os dados estejam acessíveis para leitura (e sejam duradouros através de técnicas como o registo antecipado), demoram mais tempo a aparecer nas estatísticas de utilização do armazenamento, até vários dias.
Isto acontece porque todos os dados carregados (exceto uma cópia registada 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 a quantidade de tempo que vão permanecer na memória antes de serem escritos no armazenamento físico dependem do tamanho da sua computação e do tamanho e desempenho da sua carga de trabalho.
Crie alertas de armazenamento
Pode criar alertas de armazenamento na consola do Cloud Monitoring. Também oferecemos uma forma simples de criar um alerta de armazenamento da base de dados diretamente a partir da Google Cloud consola. O link Criar política de alerta no gráfico (consulte a captura de ecrã) direciona para a página de criação de alertas na consola do Cloud Monitoring e preenche automaticamente os campos relevantes.
Recomendações para a utilização do armazenamento da base de dados
Recomendamos que mantenha o armazenamento total da base de dados abaixo do limite de armazenamento. Isto garante que o Spanner tem margem suficiente para funcionar normalmente e realizar a manutenção de rotina nos dados.
Se estiver a aproximar-se do limite, o Spanner pode impedir que execute operações que excedam o limite, como:
- Restaurar uma base de dados a partir de uma cópia de segurança.
- Modificar o esquema da base de dados (por exemplo, adicionar um índice).
- Reduzir a capacidade de computação da sua instância.
Se exceder o limite de armazenamento, o Spanner tenta funcionar normalmente, mas pode observar uma degradação do desempenho ou uma falha devido à pressão dos recursos. Se se aproximar ou exceder o máximo recomendado, Google Cloud a consola apresenta um aviso com a seguinte mensagem: "A instância atingiu a capacidade de armazenamento máxima e pode ter uma atividade degradada" quando apresenta a instância afetada.
Também pode criar alertas no Cloud Monitoring para receber notificações.
Reduza a utilização do armazenamento da base de dados
Para reduzir a utilização do armazenamento da base de dados de uma instância, pode:
- Adicione mais capacidade de computação.
- Eliminar uma base de dados.
- Elimine dados de uma base de dados. Tenha em atenção que, embora a eliminação de dados entre em vigor imediatamente do ponto de vista da visibilidade, não afeta a métrica de utilização do armazenamento até que o Spanner compacte os dados (normalmente, no prazo de 12 horas, mas pode demorar mais em determinados casos). Por conseguinte, pode notar um atraso entre o momento em que os dados são eliminados e o momento em que as alterações aparecem na métrica.
Em geral, recomendamos que adicione capacidade de computação à sua instância como ponto de partida. Depois de adicionar capacidade de computação, pode investigar e resolver as causas principais da elevada utilização do armazenamento.
Se quiser automatizar este processo, pode criar uma aplicação que monitorize a utilização do armazenamento da base de dados e, em seguida, adicione e remova capacidade de computação conforme necessário, através do método UpdateInstance
.
O que se segue?
- Monitorize a sua instância com a Google Cloud consola ou a consola do Cloud Monitoring.
- Crie alertas para o Spanner.
- Saiba como alterar a capacidade de computação de uma instância do Spanner.