Escalamiento

El escalamiento de un clúster es el proceso de agregarle o quitarle nodos en respuesta a los cambios en su carga de trabajo o en las necesidades de almacenamiento de datos. Cuando creas un clúster, también puedes configurar el factor de escala del nodo para el clúster. Antes de configurar el escalamiento, comprende las limitaciones.

Puedes escalar tu clúster de Bigtable según métricas como el uso de CPU del clúster. Por ejemplo, si tu clúster tiene una carga pesada y su uso de CPU es alto, puedes agregar nodos al clúster hasta que el uso de CPU disminuya. Además, para ahorrar dinero, puedes quitar nodos del clúster cuando no se use con cargas pesadas.

Puedes escalar un clúster de Bigtable de las siguientes maneras:

Escalamiento horizontal

En la mayoría de los casos, elige el ajuste de escala automático. Cuando habilitas el escalado automático para un clúster, Bigtable supervisa de forma continua el clúster y ajusta automáticamente la cantidad de nodos según tu configuración.

Escalamiento vertical del nivel en la memoria

El nivel en la memoria de Bigtable usa el escalamiento vertical completamente administrado para la capacidad de procesamiento, lo que permite que los clústeres respondan casi de forma instantánea a los aumentos repentinos en el tráfico de lectura puntual.

El escalamiento vertical ajusta automáticamente cada nodo para adaptarse a las demandas de la carga de trabajo y funciona sin problemas con el escalamiento automático de Bigtable. Cada nodo de Bigtable con el nivel en la memoria habilitado tiene un límite de escalamiento vertical. Si se alcanza ese límite, el ajuste de escala automático de Bigtable agrega nodos dentro de la configuración máxima de nodos para admitir la carga de trabajo y rebalancear el tráfico.

Para obtener más información sobre los límites de escalamiento vertical, consulta Cuotas y límites. Para obtener más información sobre la capacidad de procesamiento en memoria por nodo, consulta Información sobre el rendimiento.

Factor de escala del nodo

Cuando creas un clúster de Bigtable, tienes la opción de configurarlo con un factor de escala de nodos de 2x. Cuando eliges esta configuración, Bigtable trata dos nodos estándar como un nodo de procesamiento único más grande, y el clúster siempre se escala en incrementos de dos nodos. Como resultado, hay menos límites de procesamiento entre los nodos del clúster. Según la carga de trabajo, los beneficios del escalamiento de nodos 2x incluyen los siguientes:

  • Mejoras en la capacidad de procesamiento y la estabilidad de la latencia de cola
  • Mayor capacidad para absorber hotspots

Puedes crear un clúster con el factor de escala de nodos de 2x habilitado cuando usas la consola deGoogle Cloud o la gcloud CLI.

Puedes configurar el escalamiento de nodos de 2x con el escalado automático o la asignación manual de nodos. En la edición Enterprise Plus, debes habilitar el escalamiento de nodos de 2 veces para acceder al límite de almacenamiento por niveles expandido de 64 TB por nodo (versión preliminar).

Para conocer las limitaciones, consulta Limitaciones del factor de escalamiento de nodos.

Clústeres pequeños

El escalado de nodos de 2x es óptimo para cargas de trabajo más grandes. Si estás pensando en cambiar del escalamiento de nodos estándar (por un factor de uno) al escalamiento de nodos de 2x, considera las implicaciones de costos. Para una carga de trabajo más pequeña, como una que se ejecuta en un clúster con un nodo, usar el escalado de nodos de 2x cuesta el doble. Del mismo modo, usar un escalamiento de nodos de 2 veces para una carga de trabajo que antes se ejecutaba en un clúster con 3 nodos aumenta los costos en un 33%.

Por otro lado, para una carga de trabajo que se ejecutó antes en un clúster grande, como un clúster con 50 nodos, el efecto de un factor de escala de nodos de 2x es pequeño en relación con la cantidad de nodos.

Limitaciones

El escalamiento de clústeres está sujeto a la disponibilidad de los nodos, tarda en completarse, no puede compensar un diseño de esquema inapropiado y debe realizarse de forma gradual. En las siguientes secciones, se describen estas limitaciones, así como las que se aplican al escalamiento de nodos 2x.

Disponibilidad de nodos

Las cuotas de nodos se aplican si un clúster tiene asignada de forma manual o el ajuste de escala automático habilitado. Consulta Cuotas y disponibilidad de nodos para obtener más detalles.

Retraso mientras los nodos se rebalancean

Después de agregar nodos a un clúster, pueden pasar hasta 20 minutos con carga para que veas una mejora notoria en el rendimiento. Como resultado, si tu carga de trabajo genera aumentos breves de actividad alta, agregar nodos a tu clúster en función de la carga de CPU no mejorará el rendimiento, ya que, para cuando Bigtable haya rebalanceado los datos, el aumento de actividad ya habrá terminado.

Para planificar esta demora, puedes agregar nodos a tu clúster, ya sea de manera programática o a través de la consola de Google Cloud , antes de aumentar la carga del clúster. Este enfoque permite que Bigtable tenga tiempo de rebalancear tus datos en los nodos adicionales antes de que aumente la carga de trabajo. En los clústeres que usan la asignación de nodos manual, cambia la cantidad de nodos. En los clústeres que usan el ajuste de escala automático, cambia la cantidad mínima de nodos. Después de que el tráfico vuelva a la normalidad, cambia la configuración del nodo.

El nivel en memoria controla los aumentos repentinos de tráfico con un escalamiento vertical casi instantáneo. Cuando Bigtable agrega nodos a través del ajuste de escala automático y aumenta la capacidad de procesamiento del nivel en memoria, administra automáticamente la fragmentación de datos en el nivel en memoria.

Aumentos de latencia debido a una reducción de la escala vertical demasiado rápida

Cuando disminuyas la cantidad de nodos en un clúster para reducir la escala verticalmente, intenta no reducir el tamaño del clúster en más de un 10% en un período de 10 minutos. Reducir la escala verticalmente con demasiada rapidez puede causar problemas de rendimiento, como un aumento de la latencia, si los nodos restantes del clúster se sobrecargan de forma temporal.

Problemas de diseño de esquemas

Si hay problemas con el diseño del esquema de tu tabla, es posible que agregar nodos a tu clúster de Bigtable no ayude a mejorar el rendimiento. Por ejemplo, si tienes una gran cantidad de lecturas o escrituras en una sola fila de la tabla, todas las lecturas o escrituras se dirigirán al mismo nodo del clúster. Como resultado, agregar nodos no mejora el rendimiento. Por el contrario, si estas están distribuidas de manera uniforme entre las filas de tu tabla, por lo general, agregar nodos mejorará el rendimiento.

Consulta Diseña tu esquema para obtener detalles sobre cómo diseñar un esquema que permita que Bigtable escale de manera eficaz.

Limitaciones de las ediciones

El nivel en la memoria y el escalamiento vertical solo están disponibles para los clústeres de SSD en la edición Enterprise Plus.

Limitaciones del factor de escala del nodo

No puedes convertir un clúster con escalamiento de nodos estándar para usar el escalamiento de nodos de 2x. Debes crear un clúster nuevo y habilitar el escalamiento de nodos de 2x en el momento de la creación. Para obtener más información sobre cómo agregar un clúster a una instancia, consulta Modifica una instancia.

No puedes configurar el escalamiento de nodos de 2x para un clúster de HDD.

¿Qué sigue?