Capacidad de procesamiento, nodos y unidades de procesamiento

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En esta página, se describe la capacidad de procesamiento de Spanner y las dos unidades de medida que se usan para cuantificarla: nodos y unidades de procesamiento.

Capacidad de procesamiento

La capacidad de procesamiento define la cantidad de recursos de servidor y almacenamiento que están disponibles para las bases de datos de una instancia. Cuando creas una instancia, especificas su capacidad de procesamiento como un número de unidades de procesamiento o como un número de nodos, con 1,000 unidades de procesamiento que son iguales 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 definas la capacidad de procesamiento, ya sea cuando creas una instancia por primera vez o más adelante cuando aumentas o disminuyes su capacidad, debes especificar cantidades hasta 1,000 unidades de procesamiento en múltiplos de 100 (100, 200, 300, etcétera) y especificas mayores cantidades en múltiplos de 1,000 unidades de procesamiento (1,000, 2,000, 3,000, etc.) o como nodos (1, 2, 3, etcétera).

Las instancias con menos de 1,000 unidades de procesamiento están diseñadas para tamaños de datos, consultas y cargas de trabajo más pequeños. Tienen recursos de procesamiento limitados y, por lo tanto, pueden causar escalamiento y rendimiento no lineales para algunas cargas de trabajo, y pueden experimentar un aumento intermitente de las latencias.

Límites de almacenamiento de datos

Como se detalla en Límites de cuotas, a fin de proporcionar alta disponibilidad y baja latencia para acceder a una base de datos, Spanner define límites de almacenamiento según la capacidad de procesamiento de una instancia:

  • Para instancias menores que 1 nodo (1,000 unidades de procesamiento), Spanner asigna 409.6 GB de datos por cada 100 unidades de procesamiento en la base de datos.
  • Para instancias de 1 nodo o más, Spanner asigna 4 TB de datos a cada nodo.

Por ejemplo, a fin de crear una instancia para una base de datos de 300 GB, puedes establecer su capacidad de procesamiento en 100 unidades de procesamiento. Esta cantidad de capacidad de procesamiento mantendrá la instancia por debajo del límite hasta que la base de datos crezca a más de 409.6 GB. Una vez que la base de datos alcanza este tamaño, debes agregar otras 100 unidades de procesamiento para permitir que crezca la base de datos. De lo contrario, es posible que se rechacen las operaciones de escritura en la base de datos. Si deseas obtener más información, consulta Recomendaciones para el uso del almacenamiento de la base de datos.

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

Rendimiento

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

Las instancias con menos de 1, 000 unidades de procesamiento están diseñadas para tamaños de datos, consultas y cargas de trabajo más pequeños. Sus recursos de procesamiento limitados pueden dar como resultado un escalamiento no lineal y un rendimiento para cargas de trabajo más grandes, con un aumento intermitente de las latencias.

Capacidad de procesamiento y configuración de instancias

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

Este es un diagrama que ilustra esta distribución de los 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 capacidad de procesamiento distribuida que consume recursos de servidor en cada una de las tres zonas.
  • Instance-B muestra una instancia de 2,000 unidades de procesamiento (2 nodos) con su capacidad de procesamiento distribuida que consume recursos del servidor en cada una de las tres zonas.

Ten en cuenta lo siguiente en este diagrama:

  • Para cada instancia, los recursos del servidor se asignan en cada zona de la configuración regional. Cada recurso de servidor por zona usa la réplica de datos en su zona. Para obtener más información sobre las réplicas de datos en la configuración de las instancias, consulta Configuraciones regionales y multirregionales. Para obtener más 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 simples, mientras que los recursos 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 tamaños diferentes:

    • Para instancias de 1,000 unidades de procesamiento (1 nodo) y más pequeñas, Spanner asigna recursos de servidor en una sola tarea del servidor por zona.
    • Para instancias de más de 1,000 unidades de procesamiento (1 nodo), Spanner asigna recursos de servidor en varias tareas del servidor por zona, con una tarea por cada 1,000 unidades de procesamiento. El uso de varias tareas del servidor por zona proporciona un mejor rendimiento y permite que Spanner cree divisiones de bases de datos y proporcione un rendimiento aún mejor.

Aumenta y disminuye 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, también puedes disminuir la capacidad de procesamiento. Hay algunos casos en los que no puedes disminuir la capacidad de procesamiento:

  • Quitar la 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).
  • En función de tus patrones de uso históricos, Spanner creó una gran cantidad de divisiones para los datos de tu instancia y, en algunos casos poco frecuentes, Spanner no podría administrarlas después de quitar la capacidad de procesamiento.

En el último caso, puedes intentar reducir la capacidad de procesamiento en cantidades progresivamente más pequeñas hasta que encuentres la capacidad mínima que Cloud Spanner necesita para administrar todas las divisiones de la instancia. Si la instancia ya no requiere tantas divisiones debido a un cambio en los patrones de uso, Cloud Spanner puede combinar algunas divisiones y permitirte intentar reducir aún más la capacidad de procesamiento de la instancia después de una semana o dos.

Cuando quites la capacidad de procesamiento, supervisa el uso de CPU y solicita latencias en Cloud Monitoring a fin de asegurarte de que el uso de CPU se mantenga por debajo del 65% para las instancias regionales y del 45% para cada región en las instancias multirregionales. Es posible que experimentes un aumento temporal en las latencias de las solicitudes mientras quitas la capacidad de procesamiento.

Puedes usar Google Cloud Console, Google Cloud CLI o las bibliotecas cliente para cambiar la capacidad de procesamiento.

Spanner no tiene un modo de suspensión. La capacidad de procesamiento de Spanner es un recurso dedicado y, incluso cuando no ejecutas una carga de trabajo, Spanner suele realizar tareas en segundo plano para optimizar y proteger los datos.

Capacidad de procesamiento frente a réplicas

Si necesitas escalar verticalmente el servidor y los recursos de almacenamiento en tu instancia, aumenta la capacidad de procesamiento de la instancia. Ten en cuenta que el aumento de 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, se pueden producir más lecturas y escrituras por segundo).

¿Qué sigue?