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 otras consultas en SQL pueden consultar. Los datos siguen en la tabla de origen.

En este documento, se describen las vistas lógicas y cómo crearlas y realizar operaciones en ellas. Para ver una comparación con las vistas materializadas 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 evolucionar la asignación de columnas y transmitir la lógica en una vista lógica, que otras vistas lógicas adicionales pueden usar en lugar de copiar y pegar esa lógica o tener que comprenderla.
  • Integración con sistemas diseñados para leer desde 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 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 admitan 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 definición. Puedes consultar una vista lógica si tienes permisos para leerla, incluso si no tienes permiso para leer la tabla fuente.

Antes de comenzar

Sigue estos pasos si planeas usar la CLI de gcloud:

  1. Install the Google Cloud CLI.
  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. 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, pide 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 desees realizar:

  • Creación: bigtable.logicalViews.create
  • Actualización: bigtable.logicalViews.update
  • Borrar: roles/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

  1. Abre la lista de instancias de Bigtable en la consola de Google Cloud.

    Abrir la lista de instancias

  2. Selecciona una instancia.

  3. En el panel de navegación, haz clic en Bigtable Studio.

  4. Para abrir una pestaña nueva, haz clic en y, luego, elige Editor.

    1. En el editor de consultas, escribe tu consulta. Si la consulta es SQL válida, se muestra un mensaje Valid.

    2. Opcional: Para dar formato a tu sentencia en estilo SQL, haz clic en Formato.

    3. Haz clic en Ejecutar. Los resultados de tu consulta aparecen en la tabla Resultados.

    4. Cuando estés conforme con la consulta, haz clic en Guardar y, luego, elige Guardar vista.

    Para obtener más información sobre el uso del 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: Un ID de hasta 128 caracteres para la vista nueva. El ID debe ser único entre los IDs de tabla y vista de la instancia.
  • QUERY: Una consulta válida de GoogleSQL para Bigtable
  • INSTANCE: El ID de la instancia en la que se creará la vista

Actualiza una vista lógica

Console

  1. Abre la lista de instancias de Bigtable en la consola de Google Cloud.

    Abrir la lista de instancias

  2. Elige una instancia de la lista.

  3. En el panel de navegación, haz clic en Bigtable Studio. Se muestra una lista de vistas en el explorador.

  4. Opcional: Se muestran las primeras 10 vistas de la instancia. Para ver 10 más, haz clic en Mostrar más.

  5. Junto a la vista que deseas actualizar, haz clic en el menú de acciones more_vert y, luego, en Ver definición.

  6. Modifica la consulta.

  7. Haz clic en Ejecutar.

  8. Después de verificar que el panel de resultados muestre los datos que se deben incluir en la vista, haz clic en Guardar como.

  9. En el cuadro de diálogo, ingresa el ID de la vista que modificaste.

    El diálogo muestra un mensaje en el que se te advierte que estás reemplazando la vista existente.

  10. Haz clic en Guardar.

gcloud

Para actualizar una vista lógica y ejecutar 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álida
  • INSTANCE: El ID de la instancia que contiene la vista lógica

Cómo borrar una vista lógica

Esta acción es permanente. 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: 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 vistas lógicas de una instancia.

Console

  1. Abre la lista de instancias de Bigtable en la consola de Google Cloud.

    Abrir la lista de instancias

  2. Elige una instancia de la lista.

  3. En el panel de navegación, haz clic en Bigtable Studio. Se muestra una lista de vistas en el explorador.

  4. 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 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

La terminal muestra 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'

¿Qué sigue?