Crea y administra tablas
En esta página, se explica cómo crear y realizar operaciones en Bigtable
tablas con la consola de Google Cloud, Google Cloud CLI o
CLI de cbt
de Google Cloud.
El
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 el Las bibliotecas cliente de Cloud Bigtable APIs de servicio.
Para obtener instrucciones sobre cómo crear y administrar vistas autorizadas de una tabla, consulta vistas autorizadas.
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 piensas usar el CLI de
cbt
, sigue las instrucciones que se indican en Instalación del CLI decbt
: incluido el paso para crear un archivo.cbtrc
.El CLI de
cbt
en las instrucciones de esta página se da por sentado que configuraste el proyecto y el ID de la instancia en el archivo.cbtrc
. Como alternativa, puedes usar el Marcas-project
y-instance
para configurar estos valores cada vez que ejecutas una CLI decbt
.
Crear una tabla
Cuando creas una tabla, no necesitas especificar las familias de columnas que usarás en la tabla. Puedes agregar o borrar familias de columnas más adelante.
Console
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 a partir de ellos.
Opcional: Habilita un flujo de cambios para la tabla. Antes de habilitar un flujo de cambios, asegúrese de comprender las implicaciones, el aumento de los costos de almacenamiento y los requisitos de uso de perfiles de apps. 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 entre 1 y 7 para especificar la cantidad de días que se deben retener los datos del flujo de cambios.
Haz clic en Crear.
Opcional: Si no quieres que Bigtable cree un registro diario copia de seguridad de la tabla, desmarca la casilla de verificación junto a Habilitar copia de seguridad. Para obtener más información, consulta Usa sistemas copia de seguridad (vista previa).
Haz clic en Crea una tabla.
gcloud
Para crear una tabla, ejecuta el siguiente comando. Consulta gcloud bigtable instances tables 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: Es el proyecto que contendrá la tabla nueva.
- COLUMN-FAMILIES: Una lista de la familia de columnas separada por comas de la empresa. Puedes agregar más familias de columnas más adelante.
Opcional:
Para proteger la tabla de que se borre, agrega el comando con
--deletion-protection
Si no aplicas este parámetro de configuración, la tabla se pueden borrar. También puedes permitir explícitamente la eliminación de la tabla anexando--no-deletion-protection
.Para habilitar un flujo de cambios para 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 que que comprendas las implicaciones, incluido el aumento de los costos de almacenamiento y los requisitos de uso del perfil de la 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 de uno a siete días. Las unidades aceptables son los días (d), horas (h), minutos (m) y segundos (s). Ejemplos:
48h
o6d
Para permitir que Bigtable cree una copia de seguridad diaria de tu tabla, habilitar la copia de seguridad automática (versión preliminar):
gcloud bigtable instances tables create TABLE_ID \ --instance=INSTANCE_ID \ --project=PROJECT_ID \ --column-families=COLUMN-FAMILIES \ --enable-automated-backup
cbt
Usa el siguiente comando y reemplaza TABLE_NAME
por
nombre de tu tabla. No puedes usar
CLI de cbt
para crear una tabla
con un flujo de cambios habilitado.
cbt createtable TABLE_ID
Opcional: crear una columna agregada
familiar en la tabla,
y adjuntar el nombre de la familia de columnas con el tipo de agregación. Lo siguiente
crea una familia de columnas de agregación con un elemento
política de recopilación de never
.
cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE
Reemplaza lo siguiente:
- TABLE_ID: Es un ID único para la tabla nueva.
- FAMILY_NAME: : Una lista de la familia de columnas separada por comas de la empresa. Puedes agregar más familias de columnas más adelante.
- TYPE: Es el tipo de agregado. Debe ser
intsum
,intmin
,intmax
ointhll
.
Para obtener más opciones, consulta Crea un
tabla en el
CLI de cbt
referencia.
Si borraste una tabla por error, no intentes crear la tabla manualmente.
tabla borrada. Usa el comando bigtable instances tables undelete
de la CLI de gcloud para recuperar la tabla.
Divide la tabla por clave de fila (opcional)
Para optimizar el rendimiento, Bigtable divide las tablas de forma continua en varios nodos, distribuyendo uniformemente la cantidad de datos almacenados en cada uno y mantener las filas a las que se accede con frecuencia separadas siempre que sea posible. Esta proceso en curso es automático.
Cuando creas una tabla nueva, puedes especificar las divisiones iniciales de la tabla. Bigtable divide la tabla según las claves de fila que proporciones. Si los espacios de claves son demasiado grandes, Bigtable divide aún más la tabla. El Las divisiones iniciales se mantienen durante unas 24 horas después de que se crea la tabla que se completó. Puedes proporcionar hasta 100 claves de fila en las que deben ocurrir las divisiones iniciales.
Por ejemplo, puedes designar filas específicas para dividir previamente tu tabla si estás a punto de escribir muchas filas en la tabla.
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.
Console
No puedes dividir previamente las filas cuando creas una tabla con el Consola de Google Cloud
gcloud
Para dividir una tabla por clave de fila, ejecuta el siguiente comando. Consulta gcloud bigtable instances Tables create para obtener una lista completa de 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: Es el proyecto que contendrá la tabla nueva.
- COLUMN-FAMILIES: Una lista de la familia de columnas separada por comas de la empresa. Puedes agregar más familias de columnas más adelante.
- SPLITS: Son las claves de fila donde debería estar inicialmente la tabla.
dividida, por ejemplo,
10,20
.
cbt
Para dividir previamente una tabla según la clave de fila, usa la siguiente sintaxis:
crear la tabla. Reemplaza [TABLE_NAME]
por el nombre de la tabla y [SPLITS]
.
con 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 las familias de columnas de la tabla.
Agrega familias de columnas
Console
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.
- Haga 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 a una tabla, usa el siguiente comando:
cbt createfamily TABLE_ID 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
Opcional: agregar una columna agregada
familiar.
y adjuntar el nombre de la familia de columnas con el tipo de agregación. Lo siguiente
crea una tabla que tiene una familia de columnas agregada con una recolección de elementos no utilizados
política de never
.
cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE
Reemplaza lo siguiente:
- TABLE_ID: el ID de la tabla
- FAMILY_NAME: Es una lista separada por comas de nombres de familias de columnas. Puedes agregar más familias de columnas más adelante.
- TYPE: Es el tipo de agregación. Debe ser
intsum
,intmin
intmax
ointhll
.
Borrar familias de columnas
Puedes borrar familias de columnas de una tabla que no tenga protección contra la eliminación habilitada.
Console
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 borrar una familia de columnas es permanentes y que se borrarán todos los datos de la familia de columnas, escribe "Borra familias de columnas" en el campo de texto.
Haz clic en Confirmar.
gcloud
No puedes usar la CLI de gcloud 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
Console
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 gcloud bigtable instances Tables list .
gcloud bigtable instances tables list --instances=INSTANCE_IDS
Reemplaza lo siguiente:
- INSTANCE_IDS: Una lista de IDs de instancia 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
: El 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
Si deseas obtener información sobre cómo instalar y usar la biblioteca cliente de Bigtable, consulta las 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
Console
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 gcloud bigtable instances table 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
desde una tabla de particiones.
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 conserva 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 las copias de seguridad para obtener instrucciones sobre cómo crear una copia de seguridad de una tabla y restablecer desde una copia de seguridad a una tabla nueva.
Si habilitaste la copia de seguridad automática mientras creas una tabla, puedes modificar configuración de copia de seguridad automática para que una tabla habilite o inhabilite crear una copia de seguridad o cambiar el período de retención a un máximo 90 días después de la creación de la copia de seguridad. Para ver más consulta Cómo usar la copia de seguridad automática.
Cómo habilitar, inhabilitar o configurar un flujo de cambios
Si deseas obtener instrucciones para 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
- Actualiza el período de retención de un flujo de cambios
Borra una tabla
Si borras una tabla, también se borran todas las vistas autorizadas de esta. No puedes borrar una tabla si alguna vista autorizada de la tabla tiene habilitada la protección contra la eliminación.
Console
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 siguiente comando: gcloud bigtable instances Tables 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 recuperar la tabla. No intentes crear primero la tabla borrada de forma manual.
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 mediante la consola de Google Cloud, las bibliotecas cliente de Cloud Bigtable ni 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 no se restablecen cuando se recupera la tabla.
De forma opcional, puedes verificar el estado de la operación undelete
en el
registros de auditoría.
Modificar protección contra la eliminación
Puedes habilitar o inhabilitar la protección contra la eliminación de una tabla si eres una principal.
en un rol que incluya el permiso bigtable.tables.update
, como roles/bigtable.admin
La protección contra eliminación evita que se borren la tabla, todas las familias de columnas de la tabla y la instancia que la contiene.
Habilitar la protección contra la eliminación de una tabla no la habilita en las vistas autorizadas del desde una tabla de particiones. Del mismo modo, inhabilitar la protección contra la eliminación de una tabla no la inhabilita para las vistas autorizadas de la tabla. Debes actualizar los campos autorizados de vistas por separado.
Console
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
junto a la tabla. ID.Para habilitar la protección contra la eliminación, haz clic en Impedir eliminación. Para inhabilitar la protección contra la eliminación, haz clic en Habilitar eliminación. Solo la opción válida es sean visibles.
gcloud
Para 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 el siguiente comando:
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 el
CLI de cbt
para habilitar o inhabilitar la eliminación
protección.