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 almacenamiento y servidores que están disponibles para las bases de datos de una instancia. Cuando creas una instancia, debes especificar su capacidad de procesamiento como una cantidad de unidades de procesamiento o como una cantidad 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 la cantidad de unidades de procesamiento llega a 1,000, puedes especificar cantidades mayores, ya sea como múltiplos de 1,000 unidades de procesamiento (1,000, 2,000, 3,000, etcétera) o como nodos (1, 2, 3, etcétera).
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, lo que podría generar un rendimiento y una escalabilidad no lineales para algunas cargas de trabajo, y podrían experimentar 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 latencia cuando se accede a una base de datos, Spanner usa la capacidad de procesamiento de una instancia como base para determinar los límites de almacenamiento, según los siguientes lineamientos:
- En las instancias más pequeñas que 1 nodo (1,000 unidades de procesamiento), Spanner asigna 1,024.0 GB de datos por 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 10 TB de datos para cada nodo.
Por ejemplo, para 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 mantiene la instancia por debajo del límite hasta que el tamaño de la base de datos supere los 1,024.0 GB. Cuando tenga este tamaño, debes agregar 100 unidades de procesamiento más para permitir que crezca. De lo contrario, Spanner podría rechazar las operaciones de escritura en la base de datos. Para obtener más información, consulta Recomendaciones para el uso del almacenamiento de bases de datos.
Spanner factura el almacenamiento que las instancias realmente usan, 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, del diseño del esquema y de las características del conjunto de datos. Para obtener más información, consulta la descripción general del rendimiento.
Usas instancias con menos de 1,000 unidades de procesamiento para tamaños de datos, consultas y cargas de trabajo más pequeños. 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.
Este es un diagrama que ilustra esta distribución de recursos del servidor.
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 distribución de capacidad de procesamiento que consume recursos del servidor en cada una de las tres zonas.
Ten en cuenta lo siguiente en este diagrama:
Para cada instancia, Spanner asigna recursos del servidor 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 información sobre las réplicas de datos en las configuraciones de instancias, 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 de la instancia A se muestran en cuadros individuales, mientras que los recursos de 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:
- En el caso de instancias de 1,000 unidades de procesamiento (1 nodo) y menores, Spanner asigna recursos de servidor en una sola tarea de servidor por zona.
- En el caso de instancias de más de 1,000 unidades de procesamiento (1 nodo), Spanner asigna recursos del servidor en varias tareas del servidor por zona, con una tarea para cada 1,000 unidades de procesamiento. El uso de varias tareas de servidor por zona proporciona un mejor rendimiento y permite que Spanner cree divisiones de bases de datos y proporcione 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 los que no puedes disminuir la capacidad de procesamiento:
- Si quitas la capacidad de procesamiento, tu instancia deberá almacenar más de 10 TB de datos por 1,000 unidades de procesamiento (1 nodo).
- Debido a tu historial de uso, Spanner creó una gran cantidad de divisiones para los datos de tu instancia y, en algunos casos excepcionales, Spanner no podría administrar las divisiones después de quitar la capacidad de procesamiento.
En el último caso, puedes intentar reducir la capacidad de procesamiento de forma progresiva con cantidades más pequeñas hasta encontrar la capacidad mínima que 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, 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. La capacidad de procesamiento de Spanner es un recurso dedicado y, aun cuando no ejecutas una carga de trabajo, Spanner realiza con frecuencia tareas en segundo plano 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 en comparación con las 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 brinda a cada réplica más CPU y RAM, lo que aumenta la capacidad de procesamiento de la réplica (es decir, se pueden realizar más lecturas y escrituras por segundo).
¿Qué sigue?
- Obtén más información para crear y administrar instancias.