Crea y administra vistas lógicas
En Bigtable, una vista lógica es el resultado de una consulta en SQL que funciona como una tabla virtual que se puede consultar con otras consultas en SQL. Los datos permanecen en la tabla de origen.
En este documento, se describen las vistas lógicas y cómo crear y realizar operaciones en ellas. Para obtener una comparación con las vistas materializadas continuas y las vistas autorizadas, consulta Tablas y vistas.
Las vistas lógicas te permiten hacer lo siguiente con tus datos de Bigtable:
- Evita la repetición de consultas: Puedes almacenar y desarrollar la lógica de asignación y conversión de columnas en una vista lógica, que las vistas lógicas adicionales pueden usar en lugar de copiar y pegar esa lógica o necesitar comprenderla.
- Integración con sistemas diseñados para leer bases de datos relacionales: Las vistas lógicas te permiten hacer que tus datos de Bigtable se lean como una tabla de base de datos relacional o una tabla de Cassandra.
- Ejecuta la misma vista lógica en muchas tablas: Si modificas la cláusula
FROM
, puedes usar la misma vista para consultar cualquier tabla de tu instancia de Bigtable. - Proporciona una interfaz coherente: Tu aplicación puede usar una vista lógica incluso si cambia la tabla de origen.
Una vista lógica es un recurso a nivel de la instancia. Puedes crear una vista lógica con Google Cloud CLI o el editor de consultas de Bigtable Studio en la consola de Google Cloud . Para consultar una vista lógica, puedes usar el editor de consultas de Bigtable Studio o cualquiera de las bibliotecas cliente de Bigtable que admiten SQL.
Una vista lógica tiene las siguientes características:
- Debes usar las funciones de SQL compatibles con GoogleSQL para Bigtable.
- Solo lectura
- Se debe leer con SQL en lugar de con una llamada a
ReadRows
. - Usa derechos de definidor. Puedes consultar una vista lógica si tienes permiso para leerla, incluso si no tienes permiso para leer la tabla de origen.
La clave de fila, el calificador de columna y los valores de columna que usas para definir una vista lógica se tratan como datos de servicio. Por este motivo, no crees una vista lógica con clave de fila, calificador de columna o valores de columna que contengan información sensible. Para obtener información sobre cómo se manejan los datos de servicio, consulta el Google Cloud Aviso de Privacidad.
Antes de comenzar
Si planeas usar gcloud CLI, sigue estos pasos:
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Roles obligatorios
Para obtener los permisos que necesitas para crear y administrar vistas lógicas, pídele a tu administrador que te otorgue el rol de administrador de Bigtable (roles/bigtable.admin
) en la instancia. De lo contrario, solicita los siguientes permisos a nivel de la instancia, según la operación que quieras realizar:
- Crear:
bigtable.logicalViews.create
- Actualización:
bigtable.logicalViews.update
- Borrar:
bigtable.logicalViews.delete
- Lista:
bigtable.logicalViews.list
- Descripción:
bigtable.logicalViews.get
Para crear una vista lógica, también debes tener al menos el permiso bigtable.table.readRows
en la tabla de origen.
Para ver todos los roles y permisos disponibles, consulta Control de acceso de Bigtable con IAM.
Crea una vista lógica
Console
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Selecciona una instancia.
En el panel de navegación, haz clic en Bigtable Studio.
Abre una pestaña nueva haciendo clic en
y, luego, elige Editor.En el editor de consultas, escribe tu consulta. Si la consulta es SQL válida, se muestra el mensaje Válida.
Opcional: Para darle formato a tu instrucción en estilo SQL, haz clic en Formato.
Haz clic en Ejecutar. Los resultados de tu consulta aparecen en la tabla Resultados.
Cuando estés conforme con la consulta, haz clic en Guardar y, luego, elige Guardar vista.
Para obtener más información sobre cómo usar el editor de consultas, consulta Administra tus datos con Bigtable Studio.
gcloud
Para crear una vista lógica, usa el comando gcloud bigtable logical-views create
.
gcloud bigtable logical-views create VIEW \
--instance=INSTANCE --query=QUERY
Reemplaza lo siguiente:
VIEW
: Es un ID de hasta 128 caracteres de longitud para la nueva vista lógica. El ID debe ser único entre los IDs de tabla y los IDs de vista de la instancia.QUERY
: Una consulta de GoogleSQL para Bigtable válidaINSTANCE
: Es el ID de la instancia en la que se creará la vista lógica.
Opcional:
- Para proteger la vista lógica contra la eliminación, agrega la marca
--deletion-protection
al comando. Si no aplicas este parámetro de configuración, se puede borrar la vista lógica. También puedes permitir explícitamente la eliminación de la vista lógica agregando--no-deletion-protection
. Para obtener más información, consulta la sección Cómo modificar la protección contra eliminación de este documento.
Actualiza una vista lógica
Console
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Elige una instancia de la lista.
En el panel de navegación, haz clic en Bigtable Studio. En el explorador, se muestra una lista de vistas.
Opcional: Se muestran las primeras 10 vistas de la instancia. Para ver 10 más, haz clic en Mostrar más.
Junto a la vista que deseas actualizar, haz clic en el menú de acciones more_vert y, luego, en Ver definición.
Modifica la consulta.
Haz clic en Ejecutar.
Después de verificar que el panel de resultados muestre los datos que se deben incluir en la vista, haz clic en Guardar como.
En el cuadro de diálogo, ingresa el ID de la vista que modificaste.
En el diálogo, se muestra un mensaje de advertencia que indica que sobrescribirás la vista existente.
Haz clic en Guardar.
gcloud
Para actualizar una vista lógica para que ejecute una consulta diferente, usa el comando gcloud bigtable logical-views update
.
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE --query=QUERY
Reemplaza lo siguiente:
VIEW
: Es el ID de la vista lógica que se actualizará.QUERY
: una consulta de GoogleSQL válidaINSTANCE
: Es el ID de la instancia que contiene la vista lógica.
Para actualizar una vista lógica y modificar la protección contra eliminación, consulta la sección Modificar la protección contra eliminación de este documento.
Borra una vista lógica
Esta acción es permanente.
Si una vista lógica tiene habilitada la protección contra la eliminación, no podrás borrarla. Para borrar una vista lógica que tiene habilitada la protección contra la eliminación, debes actualizar la vista lógica para inhabilitar la protección contra la eliminación. Para obtener más información, consulta la sección Cómo modificar la protección contra eliminación de este documento.
Console
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Elige una instancia de la lista.
En el panel de navegación, haz clic en Bigtable Studio. En el explorador, se muestra una lista de vistas.
Opcional: Se muestran las primeras 10 vistas de la instancia. Para ver 10 más, haz clic en Mostrar más.
Expande Vistas.
Junto a la vista que deseas borrar, haz clic en el menú de acciones more_vert y, luego, en Borrar.
gcloud
Para borrar una vista lógica, usa el comando gcloud bigtable logical-views delete
.
gcloud bigtable logical-views delete VIEW \
--instance=INSTANCE
Reemplaza lo siguiente:
VIEW
: Es el ID de la vista lógica que se actualizará.INSTANCE
: Es el ID de la instancia que contiene la vista lógica.
Obtén una lista de vistas lógicas para una instancia
Puedes ver una lista de las vistas lógicas de una instancia.
Console
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Elige una instancia de la lista.
En el panel de navegación, haz clic en Bigtable Studio. En el explorador, se muestra una lista de vistas.
Opcional: Se muestran las primeras 10 vistas de la instancia. Para ver 10 más, haz clic en Mostrar más.
gcloud
Para ver una lista de las vistas lógicas de una instancia, usa el comando gcloud bigtable logical-views list
.
gcloud bigtable logical-views list --instance=INSTANCE
Reemplaza INSTANCE
por el ID de la instancia.
Describe una vista lógica
Para obtener detalles sobre una vista lógica, usa el comando gcloud bigtable logical-views
describe
.
gcloud bigtable logical-views describe VIEW \
--instance=INSTANCE
En la terminal, se muestran detalles similares a los siguientes:
createTime: '2025-03-07T19:49:56.316578Z'
etag: W/"/v1/17919275593532352351"
name: projects/my-project/instances/my-instance/logicalViews/my-view
query: SELECT street FROM addresses
updateTime: '2025-03-07T19:49:56.316578Z'
deletion_protection: true
Modificar la protección contra la eliminación
La protección contra la eliminación evita que se borre la vista lógica. Para habilitar o inhabilitar la protección contra eliminación de una vista lógica, necesitas los permisos requeridos. Para obtener más información, consulta la sección Roles requeridos de este documento.
gcloud
Para habilitar la protección contra eliminación de una vista lógica, ejecuta el comando gcloud bigtable logical-views update
:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--deletion-protection
Para inhabilitar la protección contra borrado de una vista lógica, ejecuta el siguiente comando:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--no-deletion-protection
Reemplaza lo siguiente:
VIEW
: Es un ID de hasta 128 caracteres de longitud para la vista lógica. El ID debe ser único entre los IDs de tablas y vistas de la instancia.INSTANCE
: Es el ID de la instancia en la que se actualizará la vista lógica.
¿Qué sigue?
- Descripción general de GoogleSQL para Bigtable
- Vistas materializadas continuas
- Descripción general de las vistas autorizadas