Introducción a las vistas lógicas
En este documento, se proporciona una descripción general de la compatibilidad de BigQuery con las vistas lógicas.
Descripción general
Una vista es una tabla virtual definida por una consulta en SQL. El tipo de vista predeterminado de BigQuery es una vista lógica. Los resultados de la consulta solo contienen los datos de las tablas y los campos especificados en la consulta que define la vista.
La consulta que define una vista se ejecuta cada vez que se consulta la vista.
Tipos de vistas
Aunque las vistas lógicas son el tipo de vista predeterminado, si realizas consultas frecuentes en una vista grande o costosa en cuanto al procesamiento, deberías considerar crear una vista materializada, que es una vista procesada previamente que almacena en caché de forma periódica los resultados de una consulta para aumentar el rendimiento y la eficiencia.
Sin embargo, a menudo puedes mejorar el rendimiento de una vista lógica sin necesidad de crear una vista materializada si consultas solo un subconjunto de tus datos o si usas otras técnicas.
También puedes crear una vista autorizada para compartir un subconjunto de datos de un conjunto de datos de origen con una vista en un conjunto de datos secundario. Luego, puedes compartir esta vista con usuarios y grupos específicos (principales) que pueden ver los datos que compartes y ejecutar consultas en ellos, pero que no pueden acceder al conjunto de datos de origen directamente.
Puedes crear una vista autorizada para una vista lógica o materializada. Una vista autorizada para una vista materializada se denomina vista materializada autorizada.
Casos de uso
Estos son algunos casos de uso comunes de las vistas:
- Proporciona un nombre fácil de reutilizar para una consulta compleja o un conjunto limitado de datos al que luego puedes autorizar el acceso de otros usuarios. Después de crear una vista, un usuario puede consultarla como lo haría en una tabla.
- Abstraer y almacenar el cálculo y la lógica de unión en un objeto común para simplificar el uso de consultas
- Proporcionar acceso a un subconjunto de datos y lógica de cálculo sin proporcionar acceso a las tablas base
- Optimiza las consultas con un costo de procesamiento elevado y resultados con conjuntos de datos pequeños para varios casos de uso.
También puedes usar vistas en otros contextos:
- Como fuente de datos para una herramienta de visualización, como Looker Studio.
- Como un medio para compartir datos con los suscriptores de BigQuery sharing (anteriormente Analytics Hub).
Comparación con las vistas materializadas
Las vistas lógicas son virtuales y proporcionan una referencia reutilizable a un conjunto de datos, pero no almacenan datos físicamente. Las vistas materializadas se definen con SQL, como una vista lógica, pero almacenan de forma física los datos que BigQuery usa para mejorar el rendimiento. Para obtener una comparación adicional, consulta Funciones de vistas materializadas.
Limitaciones de las vistas lógicas
Las vistas de BigQuery están sujetas a las siguientes limitaciones:
- Las vistas son de solo lectura. Por ejemplo, no puedes ejecutar consultas que inserten, actualicen o borren datos.
- El conjunto de datos que contiene la vista y el conjunto de datos que contiene las tablas a las que hace referencia la vista deben estar en la misma ubicación.
- Una referencia dentro de una vista se debe calificar con un conjunto de datos. El conjunto de datos predeterminado no afecta el cuerpo de una vista.
- No puedes usar el método
TableDataList
de la API de JSON para recuperar datos desde una vista. Para obtener más información, consulta Tabledata: list. - No puedes mezclar consultas de SQL y GoogleSQL heredado cuando se usan vistas. Una consulta de GoogleSQL no puede hacer referencia a una vista definida mediante la sintaxis de SQL heredado.
- No puedes hacer referencia a parámetros de consulta en vistas.
- Los esquemas de las tablas subyacentes se almacenan con la vista cuando esta se crea. Si se agregan, borran o cambian columnas después de crear la vista, esta no se actualizará de forma automática y el esquema informado seguirá siendo inexacto hasta que se cambie la definición de SQL de la vista o se vuelva a crear la vista. A pesar de que el esquema informado puede ser inexacto, todas las consultas enviadas producen resultados precisos.
- No puedes actualizar de forma automática una vista de SQL heredado en la sintaxis de GoogleSQL. Para cambiar la consulta usada para definir una vista, puedes usar lo siguiente:
- La opción Editar consulta en la Google Cloud consola
- El comando
bq update --view
en la herramienta de línea de comandos de bq - Las bibliotecas cliente de BigQuery
- Los métodos de la API de actualización o parche.
- No puedes incluir una función temporal definida por el usuario ni una tabla temporal en la consulta de SQL que define una vista.
- No puedes hacer referencia a una vista en una consulta de tabla comodín.
Cuotas de vistas lógicas
Para obtener más información sobre las cuotas y los límites que se aplican a las vistas, consulta la página sobre límites de vistas.
Las consultas de SQL que se usan para definir las vistas también están sujetas a las cuotas en trabajos de consulta.
Precios de las vistas lógicas
BigQuery usa vistas lógicas de forma predeterminada, no vistas materializadas. Dado que las vistas no están materializadas de forma predeterminada, la consulta que define la vista se ejecuta cada vez que se consulta. Las consultas se facturan según la cantidad total de datos en todos los campos de la tabla a los que se hace referencia de forma directa o indirecta en la consulta de nivel superior.
- Para conocer los precios de las consultas generales, consulta Precios de procesamiento a pedido.
- Para obtener información sobre los precios asociados con las vistas materializadas, consulta Precios de las vistas materializadas.
Seguridad de las vistas lógicas
Para controlar el acceso a las vistas en BigQuery, consulta Vistas autorizadas.
¿Qué sigue?
- Para obtener información sobre cómo crear vistas, consulta Crea vistas.
- Para obtener información sobre cómo crear una vista autorizada, consulta Crea vistas autorizadas.
- Para conocer el método sobre cómo obtener metadatos de vistas, consulta Obtén información sobre las vistas.
- Para obtener más información sobre cómo administrar vistas, consulta Administra vistas.