Instancias, clústeres y nodos

Para usar Bigtable, debes crear instancias que contengan clústeres a los que tus aplicaciones puedan conectarse. Cada clúster contiene nodos, las unidades de procesamiento que administran los datos y ejecutan las tareas de mantenimiento.

En esta página, encontrarás información sobre las instancias, los clústeres y los nodos de Bigtable.

Antes de leer esta página, debes familiarizarte con la descripción general de Bigtable.

Instancias

Una instancia de Bigtable es un contenedor de tus datos. Las instancias tienen uno o más clústeres, ubicados en diferentes zonas. Cada clúster tiene al menos 1 nodo.

Las tablas pertenecen a las instancias, no a los clústeres o nodos. Si tienes una instancia con más de un clúster, estás usando la replicación. Esto significa que no puedes asignar una tabla a un clúster individual ni crear políticas de recolección de elementos no utilizados únicas para cada clúster de una instancia. Tampoco puedes hacer que cada clúster almacene un conjunto de datos distinto en la misma tabla.

Las instancias tienen algunas propiedades importantes que es necesario conocer, como las siguientes:

  • El tipo de almacenamiento (SSD o HDD)
  • Los perfiles de aplicaciones, destinados a las instancias que usan la replicación

Estas propiedades se describen con más detalle en las siguientes secciones.

Tipos de almacenamiento

Cuando creas una instancia, debes elegir si sus clústeres almacenarán datos en unidades de estado sólido (SSD) o unidades de disco duro (HDD). A menudo, SSD es la elección más eficiente y rentable, pero no siempre.

La elección entre SSD y HDD es permanente, y todos los clústeres de tu instancia deberán usar el mismo tipo de almacenamiento, por lo que debes elegir el tipo de almacenamiento adecuado para tu caso práctico. Si deseas obtener más información para tomar una decisión, consulta Elige entre el almacenamiento SSD y HDD.

Perfiles de aplicación

Después de crear una instancia, Bigtable la usa para almacenar perfiles de aplicaciones o perfiles de apps. En las instancias que usan la replicación, los perfiles de apps controlan cómo se conectan las aplicaciones a los clústeres de la instancia.

Si tu instancia no usa la replicación, puedes usar los perfiles de app para asignar identificadores independientes a cada una de las aplicaciones o a cada función dentro de ella. Luego, puedes ver gráficos separados para cada perfil de app en la consola de Google Cloud.

Si quieres obtener más información sobre los perfiles de apps, consulta Perfiles de aplicaciones. Para obtener información sobre cómo configurar los perfiles de apps de una instancia, consulta Configura perfiles de apps.

Clústeres

Un clúster representa el servicio de Bigtable en una ubicación específica. Cada clúster pertenece a una instancia de Bigtable, que puede tener hasta 8 regiones. Cuando la aplicación envía solicitudes a una instancia de Bigtable, uno de los clústeres de la instancia controla esas solicitudes.

Cada clúster se encuentra en una sola zona. Una instancia puede tener clústeres en hasta 8 regiones en las que Bigtable esté disponible. Cada zona de una región puede contener solo un clúster. Por ejemplo, si una instancia tiene un clúster en us-east1-b, puedes agregar un clúster en una zona diferente en la misma región, como us-east1-c, o una zona en una región distinta, como europe-west2-a.

La cantidad de clústeres que puedes crear en una instancia depende de la cantidad de zonas disponibles en las regiones que elijas. Por ejemplo, si creas clústeres en 8 regiones con 3 zonas cada una, la cantidad máxima de clústeres que puede tener la instancia es de 24. Para obtener una lista de las zonas y regiones en las que Bigtable está disponible, consulta Ubicaciones de Bigtable.

Las instancias de Bigtable que tienen solo 1 clúster no usan la replicación. Si agregas un segundo clúster a una instancia, Bigtable comienza a replicar los datos de forma automática; para hacerlo, mantiene copias independientes de los datos en cada una de las zonas de los clústeres y sincroniza las actualizaciones entre las copias. Puedes elegir a qué clúster se conectan las aplicaciones, lo que permite aislar los diferentes tipos de tráfico entre sí. También puedes permitir que Bigtable balancee el tráfico entre los clústeres. Si un clúster deja de estar disponible, puedes realizar la conmutación por error de uno a otro. Para obtener más información sobre el funcionamiento de la replicación, consulta la descripción general de la replicación.

Nodos

Cada clúster de una instancia tiene 1 o más nodos, que son recursos de procesamiento que Bigtable usa para administrar los datos.

En segundo plano, Bigtable divide todos los datos de una tabla en tablets independientes. Estos se almacenan en el disco, separadas de los nodos, pero en la misma zona. Cada tablet se asocia con un solo nodo.

Los nodos son responsables de lo siguiente:

  • Mantener un seguimiento de los tablets específicos en el disco
  • Manejar las lecturas y escrituras entrantes para sus tablets
  • Realizar tareas de mantenimiento en sus tablets, como compactaciones periódicas.

Un clúster debe tener suficientes nodos para admitir su carga de trabajo actual y la cantidad de datos que almacena. De lo contrario, es posible que el clúster no pueda administrar las solicitudes entrantes, y la latencia aumente. Supervisa el uso de CPU y disco de los clústeres y agrega nodos a una instancia cuando las métricas excedan las recomendaciones y los límites que se indican a continuación.

Para obtener más información sobre cómo Bigtable almacena y administra los datos, consulta Arquitectura de Bigtable.

Uso de CPU

Bigtable informa las siguientes métricas sobre el uso de CPU:

Métrica Descripción
Uso de CPU promedio

El uso de CPU promedio de todos los nodos del clúster. Incluye la actividad de flujos de cambios si se habilita un flujo de cambios en una tabla de la instancia.

Los valores máximos recomendados proporcionan espacio para picos breves en el uso.

Si un clúster supera el valor máximo recomendado para tu configuración durante algo más que unos pocos minutos, agrégale nodos al clúster.

Uso de CPU del nodo más activo

El uso de CPU del nodo más activo del clúster. Esta métrica se sigue proporcionando para la continuidad, pero en la mayoría de los casos, debes usar la métrica más precisa Uso de CPU de alto nivel de detalle del nodo más activo.

Uso de CPU de alto nivel de detalle del nodo más activo

Una medición detallada del uso de CPU del nodo más activo del clúster. Te recomendamos que uses esta métrica en lugar de Uso de CPU del nodo más activo, ya que esta métrica es más precisa.

El nodo más activo no es necesariamente el mismo a lo largo del tiempo y puede cambiar con rapidez, en especial durante grandes trabajos por lotes o análisis de tablas.

Si, a menudo, el nodo más activo se encuentra por encima del valor recomendado, incluso cuando el uso de CPU promedio es razonable, es posible que estés accediendo a una porción pequeña de tus datos con mucha mayor frecuencia que al resto.

Cambia el uso de CPU de transmisión

El uso de CPU promedio causado por la actividad de flujos de cambios en todos los nodos del clúster.

Uso de CPU por perfil de app, método y tabla

Uso de CPU por perfil de app, método y tabla

Si observas un uso de CPU mayor que el esperado para un clúster, usa esta métrica a fin de determinar si el uso de CPU de un perfil de aplicación, método de API o tabla en particular genera la carga de CPU.

Los valores de estas métricas no deben exceder los siguientes valores:

Configuración Valores máximos recomendados1
  1. Las cantidades máximas recomendadas son para todo un clúster; no hay valores máximos recomendados para el uso de CPU por perfil de aplicación, método o tabla. Usa esta métrica más detallada para la observabilidad de las posibles causas del uso alto de CPU de un clúster.
  2. Los valores máximos recomendados garantizan que una instancia tenga suficiente capacidad para seguir entregando con latencia baja en el caso de una conmutación por error. Por ejemplo, en una instancia con dos clústeres, cada uno debe poder manejar todo el tráfico al 70% en caso de que el otro clúster deje de estar disponible.
Enrutamiento de un solo clúster, cualquier cantidad de clústeres

70% de uso de CPU promedio
90% de uso de CPU del nodo más activo

Enrutamiento de varios clústeres, ajuste de escala automático habilitado, 2 o más clústeres

70% de uso de CPU promedio
90% de uso de CPU del nodo más activo

Enrutamiento de varios clústeres, ajuste de escala automático no habilitado, 2 clústeres

35% de uso de CPU promedio2
45% de uso de CPU del nodo más activo2

Enrutamiento de varios clústeres, ajuste de escala automático no habilitado, 3 o más clústeres

Depende de tu configuración. Consulta los ejemplos de configuración de la replicación para casos prácticos comunes.

Uso del disco

Bigtable informa las siguientes métricas sobre el uso del disco:

Métrica Descripción
Utilización del almacenamiento (bytes)

La cantidad de datos almacenados en el clúster. No se incluye el uso de flujos de cambios para esta métrica.

Este valor afecta tus costos. Además, como se describe a continuación, es posible que debas agregar nodos a cada clúster a medida que aumente la cantidad de datos.

Utilización del almacenamiento (porcentaje del máx.)

El porcentaje de la capacidad de almacenamiento del clúster que se encuentra en uso. La capacidad se basa en la cantidad de nodos del clúster. No se incluye el uso de flujos de cambios para esta métrica.

Por lo general, no se debe usar más del 70% del límite estricto del almacenamiento a fin de tener espacio para agregar más datos. Si no piensas agregar grandes cantidades de datos a tu instancia, puedes usar hasta el 100% del límite estricto.

Si usas un porcentaje de almacenamiento superior al recomendado, agrega nodos al clúster. También puedes borrar los datos existentes, pero los datos borrados ocupan más espacio (no menos) hasta que se realiza una compactación.

Si deseas obtener más información sobre cómo se calcula este valor, consulta Uso de almacenamiento por nodo.

Utilización del almacenamiento del flujo de cambios (bytes)

La cantidad de almacenamiento que consumen los registros de flujos de cambios en las tablas de la instancia. Este almacenamiento no se considera en el uso total del almacenamiento. Se te cobra por el almacenamiento del flujo de cambios, pero no se incluye en el cálculo del uso del almacenamiento (% del máximo).

Carga del disco

El porcentaje que tu clúster usa del ancho de banda máximo posible para las lecturas de HDD. Disponible solo para clústeres de HDD.

Si este valor se encuentra frecuentemente al 100%, es posible que la latencia aumente. Agrega nodos al clúster para reducir el porcentaje de carga del disco.

Nodos para clústeres replicados

En una instancia que use la replicación, asegúrate de que todos los clústeres tengan nodos suficientes para admitir tu caso práctico:

  • Si usas la replicación para ofrecer disponibilidad alta o si utilizas el enrutamiento de varios clústeres en alguno de tus perfiles de aplicación, cada clúster debe tener la misma cantidad de nodos. Además, como mostramos en Uso de CPU, el uso recomendado se redujo a la mitad.

    Esta configuración garantiza que, si se necesita una conmutación por error automática, el clúster de respuesta tenga la capacidad suficiente para controlar todo el tráfico.

  • Si todos tus perfiles de aplicación usan el enrutamiento de un solo clúster, cada clúster puede tener una cantidad de nodos diferente. Cambia el tamaño de cada uno en función de su carga de trabajo.

    Dado que Bigtable almacena una copia independiente de tus datos en cada clúster, estos siempre deben tener nodos suficientes para admitir el uso del disco y replicar las escrituras entre ellos.

    De todas formas, puedes realizar la conmutación por error manual de un clúster a otro si es necesario. Sin embargo, si un clúster tiene muchos más nodos que otro y debes realizar una conmutación por error al que tiene menos, es posible que debas agregar nodos primero. Nada garantiza que habrá nodos disponibles cuando necesites realizar la conmutación por error. La única manera de reservarlos por adelantado es agregarlos al clúster.

¿Qué sigue?