Creación de un clúster de base de datos de consultas paralelas en Aurora MySQL - Amazon Aurora

Creación de un clúster de base de datos de consultas paralelas en Aurora MySQL

Para crear un clúster de Aurora MySQL con consultas en paralelo, agregarle nuevas instancias o realizar otras operaciones administrativas, utilice la misma AWS Management Console y técnicas de AWS CLI que usaría con otros clústeres de Aurora MySQL. Puede crear un nuevo clúster para trabajar con consultas en paralelo. También puede crear un clúster de base de datos para trabajar con consultas paralelas mediante la restauración de una instantánea de un clúster de base de datos de Aurora compatible con MySQL. Si no está familiarizado con el proceso de crear un nuevo clúster de Aurora MySQL, puede encontrar información general y requisitos previos en Creación de un clúster de base de datos de Amazon Aurora.

Cuando elija una versión del motor de Aurora MySQL, le recomendamos que elija la versión más reciente disponible. En la actualidad, todas las versiones de Aurora MySQL disponibles admiten consultas en paralelo. Tiene más flexibilidad para activar y desactivar consultas paralelas o utilizar consultas paralelas con clústeres existentes si utiliza las últimas versiones.

Tanto si crea un nuevo clúster como si lo restaura de una instantánea, se usan las mismas técnicas para añadir nuevas instancias de base de datos que usaría con otros clústeres de Aurora MySQL.

Puede crear un clúster de consultas paralelas mediante la consola de Amazon RDS o la AWS CLI.

Creación de un clúster de consultas paralelas utilizando la consola

Puede crear un nuevo clúster de consultas en paralelo con la consola como se describe a continuación.

Para crear un clúster de consultas en paralelo con la AWS Management Console
  1. Siga el procedimiento general de la AWS Management Console de Creación de un clúster de base de datos de Amazon Aurora.

  2. Para Tipo de motor, elija Aurora MySQL.

  3. En Configuración adicional, elija un grupo de parámetros que creó para Grupo de parámetros de clúster de base de datos. El uso de dicho grupo de parámetros personalizados es necesario para Aurora MySQL 2.09 y versiones posteriores. En el grupo de parámetros de clúster de base de datos, especifique la configuración de los parámetros aurora_parallel_query=ON y aurora_disable_hash_join=OFF. Al hacerlo, se activa la consulta paralela para el clúster y se activa la optimización de combinación hash que funciona en combinación con la consulta paralela.

Para verificar que un nuevo clúster puede usar consultas en paralelo
  1. Cree un clúster utilizando la técnica anterior.

  2. (Para Aurora MySQL versión 2 o 3) Compruebe que la opción de configuración de aurora_parallel_query es verdadera.

    mysql> select @@aurora_parallel_query; +-------------------------+ | @@aurora_parallel_query | +-------------------------+ | 1 | +-------------------------+
  3. (Para Aurora MySQL versión 2) Compruebe que la configuración de aurora_disable_hash_join está definida en falsa.

    mysql> select @@aurora_disable_hash_join; +----------------------------+ | @@aurora_disable_hash_join | +----------------------------+ | 0 | +----------------------------+
  4. Con algunas tablas grandes y consultas con uso intensivo de datos, compruebe los planes de consulta para confirmar que algunas de las consultas utilizan la optimización de consultas paralelas. Para ello, siga el procedimiento en Cómo comprobar qué instrucciones usan consultas paralelas para Aurora MySQL.

Creación de un clúster de consultas paralelas utilizando la CLI

Puede crear un nuevo clúster de consultas en paralelo con la CLI como se describe a continuación.

Para crear un clúster de consultas en paralelo con la AWS CLI
  1. (Opcional) Compruebe qué versiones de Aurora MySQL son compatibles con clústeres de consultas paralelas. Para ello, utilice el comando describe-db-engine-versions y compruebe el valor del campo SupportsParallelQuery. Para ver un ejemplo, consulte Comprobación de la compatibilidad de la versión de Aurora MySQL para consulta paralela.

  2. (Opcional) Cree un grupo de parámetros de clúster de base de datos personalizado con la configuración aurora_parallel_query=ON y aurora_disable_hash_join=OFF. Utilice comandos como los siguientes.

    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

    Si realiza este paso, especifique la opción --db-cluster-parameter-group-name my_cluster_parameter_group en la instrucción create-db-cluster posterior. Sustituya el nombre de su propio grupo de parámetros. Si omite este paso, creará el grupo de parámetros y lo asociará con el clúster más adelante, como se describe en Activación y desactivación de las consultas paralelas en Aurora MySQL.

  3. Siga el procedimiento general de la AWS CLI de Creación de un clúster de base de datos de Amazon Aurora.

  4. Especifique el siguiente conjunto de opciones:

    • Para la opción --engine, use aurora-mysql. Estos valores producen clústeres de consultas paralelas compatibles con MySQL 5.7 o 8.0.

    • Para la opción --db-cluster-parameter-group-name, especifique el nombre de un grupo de parámetros de clúster de base de datos que creó y especificó el valor del parámetro aurora_parallel_query=ON. Si omite esta opción, puede crear el clúster con un grupo de parámetros predeterminado y modificarlo posteriormente para utilizar dicho grupo de parámetros personalizado.

    • Para la opción --engine-version, utilice una versión de Aurora MySQL compatible con la consulta paralela. Utilice el procedimiento de Optimización de consultas paralelas en Aurora MySQL para obtener una lista de versiones si es necesario.

      En el siguiente ejemplo de código se muestra cómo. Sustituya su propio valor por cada una de las variables de entorno, como $clúster_ID. En este ejemplo también se especifica la opción --manage-master-user-password para generar la contraseña del usuario maestro y administrarla en Secrets Manager. Para obtener más información, consulte Administración de contraseñas con Amazon Aurora y AWS Secrets Manager. También puede utilizar la opción --master-password para especificar y administrar la contraseña usted mismo.

      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. Verificar que un clúster que ha creado o restaurado tiene la característica de consultas en paralelo disponible.

    Compruebe que la configuración de aurora_parallel_query existe. Si esta configuración tiene el valor 1, la consulta paralela está lista para su uso. Si esta configuración tiene el valor 0, establézcala en 1 antes de poder utilizar la consulta paralela. De cualquier manera, el clúster es capaz de realizar consultas paralelas.

    mysql> select @@aurora_parallel_query; +------------------------+ | @@aurora_parallel_query| +------------------------+ | 1 | +------------------------+
Para restaurar una instantánea a un clúster de consultas en paralelo con la AWS CLI
  1. Compruebe qué versiones de Aurora MySQL son compatibles con clústeres de consultas paralelas. Para ello, utilice el comando describe-db-engine-versions y compruebe el valor del campo SupportsParallelQuery. Para ver un ejemplo, consulte Comprobación de la compatibilidad de la versión de Aurora MySQL para consulta paralela. Decida qué versión usar para el clúster restaurado.

  2. Localice una instantánea de clúster compatible con Aurora MySQL.

  3. Siga el procedimiento general de la AWS CLI de Restauración de una instantánea de clúster de base de datos.

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier mynewdbcluster \ --snapshot-identifier mydbclustersnapshot \ --engine aurora-mysql
  4. Verificar que un clúster que ha creado o restaurado tiene la característica de consultas en paralelo disponible. Utilice el mismo procedimiento de verificación que en Creación de un clúster de consultas paralelas utilizando la CLI.