Aquecer o banco de dados antes do lançamento do aplicativo

Antes de lançar um aplicativo, recomendamos que você aqueça seu banco de dados usando carregamentos de dados de teste para aproveitar os recursos de paralelização do Spanner.

O Spanner é um banco de dados distribuído, o que significa que, conforme seu banco de dados cresce, o Spanner divide o espaço-chave dos dados em partes chamadas de divisões. Cada divisão é um intervalo de linhas que contém um subconjunto da sua tabela. Como o Spanner divide os dados com base na carga e no tamanho, ele move divisões individuais de maneira dinâmica e as atribui a diferentes recursos do servidor para equilibrar a carga geral no banco de dados.

Quando você insere dados pela primeira vez em um banco de dados vazio, o Spanner grava os dados em uma única divisão. O banco de dados ainda está em estado "frio". À medida que você insere mais dados, o Spanner começa a dividir esses dados para reequilibrar a carga entre outros recursos de servidor disponíveis. Agora o Spanner está em um estado "quente" com divisões entre os recursos de servidor disponíveis para maximizar o paralelismo e melhorar o desempenho.

Como prática recomendada, recomendamos que você inicie seu aplicativo quando o Spanner estiver em um estado quente, com divisões já criadas e equilibradas entre os recursos do servidor. Para aquecer o banco de dados e preparar os carregamentos de dados de teste, siga estas etapas:

  1. Verifique se as chaves primárias geradas para os carregamentos de dados de teste estão no mesmo keyspace e têm as mesmas propriedades de distribuição que as chaves usadas para o tráfego de produção.
  2. Faça um teste de carga no máximo dois dias antes do lançamento. Execute o teste de carga por pelo menos uma hora no pico de carga esperado. O teste de carga faz com que o Spanner crie mais divisões devido à divisão baseada em carga.
  3. Após a conclusão do teste de carga, é possível excluir as linhas geradas pelo teste de carga de suas tabelas, mas não as exclua. Isso mantém as divisões disponíveis para sua janela de lançamento.