Lista de tareas de lanzamiento para Spanner

Esta lista de tareas de lanzamiento brinda una lista de las consideraciones que hay que tener en cuenta antes de lanzar una aplicación de producción en Spanner. No tiene como objetivo ser exhaustivo, pero sirve para destacar áreas que pueden tener un gran impacto en el rendimiento de la producción.

Elige una configuración de instancias adecuada

Elige una configuración de instancia (regional o multirregional) que coincida con tus requisitos.

Si eliges tipos de instancias multirregionales, la aplicación que accede a Spanner debe estar cerca de la región líder. Puedes encontrar más detalles en la página de instancias.

Diseña tu esquema para el rendimiento a gran escala

El esquema de datos relacionales de Spanner es similar al de las bases de datos relacionales tradicionales, con algunos matices que deben considerarse:

Comprende los factores de rendimiento

Cuanto más orientada sea una consulta, con la fragmentación automática y los datos posteriormente almacenados en divisiones, más eficaz será. Reducirse a un solo elemento superior intercalado y a todos sus elementos secundarios funcionarán mejor que las consultas o las operaciones que afectan a varias filas.

Te recomendamos realizar comparativas y pruebas a gran escala para garantizar que los problemas y cuellos de botella se descubran antes del lanzamiento. Spanner proporciona planes de ejecución de consultas que se pueden usar con tablas durante el diseño del esquema para comprender el rendimiento de las consultas.

Otros factores de rendimiento para tener en cuenta son los siguientes:

  • Prefiere las transacciones de solo lectura en lugar de las transacciones de lectura y escritura más costosas cuando no escribes datos.
  • Diseña tu aplicación para minimizar la cantidad de participantes divididos en una transacción. Spanner puede realizar transacciones entre filas en diferentes servidores. Sin embargo, como regla general, las transacciones que afectan a muchas filas ubicadas en el mismo lugar son más rápidas y económicas que aquellas que afectan a muchas filas dispersas en la base de datos o en una tabla grande.
  • Usa parámetros de búsqueda en lugar de literales de string para mejorar el rendimiento de las búsquedas y la supervisión de estadísticas.

Comprende los límites y las cuotas

Por motivos de arquitectura, y para mantener su alto rendimiento y redundancia, Spanner tiene ciertas cuotas y límites que deben considerarse en el diseño de aplicaciones. Las cuotas se pueden aumentar con un plazo de entrega.

Por ejemplo, hay un límite de 80,000 mutaciones por confirmación y un máximo de 15 uniones por consulta.

Estos límites, junto con el diseño de esquemas y la prevención de hotspots, afectan la carga masiva, así que asegúrate de seguir las prácticas recomendadas de cargas masivas.

Asegúrate de que la supervisión esté implementada

Configura Cloud Monitoring para recibir alertas cuando alcances tus límites.

Aumenta la capacidad de procesamiento si alcanzas las métricas de rendimiento para el escalamiento lineal de las instancias de Spanner. Recomendamos mantener el uso de CPU por debajo del 65% para las instancias específicas de una región y por debajo del 45% para las instancias multirregionales.

Usa Plantillas de consulta en la página Consulta de una base de datos para supervisar las estadísticas en las tablas de estadísticas de consultas.

Ten una estrategia de migración de datos (si es necesaria)

En la carga masiva de datos en Spanner, se debe tener en cuenta la arquitectura distribuida para mantener el rendimiento:

Esta entrada de blog es un buen ejemplo de cómo implementar escrituras de alta capacidad de procesamiento.

Asegúrate de que la configuración de seguridad esté implementada

Configura funciones de IAM relevantes para administrar la seguridad a nivel de base de datos y de instancia. La seguridad a nivel de tabla debe administrarse dentro de la aplicación.

Comprende las opciones de asistencia

Asegúrate de contar con una estrategia para obtener asistencia.