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
- Saiba mais sobre grupos de localidades.
- Saiba como criar e gerenciar grupos de localidades.
- Saiba mais sobre como otimizar consultas com a redução de predicados de carimbo de data/hora.