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 de pares 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 no se usa una columna en una fila, no se almacenan datos para la columna. No necesitas almacenar 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 que está junto a ella, 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 las 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 solo vista, es el resultado de una consulta en SQL. Funciona como una tabla virtual que otras consultas SQL pueden consultar. Para obtener más información, consulta Cómo crear y administrar vistas lógicas.
Vistas materializadas continuas
Para crear una vista materializada continua, se ejecuta de forma continua una consulta en SQL en una tabla de Bigtable. Bigtable crea una tabla nueva según 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 tabla nueva (la vista materializada continua) tiene un esquema diferente al de la tabla de origen, que contiene datos agregados o transformados previamente que están optimizados para consultas diferentes de 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 contínua, así como por el trabajo de procesamiento que se realiza para 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, otorgar acceso a ellas de forma independiente del acceso a la tabla de origen. Una vista autorizada se define mediante 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 que almacenas datos de varios clientes en una tabla de Bigtable y deseas otorgarles 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 cómo se diferencian las vistas de tablas de Bigtable entre sí.
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 de origen | Subconjunto de una tabla |
Definición | Consulta en SQL | Consulta en SQL | Archivo de definición JSON |
Coherencia con la tabla de origen | Son coherentes cuando se ejecuta la consulta. | Coherencia eventual | Son coherentes cuando se ejecuta la consulta. |
Opciones de consulta | Debes usar SQL | SQL o la API de Bigtable Data | API de datos de Bigtable |
Writable | No | No | Sí |
Almacenamiento | Los datos permanecen en la tabla de origen | Los datos se duplican, agregan o transforman y se almacenan en una tabla nueva solo de lectura | Los datos permanecen en la tabla de origen |
Costos de uso | Procesamiento de procesamiento para ejecutar la consulta | Procesamiento de procesamiento durante la sincronización, costos de almacenamiento | Procesamiento de procesamiento para ejecutar la consulta |