Criar um cluster de banco de dados de consulta paralela no Aurora MySQL - Amazon Aurora

Criar um cluster de banco de dados de consulta paralela no Aurora MySQL

Para criar um cluster do Aurora MySQL com consulta paralela, adicionar novas instâncias a ele ou executar outras operações administrativas, use as mesmas técnicas do AWS Management Console e da AWS CLI usadas com outros clusters do Aurora MySQL. Você pode criar um cluster novo para trabalhar com a consulta paralela. Também é possível criar um cluster de banco de dados para trabalhar com a consulta paralela fazendo a restauração de um snapshot de um cluster de bancos de dados Aurora compatível com o MySQL. Se você não tem familiaridade com o processo de criação de um cluster novo do Aurora MySQL, encontrará as informações básicas e os pré-requisitos em Criar um cluster de bancos de dados do Amazon Aurora.

Ao escolher uma versão do mecanismo Aurora MySQL, recomendamos que escolha a versão mais recente disponível. No momento, todas as versões disponíveis do Aurora MySQL oferecem suporte a consultas paralelas. Se você utilizar as versões mais recentes, terá maior flexibilidade para ativar e desativar a consulta paralela ou usá-la em clusters existentes.

Ao criar um cluster novo ou restaurar um snapshot, use as mesmas técnicas que você usa com outros clusters do Aurora MySQL para adicionar novas instâncias de banco de dados.

É possível criar um cluster de consulta paralela usando o console do Amazon RDS ou a AWS CLI.

Criar um cluster de consulta paralela com o console

Você pode criar um novo cluster de consulta paralela com o console, conforme descrito a seguir.

Para criar um cluster de consulta paralela com o AWS Management Console
  1. Siga o procedimento geral do AWS Management Console em Criar um cluster de bancos de dados do Amazon Aurora.

  2. Em Tipo de mecanismo, escolha Aurora MySQL.

  3. Em Configuração adicional, escolha um grupo de parâmetros criado para o Grupo de parâmetros do cluster de banco de dados. O uso de um grupo de parâmetros personalizado é exigido para o Aurora MySQL 2.09 ou posteriores. No grupo de parâmetros do cluster de banco de dados, especifique as configurações de parâmetro aurora_parallel_query=ON e aurora_disable_hash_join=OFF. Isso habilita a consulta paralela para o cluster e possibilita a otimização de junções de hash que funciona em combinação com a consulta paralela.

Para verificar se um cluster novo pode usar a consulta paralela
  1. Crie um cluster usando a técnica anterior.

  2. (Para o Aurora MySQL versões 2 ou 3) Verifique se a definição da configuração aurora_parallel_query é true.

    mysql> select @@aurora_parallel_query; +-------------------------+ | @@aurora_parallel_query | +-------------------------+ | 1 | +-------------------------+
  3. (Para o Aurora MySQL versão 2) Verifique se a configuração aurora_disable_hash_join está definia como false.

    mysql> select @@aurora_disable_hash_join; +----------------------------+ | @@aurora_disable_hash_join | +----------------------------+ | 0 | +----------------------------+
  4. Com algumas tabelas grandes e consultas com uso intenso de dados, confirme nos planos de consulta se algumas de suas consultas estão usando a otimização de consulta paralela. Para fazer isso, siga o procedimento em Verificar quais declarações usam consulta paralela para Aurora MySQL.

Criar um cluster de consulta paralela com a CLI

Você pode criar um novo cluster de consulta paralela com a CLI, conforme descrito a seguir.

Para criar um cluster de consulta paralela com o AWS CLI
  1. (Opcional) Verifique quais versões do Aurora MySQL são compatíveis com clusters de consulta paralela. Para fazer isso, use o comando describe-db-engine-versions e verifique o valor do campo SupportsParallelQuery. Para ver um exemplo, consulte Verificar se a versão do Aurora MySQL é compatível com a consulta paralela.

  2. (Opcional) Crie um grupo de parâmetros do cluster de banco de dados personalizado com as configurações aurora_parallel_query=ON e aurora_disable_hash_join=OFF. Use comandos como os seguintes.

    aws rds create-db-cluster-parameter-group --db-parameter-group-family aurora-mysql8.0 --db-cluster-parameter-group-name pq-enabled-80-compatible aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name pq-enabled-80-compatible \ --parameters ParameterName=aurora_parallel_query,ParameterValue=ON,ApplyMethod=pending-reboot aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name pq-enabled-80-compatible \ --parameters ParameterName=aurora_disable_hash_join,ParameterValue=OFF,ApplyMethod=pending-reboot

    Se você executar essa etapa, especifique a opção --db-cluster-parameter-group-name my_cluster_parameter_group na instrução create-db-cluster subsequente. Substitua o nome do seu próprio grupo de parâmetros. Se você omitir essa etapa, crie o grupo de parâmetros e associe-o ao cluster posteriormente, conforme descrito em Ativar e desativar a consulta paralela no Aurora MySQL.

  3. Siga o procedimento geral do AWS CLI em Criar um cluster de bancos de dados do Amazon Aurora.

  4. Especifique o seguinte conjunto de opções:

    • Para a opção --engine, use aurora-mysql. Esses valores produzem clusters de consulta paralela compatíveis com o MySQL 5.7 ou 8.0.

    • Para a opção --db-cluster-parameter-group-name, especifique o nome de um grupo de parâmetros do cluster de banco de dados que você criou e para o qual especificou o valor do parâmetro aurora_parallel_query=ON. Se você omitir essa opção, poderá criar o cluster com um grupo de parâmetros padrão e modificá-lo posteriormente para usar esse grupo de parâmetros personalizado.

    • Para a opção --engine-version, use uma versão do Aurora MySQL compatível com a consulta paralela. Use o procedimento de Otimizar a consulta paralela no Aurora MySQL para obter uma lista de versões, se necessário.

      O exemplo de código a seguir mostra como fazer isso. Substitua seu próprio valor para cada uma das variáveis de ambiente, como $CLUSTER_ID. Este exemplo também especifica a opção --manage-master-user-password para gerar a senha mestra do usuário e gerenciá-la no Secrets Manager. Para ter mais informações, consulte Gerenciamento de senhas com Amazon Aurora e AWS Secrets Manager. Como alternativa, você pode usar a opção --master-password para especificar e gerenciar a senha por conta própria.

      aws rds create-db-cluster --db-cluster-identifier $CLUSTER_ID \ --engine aurora-mysql --engine-version 8.0.mysql_aurora.3.04.1 \ --master-username $MASTER_USER_ID --manage-master-user-password \ --db-cluster-parameter-group-name $CUSTOM_CLUSTER_PARAM_GROUP aws rds create-db-instance --db-instance-identifier ${INSTANCE_ID}-1 \ --engine same_value_as_in_create_cluster_command \ --db-cluster-identifier $CLUSTER_ID --db-instance-class $INSTANCE_CLASS
  5. Verifique se um cluster que você criou ou restaurou tem o recurso de consulta paralela disponível.

    Verifique se a configuração aurora_parallel_query existe. Se essa configuração tiver o valor 1, a consulta paralela estará pronta para ser usada. Se essa configuração tiver o valor 0, defina-a como 1 para poder usar a consulta paralela. De qualquer forma, o cluster é capaz de executar consultas paralelas.

    mysql> select @@aurora_parallel_query; +------------------------+ | @@aurora_parallel_query| +------------------------+ | 1 | +------------------------+
Para restaurar um snapshot em um cluster de consulta paralela com o AWS CLI
  1. Verifique quais versões do Aurora MySQL são compatíveis com clusters de consulta paralela. Para fazer isso, use o comando describe-db-engine-versions e verifique o valor do campo SupportsParallelQuery. Para ver um exemplo, consulte Verificar se a versão do Aurora MySQL é compatível com a consulta paralela. Decida qual versão usar para o cluster restaurado.

  2. Encontre um snapshot de cluster compatível com o Aurora MySQL.

  3. Siga o procedimento geral do AWS CLI em Restauração de um snapshot de um cluster de banco de dados.

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier mynewdbcluster \ --snapshot-identifier mydbclustersnapshot \ --engine aurora-mysql
  4. Verifique se um cluster que você criou ou restaurou tem o recurso de consulta paralela disponível. Use o mesmo procedimento de verificação descrito em Criar um cluster de consulta paralela com a CLI.