Neste documento do Framework de arquitetura do Google Cloud, você encontra recomendações para otimizar o desempenho dos seus bancos de dados no Google Cloud.
Cloud SQL
As recomendações a seguir ajudam a otimizar a performance das instâncias do Cloud SQL que executam bancos de dados do SQL Server, MySQL e PostgreSQL.
- Para bancos de dados do SQL Server, o Google recomenda que você modifique determinados parâmetros e retenha os valores padrão para alguns parâmetros.
- Ao escolher o tipo de armazenamento para bancos de dados MySQL ou PostgreSQL, considere a compensação de custo-performance entre SSD e armazenamento HDD.
- Para identificar e analisar problemas de desempenho com bancos de dados PostgreSQL, use o painel Cloud SQL Insights.
- Para diagnosticar o baixo desempenho ao executar consultas SQL, use
a instrução
EXPLAIN
.
Para mais informações, consulte a seguinte documentação:
Bigtable
Nesta seção, apresentamos recomendações para ajudar você a otimizar a performance das instâncias do Bigtable.
Capacidade do plano com base nos requisitos de desempenho
Você pode usar o Bigtable em um amplo espectro de aplicativos, cada um com um objetivo de otimização diferente. Por exemplo, para jobs de processamento de dados em lote, a capacidade pode ser mais importante do que a latência. Para um serviço on-line que atende às solicitações do usuário, talvez seja necessário priorizar a latência mais baixa em vez da capacidade de processamento. Ao planejar a capacidade dos clusters do Bigtable, considere as vantagens e desvantagens entre a capacidade de processamento e a latência. Para mais informações, consulte Planejar a capacidade do Bigtable.
Seguir as práticas recomendadas para a concepção de esquemas
As tabelas podem ser escalonadas para bilhões de linhas e milhares de colunas, permitindo que você armazene petabytes de dados. Ao projetar o esquema para as tabelas do Bigtable, considere as práticas recomendadas de design de esquemas.
Monitorar o desempenho e fazer ajustes
Monitore o uso da CPU e do disco para as instâncias, analise o desempenho de cada cluster e analise as recomendações de dimensionamento mostradas nos gráficos de monitoramento.
Spanner
Nesta seção, apresentamos recomendações para ajudar a otimizar a performance das instâncias do Spanner.
Escolha uma chave primária que impeça um ponto de acesso
Um ponto de acesso é um único servidor que é forçado a processar muitas solicitações. Ao escolher a chave primária para seu banco de dados, siga as práticas recomendadas de design de esquemas para evitar um ponto de acesso.
Seguir as práticas recomendadas para programação SQL
O compilador SQL no Spanner converte cada instrução SQL declarativa que você grava em um plano de execução de consulta imperativo. O Spanner usa esse plano de execução para executar a instrução SQL. Ao criar instruções SQL, siga as práticas recomendadas de SQL para garantir que o Spanner use planos de execução que ofereçam desempenho ideal.
Use as opções de consulta para gerenciar o otimizador de consultas SQL
O Spanner usa um otimizador de consultas SQL para transformar instruções SQL em planos de execução de consulta eficientes. O plano de execução de consulta que o otimizador produz pode mudar um pouco quando o otimizador de consultas evolui ou quando as estatísticas do banco de dados são atualizadas. É possível minimizar o potencial de regressão de performance quando o otimizador de consultas ou as estatísticas do banco de dados mudam usando opções de consulta.
Visualizar e ajustar a estrutura dos planos de execução de consulta
Para analisar problemas de performance na consulta, visualize e ajuste a estrutura dos planos de execução da consulta usando o visualizador de planos de consulta.
Use APIs de operações para gerenciar operações de longa duração
Para determinadas chamadas de método, o Spanner cria operações de longa duração, que podem levar um tempo significativo. Por exemplo, quando você restaura um banco de dados, o Spanner cria uma operação de longa duração para rastrear o progresso da restauração. Para ajudar você a monitorar e gerenciar operações de longa duração, o Spanner disponibiliza APIs de operações. Para mais informações, consulte Como gerenciar operações de longa duração.
Seguir as práticas recomendadas para carregamento em massa
O Spanner dá suporte a várias opções para carregar grandes quantidades de dados em massa. O desempenho de uma operação de carregamento em massa depende de fatores como particionamento, número de solicitações de gravação e tamanho de cada solicitação. Para carregar grandes volumes de dados de maneira eficiente, siga as práticas recomendadas de carregamento em massa.
Monitorar e controlar o uso da CPU
O uso da CPU da instância do Spanner pode afetar as latências das solicitações. Um servidor de back-end sobrecarregado pode causar latências de solicitações mais altas. O Spanner oferece métricas de utilização da CPU para ajudar você a investigar uma alta taxa de utilização da CPU. Para aplicativos sensíveis ao desempenho, talvez seja necessário aumentar a utilização da CPU aumentando a capacidade de computação.
Analisar e resolver problemas de latência
Quando um cliente faz uma chamada de procedimento remoto para o Spanner, a solicitação da API é preparada primeiro pelas bibliotecas de cliente. A solicitação passa pelo Google Front End e pelo front-end da API Cloud Spanner antes de chegar ao banco de dados do Spanner. Para analisar e resolver problemas de latência, é necessário medir e analisar a latência de cada segmento do caminho que a solicitação de API passa. Para mais informações, consulte o Guia completo de latência do Spanner.
Iniciar aplicativos após o banco de dados atingir o estado de calor
À medida que o banco de dados do Spanner cresce, ele divide o espaço-chave dos dados em divisões. Cada divisão é um intervalo de linhas que contém um subconjunto da sua tabela. Para balancear a carga geral no banco de dados, o Spanner move dinamicamente divisões individuais de maneira independente e as atribui a servidores diferentes. Quando as divisões são distribuídas entre vários servidores, o banco de dados é considerado em estado quente. Um banco de dados caloroso pode maximizar o paralelismo e fornecer melhor performance. Antes de iniciar os aplicativos, recomendamos que você aqueça o banco de dados com carregamentos de dados de teste.
A seguir
Confira as práticas recomendadas para otimizar o desempenho dos recursos de computação, armazenamento, rede e análise:
- Otimize o desempenho da computação.
- Otimizar o desempenho do armazenamento.
- Otimize o desempenho da rede.
- Otimize o desempenho da análise.