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.
Sumário
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
-
Siga o procedimento geral do AWS Management Console em Criar um cluster de bancos de dados do Amazon Aurora.
-
Em Tipo de mecanismo, escolha Aurora MySQL.
-
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
eaurora_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
Crie um cluster usando a técnica anterior.
-
(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 | +-------------------------+
-
(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 | +----------------------------+
-
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
-
(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 campoSupportsParallelQuery
. Para ver um exemplo, consulte Verificar se a versão do Aurora MySQL é compatível com a consulta paralela. -
(Opcional) Crie um grupo de parâmetros do cluster de banco de dados personalizado com as configurações
aurora_parallel_query=ON
eaurora_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
na instruçãomy_cluster_parameter_group
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. -
Siga o procedimento geral do AWS CLI em Criar um cluster de bancos de dados do Amazon Aurora.
-
Especifique o seguinte conjunto de opções:
-
Para a opção
--engine
, useaurora-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âmetroaurora_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
\ --enginesame_value_as_in_create_cluster_command
\ --db-cluster-identifier$CLUSTER_ID
--db-instance-class$INSTANCE_CLASS
-
-
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
-
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 campoSupportsParallelQuery
. 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. -
Encontre um snapshot de cluster compatível com o Aurora MySQL.
-
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-identifiermydbclustersnapshot
\ --engine aurora-mysql -
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.