Capacidad de procesamiento, nodos y unidades de procesamiento

En esta página, se describen la capacidad de procesamiento de Spanner y las dos unidades para cuantificarlo: nodos y unidades de procesamiento.

Capacidad de procesamiento

La capacidad de procesamiento define la cantidad de recursos de servidor y almacenamiento que se disponibles para las bases de datos de una instancia. Cuando creas una instancia, especificar su capacidad de procesamiento como un número de unidades de procesamiento o de nodos, con 1,000 unidades de procesamiento que equivalen a 1 nodo.

La unidad de medida que utilices no es importante, a menos que crees una instancia cuya capacidad de procesamiento es menor que 1,000 unidades de procesamiento (1 nodo); En este caso, debes usar unidades de procesamiento para especificar la capacidad de procesamiento de la instancia.

Cuando defines o cambias la capacidad de procesamiento en una instancia, especificas o unidades de procesamiento en múltiplos de 100 (100, 200, 300, etcétera). Cuando el número de unidades de procesamiento llega a 1,000, puedes especificar grandes cantidades, múltiplos de 1,000 unidades de procesamiento (1,000, 2,000, 3,000, etc.) o como nodos (1, 2, 3, etc.).

Las instancias con menos de 1,000 unidades de procesamiento se compilan para datos más pequeños los tamaños, las consultas y las cargas de trabajo. Tienen recursos de procesamiento limitados y eso podría generar escalamiento no lineal y rendimiento para algunas cargas de trabajo experimentan aumentos intermitentes en las latencias.

Límites de almacenamiento de datos

Como se detalla en Cuotas y límites para proporcionar alta disponibilidad y baja cuando se accede a una base de datos, Spanner usa de procesamiento de una instancia como base para determinar los límites de almacenamiento siguiendo estos lineamientos:

  • Para instancias de menos de 1 nodo (1,000 unidades de procesamiento), Spanner asigna 409.6 GB de datos para cada 100 unidades de procesamiento en la base de datos
  • Para instancias de 1 nodo o más, Spanner asigna 4 TB de datos para cada nodo. Mayor capacidad de almacenamiento (10 TB por nodo) está disponible en instancia de Spanner regional, birregional y multirregional parámetros de configuración. Para obtener más información, consulta Mejoras en el rendimiento y el almacenamiento.

Por ejemplo, para crear una instancia de una base de datos de 300 GB, puedes establece su capacidad de procesamiento en 100 unidades de procesamiento. Esta cantidad de procesamiento mantiene la instancia por debajo del límite hasta que la base de datos aumenta a 409.6 GB. Después de que la base de datos alcanza de este tamaño, debes agregar otras 100 unidades de procesamiento para que la base de datos crezcan. De lo contrario, Spanner podría rechazar las operaciones de escritura en la base de datos. Para más información, consulta Recomendaciones para el uso del almacenamiento de la base de datos.

Spanner factura el almacenamiento que las instancias usan y no su asignación de almacenamiento total.

Rendimiento

Los valores máximos de la capacidad de procesamiento de lectura y escritura que una cantidad determinada de procesamiento que puede proporcionar la capacidad dependerá de la instancia así como el diseño del esquema y las características del conjunto de datos. Consulta el rendimiento de la configuración regional y de rendimiento de la configuración multirregional para más detalles.

Usas instancias con menos de 1,000 unidades de procesamiento para tamaños de datos más pequeños. las consultas y cargas de trabajo. Para cargas de trabajo más grandes, sus recursos de procesamiento limitados puede dar como resultado un escalamiento no lineal y un rendimiento, aumentos en las latencias.

La capacidad de procesamiento y la configuración de las instancias

Como se describe en Configuraciones regionales, birregionales y multirregionales, Spanner distribuye una instancia en las zonas de uno o más regiones para proporcionar alto rendimiento y alta disponibilidad. Por lo tanto, Spanner también distribuye los recursos del servidor que proporciona la capacidad de procesamiento de la instancia.

El siguiente es un diagrama en el que se ilustra esta distribución de recursos del servidor.

Dos instancias creadas en una configuración de instancia regional

En este diagrama, se muestran dos instancias que tienen configuraciones regionales:

  • Instance-A muestra una instancia de 1,000 unidades de procesamiento (1 nodo) con su de procesamiento y procesamiento que consumen recursos del servidor en cada uno de los tres zonas diferentes.
  • Instance-B muestra una instancia de 2,000 unidades de procesamiento (2 nodos) con su de procesamiento y procesamiento que consumen recursos del servidor en cada uno de los tres zonas diferentes.

Observa lo siguiente en este diagrama:

  • Para cada instancia, Spanner asigna recursos de servidor en cada de la configuración regional. Cada recurso de servidor por zona usa el una réplica de datos de su zona. Obtén información sobre las réplicas de datos en instancias de configuración, consulta Configuraciones regionales, birregionales y multirregionales. Para obtener información sobre cómo Spanner mantiene estas réplicas de datos en sincronización, consulta Replicación.

  • Los recursos del servidor para la Instancia-A se muestran en cuadros individuales, mientras que para la instancia B se muestran en cuadros subdivididos en dos partes. Esta la diferencia ilustra que Spanner asigna servidores de manera diferente para instancias de distintos tamaños:

    • Para instancias de 1,000 unidades de procesamiento (1 nodo) y menos, Spanner asigna recursos de servidor en uno solo por zona.
    • Para instancias de más de 1,000 unidades de procesamiento (1 nodo), Spanner asigna recursos de servidor en múltiples tareas por zona, con una tarea por cada 1,000 unidades de procesamiento. Usando varias tareas de servidor por zona proporciona un mejor rendimiento y permite Spanner para crear divisiones de bases de datos y proporcionar un rendimiento aún mejor.

Cambia la capacidad de procesamiento

Después de crear una instancia, puedes aumentar su capacidad de procesamiento más adelante. En en la mayoría de los casos, las solicitudes se completan en pocos minutos. En ocasiones excepcionales, una escala puede tardar hasta una hora en completarse.

En la mayoría de los casos, también puedes disminuir la capacidad de procesamiento. Hay algunos casos en la que no se puede disminuir la capacidad de procesamiento:

  • Quitar capacidad de procesamiento requeriría que tu instancia almacene más de 4 TB de datos por cada 1,000 unidades de procesamiento (1 nodo)
  • Según tus patrones de uso históricos, Spanner creó un una gran cantidad de divisiones para tu de la instancia de VM y, en casos excepcionales, Spanner no podría para administrar las divisiones después de quitar la capacidad de procesamiento.

En este último caso, intenta reducir la capacidad de procesamiento de manera progresiva cantidades más pequeñas hasta que encuentres la capacidad mínima que necesita administrar todas las divisiones de la instancia. Si la instancia ya no requiere tantas divisiones debido a un cambio en los patrones de uso, Spanner podría finalmente combinar algunas divisiones y permitirte intentar reducir la capacidad de procesamiento de la instancia después de una o dos semanas.

Cuando quites capacidad de procesamiento, supervisa el uso de CPU latencias en Cloud Monitoring para garantizar que los la utilización se mantiene por debajo del 65% para los y un 45% para cada región en multirregionales. Es posible que experimentes un aumento temporal en la solicitud latencias mientras se quita la capacidad de procesamiento.

Spanner no tiene un modo de suspensión. Spanner la capacidad de procesamiento es un recurso dedicado y, incluso cuando no se está ejecutando Spanner realiza trabajos en segundo plano con frecuencia para optimizar y proteger tus datos.

Puedes usar la consola de Google Cloud Google Cloud CLI o el cliente de Spanner bibliotecas para cambiar la capacidad de procesamiento. Para obtener más información, consulta Cambia la capacidad de procesamiento.

Capacidad de procesamiento frente a réplicas

Si necesitas escalar verticalmente el servidor y los recursos de almacenamiento en tu instancia, aumentar la capacidad de procesamiento de la instancia. Ten en cuenta que aumentar el tiempo no aumenta la cantidad de réplicas (que se fijan para una cantidad configuración de una instancia), sino que aumenta los recursos que tiene cada réplica en la instancia. El aumento de la capacidad de procesamiento le da a cada réplica más CPU y RAM lo que aumenta la capacidad de procesamiento de la réplica (es decir, más operaciones de lectura y escritura por puede ocurrir por segundo).

¿Qué sigue?