Visão geral do armazenamento em níveis

Esta página descreve e explica como o armazenamento em camadas funciona no Spanner. Esse recurso é compatível com bancos de dados de dialeto GoogleSQL e PostgreSQL.

O armazenamento em camadas do Spanner é um recurso de armazenamento totalmente gerenciado que permite armazenar dados em unidades de estado sólido (SSD) ou em unidades de disco rígido (HDD). Por padrão, quando você não usa o armazenamento em camadas, seus dados são armazenados no armazenamento SSD. Dependendo da frequência com que você usa ou acessa os dados, use o armazenamento em camadas e armazene dados em armazenamento SSD e HDD.

  • O armazenamento SSD é a escolha mais econômica e com melhor desempenho (mais consultas por segundo) para a maioria dos casos de uso. Use-o para armazenar dados ativos com alta taxa de gravação e leitura e dados que exigem acesso de baixa latência.
  • Às vezes, o armazenamento em HDD é apropriado para grandes conjuntos de dados que não são sensíveis à latência, são acessados com pouca frequência ou se o custo do armazenamento é uma consideração importante.

O uso do armazenamento em camadas permite aproveitar o armazenamento SSD, que oferece alto desempenho para dados ativos, e o armazenamento HDD, que oferece suporte a acessos infrequentes a dados a um custo menor.

Escolher entre armazenamento SSD e HDD

A tabela a seguir lista as diferenças e semelhanças entre o armazenamento SSD e HDD. Em caso de dúvida, recomendamos que você escolha o armazenamento SSD.

Armazenamento SSD Armazenamento HDD
Casos de uso de destino Dados que exigem alta capacidade de leitura e gravação e acesso de dados de baixa latência Conjuntos de dados grandes que não são sensíveis à latência ou são acessados com pouca frequência
Capacidade esperada por nó
Configurações regionais
Até 3.500 QPS de gravação
Até 22.500 QPS de leitura
Até 3.500 QPS de gravação
Até 1.500 QPS de leitura
Taxa de transferência esperada por nó
Configurações birregionais e multirregionais
Até 2.700 QPS de gravação
Até 15.000 QPS de leitura
Até 3.500 QPS de gravação
Até 1.000 QPS de leitura
Operações compatíveis Ler, gravar, atualizar e excluir Ler, gravar, atualizar e excluir

Vantagens

O armazenamento em camadas oferece os seguintes benefícios ao permitir que você use armazenamento SSD e HDD:

  • Redução significativa do custo total de propriedade: o armazenamento em HDD oferece uma opção de custo mais baixo para grandes conjuntos de dados que não são sensíveis à latência ou são acessados com pouca frequência.
  • Facilidade de gerenciamento: oferece um serviço de escalonamento totalmente gerenciado sem a complexidade de pipelines e lógica de divisão adicionais.
  • Experiência unificada e consistente: oferece acesso unificado aos dados e um único conjunto de métricas para dados quentes e frios (mutáveis).
  • Performance aprimorada: melhora a performance da consulta organizando seus dados em diferentes grupos de localidade, o que fornece localidade e isolamento de dados em colunas. Os dados no mesmo grupo de localidade são armazenados fisicamente próximos uns dos outros.

Como funciona o armazenamento em camadas

Por padrão, quando você cria uma nova instância, os dados são armazenados apenas no SSD. Da mesma forma, os dados em instâncias existentes também são armazenados apenas em SSD.

Se você optar por usar o armazenamento em camadas para armazenar alguns dados no armazenamento de HDD, crie um grupo de localidades, que é usado para definir a política de armazenamento em camadas para dados no seu esquema. Ao criar um grupo de localidades, você pode definir o tipo de armazenamento, ssd ou hdd. Também é possível definir o tempo de armazenamento dos dados no SSD antes de serem movidos para o armazenamento em disco rígido. Após o período especificado, o Spanner migra os dados para o armazenamento de HDD durante o ciclo de compactação normal, que normalmente ocorre ao longo de sete dias a partir do período especificado. Isso é conhecido como uma política de armazenamento em camadas com base na idade. Ao usar uma política de armazenamento em camadas com base na idade, o tempo mínimo que os dados precisam ser armazenados no SSD antes de serem movidos para o armazenamento em disco rígido é de uma hora.

Com os grupos de localidade definidos, ao criar suas tabelas, você pode definir a política de armazenamento em camadas no nível do banco de dados, da tabela, da coluna ou do índice secundário. A política de armazenamento em camadas determina como e onde os dados são armazenados. Para instruções, consulte Criar e gerenciar grupos de localidades.

Backup e restauração

É possível fazer backup e restaurar seus dados usando os backups do Spanner. O backup contém todas as informações do esquema de armazenamento, incluindo INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS, que especifica o tipo de armazenamento de cada grupo de localidades. Para restaurar um backup que contém grupos de localidade em uma nova instância, a instância de destino precisa estar na edição Spanner Enterprise ou Spanner Enterprise Plus.

Data Boost

É possível usar o Data Boost do Spanner para acessar dados no armazenamento SSD ou HDD. Consultar dados no armazenamento de HDD gera um custo maior devido ao aumento das operações de E/S. Para mais informações, consulte Preços.

Índices da Pesquisa

A pesquisa de texto completo e os índices de vetor herdam o grupo de localidade definido no objeto de banco de dados.

Observabilidade

Os recursos de observabilidade a seguir estão disponíveis para o armazenamento em camadas.

Métricas do Cloud Monitoring

O Spanner fornece as seguintes métricas para ajudar a monitorar o uso do armazenamento em camadas e os dados usando o Cloud Monitoring:

  • spanner.googleapis.com/instance/storage/used_bytes (armazenamento total): mostra o total de bytes de dados armazenados no SSD e no HDD. Na página System insights da instância e do banco de dados do Spanner do console do Google Cloud, há um menu suspenso para Tipo de armazenamento para essa métrica. Use o menu suspenso para mostrar o total de bytes de dados armazenados em Todos, apenas HDD ou apenas SSD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes: mostra o limite de armazenamento combinado de SSD e HDD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes_per_processing_unit: mostra o limite de armazenamento combinado de SSD e HDD para cada unidade de processamento.
  • spanner.googleapis.com/instance/storage/combined/utilization: mostra a utilização combinada de armazenamento de SSD e HDD em comparação com o limite de armazenamento combinado.
  • spanner.googleapis.com/instance/disk_load: mostra o uso do HDD em porcentagem. Se a instância atingir 100% de carga de disco, você vai notar um aumento significativo na latência.

Se você tiver consultas que filtram métricas por storage_class:ssd, remova o filtro para conferir o uso do disco rígido.

Para saber mais sobre o monitoramento de recursos do Spanner, consulte Monitorar instâncias com insights do sistema e Monitorar instâncias com o Cloud Monitoring.

Esquema de informações

INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS contém a lista de grupos de localidade e opções no seu banco de dados do Spanner. Ele inclui informações para o grupo de localidades default. Para mais informações, consulte locality_group_options para bancos de dados com dialeto GoogleSQL e locality_group_options para bancos de dados com dialeto PostgreSQL.

Tabelas de estatísticas integradas

As seguintes tabelas de estatísticas internas estão disponíveis para bancos de dados que usam armazenamento em camadas:

  • SPANNER_SYS.TABLE_SIZES_STATS_1HOUR: mostra o uso de armazenamento de HDD e SSD para cada tabela no banco de dados.
  • SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR: mostra o uso de armazenamento de HDD e SSD para cada grupo de localidade no banco de dados.

Para mais informações, consulte Estatísticas de tamanhos de tabela e Estatísticas de consulta.

Preços

Não há cobrança extra pelo uso do armazenamento em camadas. Você vai receber a cobrança padrão do Spanner pela quantidade de capacidade de computação que a instância usa e pela quantidade de armazenamento que o banco de dados usa. Os dados armazenados em SSD e HDD são faturados de acordo com as respectivas taxas de armazenamento. Não será cobrado pelo movimento de dados entre o armazenamento SSD e HDD. Para mais informações, consulte Preços do Spanner.

A seguir