Visão geral do armazenamento em níveis

Nesta página, descrevemos e explicamos como funciona o armazenamento em camadas no Spanner. Esse recurso é compatível com bancos de dados do dialeto GoogleSQL e do dialeto PostgreSQL.

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

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

O uso do armazenamento em camadas permite aproveitar o armazenamento em SSD, que oferece suporte ao alto desempenho de dados ativos, e o armazenamento em HDD, que oferece suporte ao acesso a dados pouco frequentes a um custo menor.

Escolher entre armazenamento SSD e HDD

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

Armazenamento SSD Armazenamento HDD
Casos de uso de destino Dados que exigem alta capacidade de processamento de gravação e leitura e acesso a 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é 22.500 QPS de leitura
Até 3.500 QPS de gravação
Até 1.500 QPS de leitura
Até 3.500 QPS de gravação
Taxa de transferência esperada por nó
Configurações birregionais e multirregionais
Até 15.000 QPS de leitura por região
Até 2.700 QPS de gravação
Até 1.000 QPS de leitura por região
Até 2.700 QPS de gravação
Operações compatíveis Ler, gravar, atualizar e excluir Ler, gravar, atualizar e excluir

Use gravações otimizadas para capacidade de processamento para aumentar a capacidade de processamento de gravação além dos números na tabela. Para mais informações, consulte Visão geral da performance.

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 menor custo 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 níveis totalmente gerenciado sem a complexidade de outros pipelines e lógica de divisão.
  • Experiência unificada e consistente: oferece acesso unificado aos dados e um único conjunto de métricas em dados quentes e frios (mutáveis).
  • Performance aprimorada: melhora o desempenho da consulta ao organizar seus dados em diferentes grupos de localidade, o que oferece localidade e isolamento de dados em colunas. Os dados no mesmo grupo de localidade são armazenados fisicamente próximos.

Como funciona o armazenamento em níveis

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

Se você optar por usar o armazenamento em camadas para armazenar alguns dados em HDD, crie um grupo de localidade, 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 período em que os dados são armazenados em armazenamento SSD antes de serem movidos para o armazenamento HDD. Depois que o tempo especificado passar, o Spanner vai migrar os dados para o armazenamento em HDD durante o ciclo normal de compactação, que geralmente ocorre ao longo de sete dias a partir do horário especificado. Isso é conhecido como uma política de armazenamento em níveis com base na idade. Ao usar uma política de armazenamento em camadas baseada em idade, o período mínimo que os dados precisam ficar armazenados em SSD antes de serem movidos para o armazenamento em HDD é de uma hora.

Com os grupos de localidade definidos, ao criar as tabelas, é possível 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 níveis 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 Enterprise ou Enterprise Plus do Spanner.

Data Boost

É possível usar o Spanner Data Boost para acessar dados em armazenamento SSD ou HDD. A consulta de dados em HDD usa a capacidade de carga do disco HDD da instância, que faz parte da capacidade de computação.

Índices de pesquisa

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

Observabilidade

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

Métricas do Cloud Monitoring

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

  • spanner.googleapis.com/instance/storage/used_bytes (Armazenamento total): mostra o total de bytes de dados armazenados em SSD e HDD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes: mostra o limite combinado de armazenamento SSD e HDD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes_per_processing_unit: Mostra o limite combinado de armazenamento de SSD e HDD para cada unidade de processamento.
  • spanner.googleapis.com/instance/storage/combined/utilization: mostra a utilização combinada de armazenamento SSD e HDD, em comparação com o limite combinado.
  • spanner.googleapis.com/instance/disk_load: mostra o uso do HDD em porcentagem. Se a instância atingir 100% de carga do disco HDD, 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 ver o uso do HDD.

Para saber mais sobre o monitoramento dos 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 do dialeto GoogleSQL e locality_group_options para bancos de dados do dialeto PostgreSQL.

Tabelas de estatísticas integradas

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

  • SPANNER_SYS.TABLE_SIZES_STATS_1HOUR: mostra o uso de armazenamento em HDD e SSD para cada tabela no seu 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 seu banco de dados.

Para mais informações, consulte Estatísticas de tamanhos de tabelas.

As tabelas de estatísticas de consulta e de leitura têm a seguinte coluna relacionada ao armazenamento em níveis:

  • AVG_DISK_IO_COST: o custo médio dessa consulta em termos de carga de disco HDD do Spanner. Use esse valor para fazer comparações relativas de custo de E/S de HDD entre leituras que você executa no banco de dados. Um valor mais alto indica que você está usando mais carga de disco HDD e que sua consulta pode ser mais lenta do que se estivesse sendo executada em SSD. Além disso, se a carga do disco rígido estiver na capacidade máxima, o desempenho das consultas poderá ser ainda mais afetado.

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

Preços

Não há cobrança adicional pelo uso do armazenamento em níveis. Você recebe a cobrança dos preços padrão do Spanner pela quantidade de capacidade de computação que sua instância usa e pela quantidade de armazenamento que seu banco de dados usa. Os dados armazenados em SSD e HDD são faturados de acordo com as respectivas taxas de armazenamento. Não há cobranças pela movimentação de dados entre armazenamento SSD e HDD. A consulta de dados em HDD usa a capacidade de carga do disco HDD da instância, que faz parte dos preços da capacidade de computação. Para mais informações, consulte os preços do Spanner.

A seguir