Antes de iniciar una aplicación, te recomendamos precalentar tu base de datos. con cargas de datos de prueba para aprovechar las funciones de paralelización de Spanner.
Spanner es una base de datos distribuida, lo que significa que, crece tu base de datos, Spanner divide el espacio fragmentos llamados divisiones. Cada división es un rango de filas que contiene un subconjunto de la tabla. A medida que Spanner divide los datos en función de la carga y el tamaño, mueve de forma dinámica las divisiones individuales de forma independiente y las asigna a diferentes recursos del servidor para equilibrar la carga total en la base de datos.
Cuando insertas datos por primera vez en una base de datos vacía, Spanner escribe los datos en una sola división. La base de datos aún se encuentra en estado "en frío". A medida que insertas más datos, Spanner comienza a dividirlos para volver a balancear la carga en otros recursos de servidor disponibles. Ahora, Spanner se encuentra en un estado "caliente" con divisiones en los recursos de servidor disponibles para maximizar el paralelismo y mejorar el rendimiento.
Como práctica recomendada, te recomendamos que inicies tu aplicación cuando Spanner esté en estado caliente con las divisiones ya creadas y equilibradas en los recursos del servidor. Para calentar la base de datos y preparar las cargas de datos de prueba, sigue estos pasos:
- Asegúrate de que las claves primarias que generas para las cargas de datos de prueba están en el mismo espacio de claves y tienen la las mismas propiedades de distribución que las claves que usas para la producción tráfico.
- Ejecuta una prueba de carga no más de dos días antes del lanzamiento. Ejecuta la prueba de carga durante al menos una hora a la carga máxima esperada. La prueba de carga hace que Spanner cree más divisiones debido a la división basada en la carga.
- Una vez finalizada la prueba de carga, puedes borrar de tus tablas las filas generadas por la prueba de carga, pero no borres las tablas. Así mantendrás las divisiones disponibles para la ventana de lanzamiento.