Crea y administra tablas
En esta página, se explica cómo crear y realizar operaciones en tablas de Cloud Bigtable con la consola de Google Cloud, Google Cloud CLI o la CLI de cbt
.
La CLI de cbt
admite varios comandos que no se describen en esta página. Consulta la referencia de cbt
para obtener una lista completa de comandos.
También puedes crear y administrar tablas de manera programática con las bibliotecas cliente o las APIs de servicio de Bigtable.
Antes de comenzar
Si planeas trabajar con tus tablas mediante herramientas de línea de comandos, sigue los pasos de esta sección.
Instala la CLI de gcloud
Opcional: Si planeas usar la CLI de
cbt
, sigue las instrucciones de Instala la CLI decbt
, incluido el paso para crear un archivo.cbtrc
.En las instrucciones de la CLI de
cbt
que se incluyen en esta página, se supone que configuraste el ID del proyecto y el de la instancia en tu archivo.cbtrc
. Como alternativa, puedes usar las marcas-project
y-instance
para establecer estos valores cada vez que ejecutes un comandocbt
de la CLI.
Crear una tabla
Cuando creas una tabla, no necesitas especificar las familias de columnas que se usarán en ella. Más adelante, podrás agregar o borrar familias de columnas.
Consola
Para crear una tabla nueva en una instancia, sigue estos pasos:
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
En la página Tablas, se mostrará una lista de tablas de la instancia.
Ingresa un ID para la tabla.
Agrega familias de columnas (opcional)
Puedes agregar columnas ahora o más tarde. Una tabla debe tener al menos una familia de columnas antes de poder escribir datos en ella. Una tabla debe tener al menos una familia de columnas antes de que puedas escribir datos en ella o leer un flujo de cambios de ella.
Habilita un flujo de cambios para la tabla (opcional). Antes de habilitar un flujo de cambios, asegúrate de comprender las implicaciones, incluidos los costos de almacenamiento aumentados y los requisitos de uso del perfil de app. Para revisar estos detalles, consulta la Descripción general de los flujos de cambios.
Selecciona Habilitar flujo de cambios.
En el campo Tiempo de vencimiento, ingresa un número del 1 al 7 para especificar la cantidad de días que se deben conservar los datos del flujo de cambios.
Haz clic en Crear.
Haz clic en Crea una tabla.
gcloud
Para crear una tabla, ejecuta el siguiente comando. Consulta gcloud bigtable instances create para obtener una lista completa de las opciones.
gcloud bigtable instances tables create TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES
Reemplaza lo siguiente:
- TABLE_ID: Un ID único para la tabla nueva
- INSTANCE_ID: El ID de la instancia
- PROJECT_ID: El proyecto que contendrá la tabla nueva
- COLUMN-FAMILIES: Es una lista separada por comas de nombres de familia de columnas. Puedes agregar más familias de columnas más adelante.
Opcional:
Para evitar que se borre la tabla, agrega el comando con
--deletion-protection
. Si no aplicas esta configuración, la tabla se puede borrar. También puedes permitir de forma explícita la eliminación de la tabla si agregas--no-deletion-protection
.Si deseas habilitar un flujo de cambios en la tabla, especifica un período de retención para los datos del flujo de cambios. Antes de habilitar un flujo de cambios, asegúrate de comprender las implicaciones, incluidos los costos de almacenamiento adicionales y los requisitos de uso del perfil de app. Para revisar estos detalles, consulta la Descripción general de los flujos de cambios.
--change-stream-retention-period=RETENTION_PERIOD
Reemplaza RETENTION_PERIOD por la cantidad de tiempo que Bigtable debe retener los datos del flujo de cambios de la tabla. El tiempo debe ser entre uno y siete días. Las unidades aceptables son días (d), horas (h), minutos (m) y segundos (s). Ejemplos:
48h
o6d
cbt
Usa el siguiente comando y reemplaza [TABLE_NAME]
por el nombre de tu tabla. No puedes usar la CLI de cbt
para crear una tabla con un flujo de cambios habilitado.
cbt createtable [TABLE_NAME]
Si borraste una tabla por error, no intentes crearla de forma manual. Usa el comando de gcloud CLI bigtable instances tables undelete
para recuperar la tabla.
Opcional: Divide la tabla por clave de fila
Una de las características de Bigtable como servicio completamente administrado es la división automática de tablas en varios nodos. Siempre que sea posible, esta función distribuye de manera uniforme la cantidad de datos almacenados en cada nodo y mantiene las filas a las que se accede con frecuencia separadas para optimizar el rendimiento.
Cuando creas una tabla con gcloud CLI, la CLI de cbt
o una biblioteca cliente de Bigtable, puedes elegir las claves de fila para dividir previamente la tabla. Por ejemplo, puedes designar filas específicas para dividir la tabla con anterioridad si vas a escribir muchas filas en ella. Puedes proporcionar hasta 100 claves de fila en las que deberían ocurrir las divisiones iniciales.
No es esencial dividir la tabla antes, pero es beneficioso, ya que proporciona información de Bigtable sobre dónde es probable que lleguen la carga y la huella de datos cuando la tabla se crea. La división previa evita que Bigtable tenga que dividir las tablas y volver a balancear la carga de una sola vez a medida que llegan los datos.
La tabla no permanece dividida en las claves de fila que eliges dividir antes cuando creas la tabla. Con el tiempo, Bigtable divide tu tabla en diferentes claves de fila, según la cantidad de datos que hay en la tabla y la frecuencia con que se accede a cada fila.
Consola
No puedes dividir previamente las filas cuando creas una tabla con la consola de Google Cloud.
gcloud
Para dividir una tabla por clave de fila, ejecuta el siguiente comando. Consulta gcloud bigtable instances create para obtener una lista completa de las opciones.
gcloud bigtable instances tables create TABLE_ID\
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES \
--splits=SPLITS
Reemplaza lo siguiente:
- TABLE_ID: Un ID único para la tabla nueva
- INSTANCE_ID: El ID de la instancia
- PROJECT_ID: El proyecto que contendrá la tabla nueva
- COLUMN-FAMILIES: Es una lista separada por comas de nombres de familia de columnas. Puedes agregar más familias de columnas más adelante.
- SPLITS: Son las claves de fila en las que la tabla debe dividirse inicialmente, por ejemplo,
10,20
.
cbt
Si quieres dividir previamente una tabla según la clave de fila, usa la siguiente sintaxis para crear la tabla. Reemplaza [TABLE_NAME]
por el nombre de la tabla y [SPLITS]
por una lista separada por comas de los prefijos de clave de fila que se usarán para las divisiones previas.
```
cbt createtable [TABLE_NAME] splits=[SPLITS]
```
Por ejemplo, para dividir antes la tabla my-table
en las claves de fila que comienzan con 10
y 20
, ingresa el siguiente comando:
```
cbt createtable my-table splits=10,20
```
Modifica las familias de columnas en una tabla
Puedes agregar familias de columnas en una tabla existente. Si la tabla no tiene habilitada la protección contra la eliminación, puedes borrar familias de columnas en la tabla.
Agrega familias de columnas
Consola
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
En la página Tablas, se mostrará una lista de tablas de la instancia.
Haz clic en
Editar en la tabla que deseas modificar.Para cada familia de columnas que desees agregar, completa lo siguiente:
- Haz clic en Agregar familia de columnas.
- Proporciona un identificador único para la familia de columnas.
- Establece la política de recolección de elementos no utilizados para la familia de columnas.
- Haz clic en Listo.
- Haz clic en Guardar.
gcloud
No puedes usar gcloud CLI para agregar familias de columnas a una tabla.
cbt
Para agregar una familia de columnas, usa el siguiente comando y reemplaza [TABLE_NAME]
con el nombre de la tabla y [FAMILY_NAME]
con el nombre de la familia de columnas:
cbt createfamily [TABLE_NAME] [FAMILY_NAME]
Por ejemplo, ingresa el siguiente comando para agregar las familias de columnas cf1
y cf2
a la tabla my-table
:
cbt createfamily my-table cf1
cbt createfamily my-table cf2
Borrar familias de columnas
Puedes borrar familias de columnas en una tabla que no tenga habilitada la protección contra la eliminación.
Consola
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
En la página Tablas, se mostrará una lista de tablas de la instancia.
Haz clic en
Editar en la tabla que deseas modificar.Para cada familia de columnas que desees borrar, completa los siguientes pasos:
- Coloca el cursor sobre la fila de la familia de columnas que desees borrar.
- Haga clic en .
Haz clic en Guardar.
Para confirmar que comprendes que la eliminación de una familia de columnas es permanente y que todos los datos en la familia de columnas se borrarán, escribe “Borrar familias de columnas” en el cuadro de texto.
Haz clic en Confirmar.
gcloud
No puedes usar gcloud CLI para borrar familias de columnas de una tabla.
cbt
Usa el siguiente comando para borrar una familia de columnas de una tabla y reemplaza [TABLE_NAME]
con el nombre de la tabla y [FAMILY_NAME]
con el nombre de la familia de columnas:
cbt deletefamily [TABLE_NAME] [FAMILY_NAME]
Por ejemplo, ingresa el siguiente comando para borrar la familia de columnas cf2
de la tabla my-table
:
cbt deletefamily my-table cf2
Ve una lista de tablas
Consola
Sigue estos pasos para ver una lista de tablas en una instancia:
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
En la página Tablas, se mostrará una lista de tablas de la instancia.
- Haz clic en la flecha al lado del ID de la tabla para expandir una lista de replicaciones de la tabla.
- Haz clic en Ver métricas junto al nombre de una tabla para ver los datos de supervisión de la tabla.
gcloud
Para ver una lista de tablas, ejecuta el comando gcloud bigtable instances instances list.
gcloud bigtable instances tables list --instances=INSTANCE_IDS
Reemplaza lo siguiente:
- INSTANCE_IDS: Es una lista de ID de instancias separados por comas.
cbt
Ejecuta el siguiente comando para ver una lista de tablas en una instancia:
cbt ls INSTANCE_ID
Reemplaza lo siguiente:
INSTANCE_ID
: Identificador permanente de la instancia
C++
Para aprender a instalar y usar la biblioteca cliente de Bigtable, consulta Bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Para aprender a instalar y usar la biblioteca cliente de Bigtable, consulta Bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para aprender a instalar y usar la biblioteca cliente de Bigtable, consulta Bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para aprender a instalar y usar la biblioteca cliente de Bigtable, consulta Bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para aprender a instalar y usar la biblioteca cliente de Bigtable, consulta Bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para aprender a instalar y usar la biblioteca cliente de Bigtable, consulta Bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Para aprender a instalar y usar la biblioteca cliente de Bigtable, consulta Bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ve información sobre una tabla
Consola
Para ver información sobre una tabla, haz lo siguiente:
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
En la página Tablas, se mostrará una lista de tablas de la instancia. Para cada tabla, la consola de Google Cloud muestra la cantidad de clústeres en los que se almacena la tabla, el estado de la tabla, el uso del almacenamiento y los identificadores de cualquier copia de seguridad actual de la tabla.
Para ver los nombres de las familias de columnas de la tabla, haz clic en
. Para cerrar el panel Editar tabla, haz clic en Cancelar.Para ver detalles adicionales sobre la tabla, incluidas las métricas a nivel de tabla y el estado de replicación, haz clic en el nombre de la tabla.
gcloud
Para ver información sobre una tabla, ejecuta el comando gcloud bigtable instances Tables describe.
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID
Reemplaza lo siguiente:
- TABLE_ID: Un ID único de la tabla
- INSTANCE_ID: El ID de la instancia
cbt
Puedes usar la CLI de cbt
para obtener una lista de las familias de columnas existentes en una tabla.
Usa el siguiente comando y reemplaza [TABLE_NAME]
por el nombre de la tabla:
cbt ls [TABLE_NAME]
Configura políticas de recolección de elementos no utilizados
Una política de recolección de elementos no utilizados le indica a Bigtable qué datos conservar y cuáles marcar para su eliminación. Las políticas de recolección de elementos no utilizados se establecen a nivel de la familia de columnas. Puedes configurarlas cuando creas la tabla o después.
Cuando creas una familia de columnas, puedes especificar la cantidad de celdas que deseas retener en cada columna. Si no especificas este parámetro de configuración, Bigtable usa una de las siguientes opciones de configuración predeterminada:
Si creas la familia de columnas con el cliente de HBase de Cloud Bigtable para Java o la shell de HBase, o cualquier otra herramienta que utiliza el cliente de HBase para Java, Bigtable retiene solo 1 celda para cada una intersección entre fila y columna en la familia de columnas. Esta configuración predeterminada es coherente con HBase.
Si creas la familia de columnas con la consola de Google Cloud, cualquier otra biblioteca cliente o la CLI de
cbt
, Bigtable retiene una cantidad infinita de celdas en cada columna.
Consulta Configura políticas de recolección de elementos no utilizados para obtener instrucciones detalladas sobre cómo ver, configurar y actualizar las políticas de recolección de elementos no utilizados.
Crea una copia de seguridad de una tabla y restablécela
Consulta Administra copias de seguridad para obtener instrucciones sobre cómo realizar una copia de seguridad de una tabla y restablecerla desde una copia de seguridad a una tabla nueva.
Habilita, inhabilita o configura un flujo de cambios
Para obtener instrucciones sobre las siguientes tareas, consulta Configura un flujo de cambios.
- Habilita un flujo de cambios en una tabla existente
- Cómo inhabilitar un flujo de cambios
- Actualizar el período de retención de un flujo de cambios
Borra una tabla
Consola
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
En la página Tablas, se mostrará una lista de tablas de la instancia.
Haz clic en
en la tabla que deseas borrar.Haz clic en Borrar.
Para confirmar que entiendes que esta acción borrará la tabla de todos los clústeres de la instancia y que solo tienes siete días a fin de recuperarla, escribe el ID de la tabla en el cuadro de texto.
Haz clic en Borrar.
gcloud
Para borrar tablas, ejecuta el comando gcloud bigtable instances instances delete.
gcloud bigtable instances tables delete --instance=INSTANCE_ID
Reemplaza lo siguiente:
- INSTANCE_ID: El ID de la instancia
En la terminal, ingresa
y
para confirmar la eliminación de la tabla.
cbt
Para borrar una tabla, usa el siguiente comando y reemplaza [TABLE_NAME]
por el nombre de la tabla:
cbt deletetable [TABLE_NAME]
Recupera una tabla
Si borras una tabla por accidente, puedes usar el comando bigtable instances tables undelete
de la CLI de gcloud para undelete la tabla. No primero intentes crear manualmente la tabla borrada.
Para recuperar una tabla, ejecuta el siguiente comando en la terminal:
gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID
Reemplaza lo siguiente:
- TABLE_ID: el identificador único de la tabla
- INSTANCE_ID: El ID de la instancia
Se aplica la siguiente limitación:
- La capacidad de recuperar una tabla está disponible aproximadamente siete días desde el momento de la eliminación de la tabla.
- No puedes recuperar una tabla con la consola de Google Cloud, las
bibliotecas cliente de Bigtable o la
CLI de
cbt
. - No puedes recuperar una tabla de una instancia que se borró.
- No puedes recuperar una tabla que tenga habilitadas las CMEK.
- Cualquier vinculación de política de IAM detallada que tenga una tabla antes de la eliminación no se restablece cuando se recupera la tabla.
De manera opcional, puedes verificar el estado de la operación undelete
en los registros de auditoría.
Modificar la protección contra la eliminación
Puedes habilitar o inhabilitar la protección contra la eliminación para una tabla si eres una principal con una función que incluye el permiso bigtable.tables.update
, como roles/bigtable.admin
. Esta protección evita que se borre la tabla, todas las familias de columnas de la tabla y la instancia que la contiene.
Consola
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
En la página Tablas, se mostrará una lista de tablas de la instancia.
Haz clic en
junto al ID de la tabla.Para habilitar la protección contra la eliminación, haz clic en Evitar la eliminación. Para inhabilitar la protección contra la eliminación, haz clic en Habilitar la eliminación. Solo se puede ver la opción válida.
gcloud
A fin de habilitar la protección contra la eliminación de una tabla, ejecuta el comando gcloud bigtable instances
table update
:
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--deletion-protection
Para inhabilitar la protección contra la eliminación de una tabla, ejecuta lo siguiente:
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--no-deletion-protection
Reemplaza lo siguiente:
+ TABLE_ID: the unique identifier for the table
+ INSTANCE_ID: the ID of the instance
cbt
No puedes usar la
CLI de cbt
para habilitar o inhabilitar la protección
contra la eliminación.