Administrar una gran cantidad de tablas

El recommender de cantidad alta de tablas de Cloud SQL te ayuda a detectar instancias cuyo recuento de tablas es demasiado alto y se aproxima al límite del ANS. Luego, proporciona recomendaciones para optimizar esas instancias y mejorar su rendimiento.

En esta página, se describe cómo funciona el recomendador de cantidad alta de tablas y cómo puedes usarlo.

Cómo funciona

Si en una sola instancia hay 50,000 tablas de base de datos o más, la instancia podría dejar de responder o realizar operaciones de mantenimiento y eso no está cubierto por el ANS.

El recomendador de cantidad de tablas de Cloud SQL analiza las métricas de la cantidad de tablas en una instancia de MySQL de Cloud SQL. Si la cantidad de tablas es mayor o igual que el 80% del límite del ANS, lo que permite 50,000 tablas, se considera que la instancia tiene una gran cantidad de tablas.

Precios

El recomendador de Cloud SQL de cantidad alta de tablas está en el nivel de precios del recomendador Estándar.

Antes de empezar

Antes de ver las recomendaciones y estadísticas, haz lo siguiente:

  • Si deseas obtener los permisos para ver estadísticas y recomendaciones y trabajar con ellas, asegúrate de tener los roles requeridos.
    Tasks Funciones
    Ver recomendaciones Uno de estos roles: recommender.cloudsqlViewer o cloudsql.viewer.
    Aplicar recomendaciones Uno de estos roles: recommender.cloudsqlAdmin, cloudsql.editor o cloudsql.admin.
    Para obtener más información sobre los roles, consulta Información sobre las funciones y Otorga permisos de IAM.
  • Enable the Recommender API.

    Enable the API

Enumera recomendaciones sobre el rendimiento de las instancias mejoradas

Puedes enumerar las recomendaciones de rendimiento de la instancia mejorada mediante la consola de Google Cloud, gcloud CLI o la API del recomendador.

Las recomendaciones de rendimiento de las instancias mejoradas solo se muestran si tienes instancias que están por alcanzar los límites de umbral de rendimiento.

Console

Para enumerar recomendaciones sobre el rendimiento de las instancias a través de la consola de Google Cloud, sigue estos pasos:

  1. Ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en Ver todo en el banner de recomendación Administrar una gran cantidad de tablas.

Alternativamente, sigue estos pasos:

  1. Ve al Centro de recomendaciones. Consulta también Empieza a usar el Centro de recomendaciones.

    Ir al Centro de recomendaciones

  2. En la tarjeta Mejora el rendimiento de las instancias de Cloud SQL, haz clic en Ver todo.

  3. Selecciona las instancias con la recomendación Administra cantidad alta de tablas.

gcloud CLI

Para mostrar una lista de las recomendaciones de rendimiento de la instancia mejorada a través de gcloud CLI, ejecuta el comando gcloud recommender recommendations list de la siguiente manera:

gcloud recommender recommendations list \
--project=PROJECT_ID \
--location=LOCATION \
--recommender=google.cloudsql.instance.PerformanceRecommender \
--filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

Reemplaza lo siguiente:

  • PROJECT_ID: el ID de tu proyecto
  • LOCATION: Es una región, como us-central1

API

Para mostrar una lista de las recomendaciones de rendimiento de la instancia a través de la API de Recommendations, llama al método recommendations.list de la siguiente manera:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations

Reemplaza lo siguiente:

  • PROJECT_ID: ID del proyecto
  • LOCATION: Es una región, como us-central1.

Si el recomendador detecta instancias con una gran cantidad de tablas, las muestra en una tabla con otras recomendaciones de rendimiento. En cada fila, se muestra el ID de instancia, una recomendación breve, el motor de base de datos, la ubicación y la última fecha de actualización.

Visualiza las estadísticas y las recomendaciones detalladas

Puedes ver estadísticas y recomendaciones detalladas sobre las instancias que tienen una gran cantidad de tablas mediante la consola de Google Cloud, gcloud CLI o la API del recomendador.

Console

Para ver estadísticas y recomendaciones detalladas sobre las instancias que están cerca del límite de rendimiento mediante la consola de Google Cloud, haz clic en el vínculo de recomendación en la lista de instancias.

gcloud CLI

Para ver estadísticas y recomendaciones detalladas sobre las instancias que están cerca del umbral de rendimiento mediante gcloud CLI, ejecuta el comando gcloud recommender insights list de la siguiente manera:

gcloud recommender insights list \
--project=PROJECT_ID \
--location=LOCATION \
--insight-type=google.cloudsql.instance.PerformanceInsight \
--filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_TABLES

Reemplaza lo siguiente:

  • PROJECT_ID: ID del proyecto
  • LOCATION: Es una región, como us-central1.

API

Para ver estadísticas y recomendaciones detalladas sobre las instancias que están cerca del umbral de rendimiento mediante la API de Recomendaciones, llama al método insights.list de la siguiente manera:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/insights

Reemplaza lo siguiente:

  • PROJECT_ID: ID del proyecto
  • LOCATION: Es una región, como us-central1.

En la siguiente tabla, se enumeran las estadísticas y recomendaciones que genera el recomendador de cantidad alta de tablas abiertas de Cloud SQL para ayudarte a mejorar el rendimiento. Los subtipos se pueden ver en los resultados de gcloud CLI y la API.

Estadística Recomendación
La cantidad de tablas en esta instancia es mayor o igual que el 80% del límite del ANS, que es de 50,000 tablas.
Subtipo: MYSQL_HIGH_NUMBER_OF_TABLES
Aumenta la cantidad de tablas para aumentar el rendimiento de las instancias de Cloud SQL.
Subtipo: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

Aplicar recomendaciones

Evalúa las recomendaciones con cuidado y realiza una de las siguientes acciones:

  • Para examinar la instancia, haz clic en Ver instancia. Consulta Optimiza el rendimiento de tu instancia y sigue las recomendaciones.

  • Para descartar la recomendación, de modo de restarle énfasis y que aparezca atenuada, haz clic en Descartar.

  • Para cerrar el panel sin aplicar ni descartar la recomendación, haz clic en Cancelar.

Optimiza el rendimiento de la instancia

  • Edita la instancia para aumentar la cantidad de CPU virtuales a 32 núcleos como mínimo y el tamaño de la memoria a 200 GB como mínimo. Esto aumenta el límite de la tabla de la instancia de 50,000 a 500,000.

  • Descarta tablas innecesarias:

    DROP TABLE TABLE_NAME; 

    Reemplaza lo siguiente:

    • TABLE_NAME: Es el nombre de la tabla que deseas descartar.
  • Para reducir la cantidad de tablas por instancia, divide la base de datos en varias instancias para mantener la cantidad de tablas en cada instancia dentro de los límites recomendados.

  • Si no puedes reducir de inmediato la cantidad de tablas, puedes reducir la probabilidad de que tu cuenta se vea afectada por el recuento alto de tablas. Para esto, establece la marca innodb_file_per_table a OFF. Para desactivar el valor de la marca innodb_file_per_table, consulta Configura una marca de base de datos. Sin embargo, esta configuración no devuelve a la instancia el cumplimiento con el ANS. Consulta estos lineamientos operativos.

  • Usa un espacio de tabla general para crear tablas o mover tablas existentes a un espacio de tabla general. Para obtener más información, consulta la documentación de MySQL sobre espacios de tabla generales.

¿Qué sigue?