Instancias, clústeres y nodos
Para usar Bigtable, debes crear instancias, que contienen clústeres a los que pueden conectarse tus aplicaciones. Cada clúster contiene nodos, que son las unidades de computación que gestionan tus datos y realizan tareas de mantenimiento.
En esta página se proporciona más información sobre las instancias, los clústeres y los nodos de Bigtable.
- Para saber cómo crear una instancia, consulta Crear una instancia.
- Para saber cómo añadir o eliminar clústeres, consulta Modificar una instancia.
- Para saber cómo monitorizar una instancia y sus clústeres, consulta Monitorizar una instancia.
- Para saber cómo actualizar el número de nodos de un clúster, consulta el artículo Añadir o quitar nodos.
Antes de leer esta página, debes familiarizarte con la descripción general de Bigtable.
Instancias
Una instancia de Bigtable es un contenedor de datos. Las instancias tienen uno o varios clústeres, ubicados en diferentes zonas. Cada clúster tiene al menos un nodo.
Una tabla pertenece a una instancia, no a un clúster ni a un nodo. 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 concreto ni crear políticas de recogida de elementos no utilizados únicas para cada clúster de una instancia. Tampoco puedes hacer que cada clúster almacene un conjunto de datos diferente en la misma tabla.
Una instancia tiene algunas propiedades importantes que debes conocer:
- El tipo de almacenamiento (SSD o HDD)
- Los perfiles de aplicación, que se usan principalmente en instancias que usan la replicación
En las siguientes secciones se describen estas propiedades.
Tipos de almacenamiento
Cuando crees una instancia, debes elegir si los clústeres de la instancia almacenarán datos en unidades de estado sólido (SSD) o en unidades de disco duro (HDD). Las unidades SSD suelen ser la opció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 deben usar el mismo tipo de almacenamiento, así que asegúrate de elegir el tipo de almacenamiento adecuado para tu caso práctico. Para obtener más información que te ayude a decidirte, consulta el artículo Elegir entre almacenamiento SSD y HDD.
Perfiles de aplicación
Después de crear una instancia, Bigtable la usa para almacenar perfiles de aplicación. En las instancias que usan la replicación, los perfiles de aplicación controlan cómo se conectan tus aplicaciones a los clústeres de la instancia.
Si tu instancia no usa la replicación, puedes usar perfiles de aplicación para proporcionar identificadores independientes para cada una de tus aplicaciones o para cada función de una aplicación. Después, puedes ver gráficos independientes para cada perfil de aplicación en la Google Cloud consola.
Para obtener más información sobre los perfiles de aplicaciones, consulta Perfiles de aplicaciones. Para saber cómo configurar los perfiles de aplicación de tu instancia, consulta Configurar perfiles de aplicación.
Clústeres
Un clúster representa el servicio de Bigtable en una ubicación específica. Cada clúster pertenece a una sola instancia de Bigtable y una instancia puede tener clústeres en un máximo de 8 regiones. Cuando tu aplicación envía solicitudes a una instancia de Bigtable, esas solicitudes se gestionan mediante uno de los clústeres de la instancia.
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 solo puede contener un clúster.
Por ejemplo, si una instancia tiene un clúster en us-east1-b
, puedes añadir un clúster en otra zona de la misma región, como us-east1-c
, o en una zona de otra región, como europe-west2-a
.
El número de clústeres que puedes crear en una instancia depende del número de zonas disponibles en las regiones que elijas. Por ejemplo, si creas clústeres en 8 regiones que tienen 3 zonas cada una, el número máximo de clústeres que puede tener la instancia es 24. Para ver una lista de las zonas y regiones en las que está disponible Bigtable, consulta Ubicaciones de Bigtable.
Las instancias de Bigtable que solo tienen un clúster no usan la replicación. Si añades un segundo clúster a una instancia, Bigtable empieza automáticamente a replicar los datos. Para ello, 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 tus aplicaciones, lo que te permite aislar diferentes tipos de tráfico entre sí. También puedes dejar que Bigtable equilibre el tráfico entre clústeres. Si un clúster deja de estar disponible, puedes conmutar por error de un clúster a otro. Para obtener más información sobre cómo funciona la replicación, consulta la descripción general de la replicación.
En la mayoría de los casos, debes habilitar el autoescalado en un clúster para que Bigtable añada y quite nodos según sea necesario para gestionar las cargas de trabajo del clúster.
Cuando creas un clúster, puedes habilitar el escalado de nodos por dos, una configuración que hace que el clúster siempre se escale en incrementos de dos nodos. Para obtener más información, consulta Factor de escalado de nodos.
Nodos
Cada clúster de una instancia tiene uno o varios nodos, que son recursos de computación que Bigtable usa para gestionar tus datos.
En segundo plano, Bigtable divide todos los datos de una tabla en tablets independientes. Las tablets se almacenan en el disco, separadas de los nodos, pero en la misma zona que estos. Una tablet está asociada a un solo nodo.
Cada nodo es responsable de lo siguiente:
- Hacer un seguimiento de tablets específicas en el disco.
- Gestionar las lecturas y escrituras entrantes de 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, el clúster tal vez no pueda gestionar las solicitudes entrantes, por lo que podría aumentar la latencia. Monitoriza el uso de CPU y disco de tus clústeres y añade nodos a una instancia cuando sus métricas superen las recomendaciones de Planificar la capacidad.
Para obtener más información sobre cómo almacena y gestiona datos Bigtable, consulta la arquitectura de Bigtable.
En el caso de las tareas de lectura de alto rendimiento, puedes usar Data Boost para Bigtable para el cálculo en lugar de los nodos de tu clúster. Data Boost te permite enviar grandes tareas de lectura y consultas mediante computación sin servidor mientras tu aplicación principal sigue usando nodos de clúster para la computación. Para obtener más información, consulta el resumen de Data Boost.
Nodos de clústeres replicados
Si tu instancia tiene más de un clúster, la conmutación por error se convierte en un factor importante cuando configuras el número máximo de nodos para el autoescalado o asignas los nodos manualmente.
Si usas el enrutamiento a varios clústeres en alguno de tus perfiles de aplicación, se puede producir una conmutación por error automática si uno o varios clústeres no están disponibles.
Cuando haces una conmutación por error manual de un clúster a otro o cuando se produce una conmutación por error automática, el clúster receptor debería tener capacidad suficiente para admitir la carga. Puedes asignar siempre suficientes nodos para admitir la conmutación por error, lo que puede ser costoso, o bien puedes usar el autoescalado para añadir nodos cuando se produzca una conmutación por error del tráfico. Sin embargo, ten en cuenta que puede haber un breve impacto en el rendimiento mientras se escala el clúster.
Si todos tus perfiles de aplicación usan el enrutamiento de un solo clúster, cada clúster puede tener un número diferente de nodos. Cambia el tamaño de cada clúster según sea necesario en función de la carga de trabajo del clúster.
Como Bigtable almacena una copia independiente de tus datos en cada clúster, cada clúster debe tener siempre suficientes nodos para admitir el uso de disco y replicar las escrituras entre clústeres.
Si es necesario, puedes hacer un failover manualmente de un clúster a otro. Sin embargo, si un clúster tiene muchos más nodos que otro y necesitas conmutar por error al clúster con menos nodos, es posible que tengas que añadir nodos primero. No hay ninguna garantía de que haya nodos adicionales disponibles cuando necesites hacer una conmutación por error. La única forma de reservar nodos con antelación es añadirlos a tu clúster.
Siguientes pasos
- Crea una instancia de Bigtable.
- Monitorizar una instancia de Bigtable
- Consulta cómo funciona la replicación.