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 usas no es importante, a menos que crees una instancia cuya capacidad de procesamiento sea 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 de una instancia, debes especificar las 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 tamaños de datos, consultas y cargas de trabajo más pequeños. 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
  • En el caso de las instancias de 1 nodo y más grandes, Spanner asigna 4 TB de datos para cada nodo. La mayor capacidad de almacenamiento (10 TB por nodo) está disponible en configuraciones seleccionadas de instancias de Spanner regionales, birregionales y multirregionales. Para obtener más información, consulta Mejoras de rendimiento y 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 configuración de la aplicación, además del diseño de esquemas y las características del conjunto de datos. Para ver más consulta la Descripción general del rendimiento.

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. En el caso de cargas de trabajo más grandes, sus recursos de procesamiento limitados pueden generar un escalamiento y un rendimiento no lineales, con aumentos intermitentes en las latencias.

Capacidad de procesamiento y configuraciones de instancias

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

En el siguiente diagrama, 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 distribución de capacidad de procesamiento que consume recursos del servidor en cada una de las tres zonas.
  • 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. Para obtener 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 sincronizadas, 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 diferencia ilustra que Spanner asigna recursos de servidor de manera diferente para instancias de diferentes tamaños:

    • Para instancias de 1,000 unidades de procesamiento (1 nodo) y menos, Spanner asigna los recursos del 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 la mayoría de los casos, las solicitudes se completan en unos minutos. En casos excepcionales, una escalamiento 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 combinar algunas divisiones y permitirte reducir aún más la capacidad de procesamiento de la instancia después de una o dos semanas.

Cuando quites la capacidad de procesamiento, supervisa el uso de CPU y las latencias de solicitud en Cloud Monitoring para asegurarte de que el uso de CPU permanezca por debajo del 65% para las instancias regionales y del 45% para cada región en instancias multirregionales. Es posible que experimentes un aumento temporal en las latencias de solicitud mientras quitas 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 las bibliotecas cliente de Spanner para cambiar la capacidad de procesamiento. Para obtener más información, consulta Cómo cambiar la capacidad de procesamiento.

Capacidad de procesamiento frente a réplicas

Si necesitas escalar verticalmente los recursos de almacenamiento y el servidor en tu instancia, aumenta la capacidad de procesamiento de la instancia. Ten en cuenta que aumentar la capacidad de procesamiento no aumenta la cantidad de réplicas (que se fijan para una configuración de instancia determinada), sino que aumenta los recursos que cada réplica tiene 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?