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.

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

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

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.

Factor de escala del nodo

Cuando creas un clúster de Bigtable, tienes la opción de configurarlo con un factor de escalamiento de nodos 2x. Cuando eliges esta configuración, Bigtable trata dos nodos estándar como un solo nodo de procesamiento 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 de la escalamiento de 2 nodos incluyen lo siguiente:

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

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

Puedes configurar el ajuste de escala de 2 nodos con el ajuste de escala automático o la asignación manual de nodos.

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

Clústeres pequeños

El escalamiento de 2 nodos es óptimo para cargas de trabajo más grandes. Si consideras cambiar de la escala de nodos estándar (por un factor de uno) a la escala de 2 nodos, ten en cuenta 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 ajuste de escala de 2 veces el costo de nodos cuesta el doble. De manera similar, usar el escalamiento de 2 veces el número de nodos 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ó anteriormente en un clúster grande, como un clúster con 50 nodos, el efecto de un factor de escalamiento de nodos de 2 veces es pequeño en relación con la cantidad de nodos.

Bigtable muestra un error si intentas crear un clúster con un factor de escalamiento de nodos de 2x en una zona no admitida.

Limitaciones

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

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 mejora 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.

Aumentos de latencia debido a una disminución del escalamiento demasiado rápida

Cuando disminuyes la cantidad de nodos en un clúster para disminuir el escalamiento, intenta no reducir el tamaño del clúster en más de un 10% en un período de 10 minutos. Disminuir el escalamiento demasiado rápido 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 operaciones de lectura o escritura en una sola fila de tu tabla, todas estas irán al mismo nodo del clúster; por lo tanto, agregar nodos no mejorará 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 Cómo diseñar tu esquema para obtener detalles sobre cómo diseñar un esquema que permita que Bigtable se escale de manera efectiva.

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 2x. Debes crear un clúster nuevo y habilitar el escalamiento de nodos 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 Cómo modificar una instancia.

No puedes configurar la escala de 2 nodos para un clúster de HDD.

Puedes crear clústeres configurados con el escalamiento de 2 veces el número de nodos en cada región de Bigtable, pero no en todas las zonas. Las siguientes zonas no pueden contener un clúster con escalamiento de 2 nodos:

  • asia-south1-c
  • europe-central2-c
  • me-central2-b
  • me-central2-c
  • northamerica-northeast1-a
  • northamerica-northeast1-b
  • southamerica-east1-c
  • us-south1-b
  • us-south1-c

¿Qué sigue?