Tablas y vistas

En Bigtable, almacenas tus datos en tablas y puedes crear varios tipos de vistas de tus tablas. El tipo de vista que uses dependerá de tu caso de uso.

Tablas

Una tabla de Bigtable es un mapa clave-valor ordenado que almacena datos en filas y columnas. Cada fila se indexa según una clave de fila única. Las columnas que se relacionan entre sí se suelen agrupar en una familia de columnas.

Bigtable tiene un modelo de datos flexible y sus tablas son dispersas. Esto significa que, si una columna no se usa en una fila, no se almacenan datos para esa columna. No es necesario que almacenes valores NULL para las columnas que no se usan, como lo harías con una base de datos relacional. En una tabla de Bigtable, una fila determinada puede tener una columna y la fila siguiente, 100 columnas.

En una fila, una columna puede contener varias celdas, cada una identificada por la tupla de cuatro elementos (clave de fila, familia de columnas, calificador de columna, marca de tiempo). Si almacenas más de una celda en una columna, se proporciona un registro de cómo han cambiado los datos almacenados para esa fila y esa columna a lo largo del tiempo.

Una tabla de Bigtable no admite uniones, y las transacciones solo se admiten dentro de una misma fila.

Una tabla es un recurso a nivel de la instancia que se replica automáticamente en cada clúster de la instancia. La retención de datos se controla con políticas de recolección de elementos no utilizados que se establecen a nivel de la familia de columnas.

Para obtener más información, consulta la descripción general de Bigtable y las prácticas recomendadas para el diseño de esquemas.

Vistas

Bigtable admite tres tipos de vistas de tablas: vistas lógicas, vistas materializadas continuas y vistas autorizadas. Las vistas te permiten compartir datos de tablas con usuarios y grupos específicos sin darles acceso a los datos de origen subyacentes.

Vistas lógicas

Una vista lógica, a menudo denominada simplemente vista, es el resultado de una consulta en SQL. Funciona como una tabla virtual que se puede consultar con otras consultas en SQL. Para obtener más información, consulta Crea y administra vistas lógicas.

Vistas materializadas continuas

Una vista materializada continua se crea ejecutando continuamente una consulta en SQL en una tabla de Bigtable. Bigtable crea una tabla nueva basada en el resultado de la consulta y la mantiene sincronizada con la tabla de origen.

Las vistas materializadas continuas pueden ayudar a mejorar el rendimiento de las consultas. La nueva tabla, la vista materializada continua, tiene un esquema diferente al de la tabla de origen, ya que contiene datos previamente agregados o transformados que están optimizados para diferentes consultas que las que se usan en la tabla de origen.

Las vistas materializadas continuas son de solo lectura. Se te cobra por el almacenamiento de una vista materializada continua, así como por el trabajo de procesamiento que implica crear la segunda tabla, mantenerla sincronizada con la tabla de origen y replicarla.

Para obtener más información, consulta Vistas materializadas continuas.

Vistas autorizadas

Las vistas autorizadas son vistas de tablas que configuras para incluir datos de tabla específicos y, luego, otorgas acceso a ellas independientemente del acceso a la tabla de origen. Una vista autorizada se define con un archivo de definición con formato JSON.

A diferencia de las vistas materializadas continuas o las vistas lógicas, las vistas autorizadas de Bigtable se pueden usar para controlar el acceso de lectura y escritura.

Las vistas autorizadas son útiles en los casos en los que almacenas datos de varios clientes en una tabla de Bigtable y deseas otorgar a cada cliente acceso solo a un subconjunto de la tabla que contiene sus datos.

Las vistas autorizadas no generan costos de almacenamiento adicionales.

Para obtener más información, consulta la Descripción general de las vistas autorizadas.

Comparaciones

En la siguiente tabla, se proporciona información adicional sobre las diferencias entre las vistas de tabla de Bigtable.

Vistas lógicas Vistas materializadas continuas Vistas autorizadas
Estructura Tabla virtual que representa los resultados de una consulta en SQL Tabla de solo lectura basada en una tabla fuente Subconjunto de una tabla
Definición Consulta en SQL Consulta en SQL Archivo de definición JSON
Coherencia con la tabla de origen Es coherente cuando se ejecuta la búsqueda. Coherencia eventual Es coherente cuando se ejecuta la búsqueda.
Opciones de consulta Debe usar SQL SQL o API de Cloud Bigtable Data API de Bigtable Data
Writeable No No
Almacenamiento Los datos permanecen en la tabla de origen Los datos se duplican, agregan o transforman, y se almacenan en una nueva tabla de solo lectura. Los datos permanecen en la tabla de origen
Costos de uso Procesamiento de la computación para ejecutar la consulta Procesamiento de la computadora durante la sincronización y costos de almacenamiento Procesamiento de la computación para ejecutar la consulta

¿Qué sigue?