Tablas y vistas

En Bigtable, los datos se almacenan en tablas y se pueden crear varios tipos de vistas de las tablas. El tipo de vista que uses dependerá de tu caso práctico.

Tablas

Una tabla de Bigtable es un mapa de clave-valor ordenado que almacena datos en filas y columnas. Cada fila se indexa mediante una única clave de fila. Las columnas relacionadas entre sí suelen agruparse 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 en ella. No es necesario almacenar valores NULL en las columnas que no se usen, como sí ocurre con las bases de datos relacionales. 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 y marca de tiempo). Almacenar varias celdas en una columna se registra cómo han cambiado los datos almacenados de esa fila y columna a lo largo del tiempo.

Las tablas de Bigtable no admiten combinaciones y las transacciones solo se admiten en una sola fila.

Una tabla es un recurso a nivel de instancia que se replica automáticamente en todos los clústeres de la instancia. La conservación de datos se controla con políticas de recolección de elementos no utilizados que se definen a nivel de 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 los siguientes tipos de vistas de tabla: vistas lógicas, vistas materializadas continuas y vistas autorizadas. Las vistas te permiten compartir datos de tablas con usuarios y grupos concretos 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 de SQL. Funciona como una tabla virtual que se puede consultar con otras consultas de SQL. Para obtener más información, consulta Crear y gestionar vistas lógicas.

Vistas materializadas continuas

Una vista materializada continua se crea ejecutando continuamente una consulta de SQL en una tabla de Bigtable. Bigtable crea una tabla 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 preagregados o transformados que están optimizados para consultas diferentes a 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 conlleva 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 se configuran para incluir datos de tablas específicos y, a continuación, se concede acceso a ellas por separado del acceso a la tabla de origen. Una vista autorizada se define mediante un archivo de definición en 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 almacena datos de varios clientes en una tabla de Bigtable y quiere conceder a cada cliente acceso solo a un subconjunto de la tabla que contenga sus datos.

Las vistas autorizadas no generan costes de almacenamiento adicionales.

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

Comparación

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 de SQL. Tabla de solo lectura basada en una tabla de origen Subconjunto de una tabla
Definición Consulta de SQL Consulta de SQL Archivo de definición JSON
Coherencia con la tabla de origen Es coherente cuando se ejecuta la consulta. Coherencia final Es coherente cuando se ejecuta la consulta.
Opciones de consulta Debe usar SQL API Data de SQL o Bigtable API Data de Bigtable
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
Costes de uso Procesamiento de computación para ejecutar la consulta Procesamiento de computación al sincronizar y costes de almacenamiento Procesamiento de computación para ejecutar la consulta

Siguientes pasos