Descripción general de las vistas lógicas y materializadas
En este documento, se describen y comparan las vistas lógicas y materializadas en BigQuery. En el almacenamiento de datos moderno, las vistas sirven como una importante capa de abstracción entre los datos sin procesar y la inteligencia empresarial. En BigQuery, los arquitectos suelen elegir entre dos tipos: vistas lógicas (estándar) y vistas materializadas. Si bien estas vistas comparten una interfaz común, sus mecanismos subyacentes, perfiles de rendimiento y costos difieren.
Vistas lógicas
Una vista lógica (estándar) es una tabla virtual definida por una consulta en SQL. No almacena ningún dato físico, sino que almacena la lógica de consulta necesaria para recuperar datos de las tablas base subyacentes.
Cuando consultas una vista lógica, el motor de consultas de BigQuery expande la vista en su consulta subyacente. Este proceso significa que BigQuery vuelve a ejecutar la vista cada vez que se invoca.
Los beneficios de las vistas lógicas incluyen lo siguiente:
- Sin sobrecarga de almacenamiento Como no se almacenan datos adicionales, solo pagas por el almacenamiento de las tablas base.
- Precisión en tiempo real: Dado que la consulta se ejecuta en el momento de la ejecución, los resultados siempre reflejan el estado más actual de las tablas base.
- Abstracción lógica. Simplifica las uniones complejas o aplica seguridad a nivel de las filas sin duplicar los datos.
- Flexibilidad de SQL: Admite toda la variedad de SQL de BigQuery, incluidas las funciones de ventana complejas, las funciones definidas por el usuario (UDF) y todos los tipos de combinación.
Vistas materializadas
Las vistas materializadas son vistas procesadas previamente que almacenan periódicamente los resultados de una consulta en SQL. A diferencia de las vistas lógicas, almacenan físicamente los datos calculados, lo que permite que BigQuery proporcione resultados más rápido sin procesar repetidamente los datos base sin procesar. Esto puede reducir la latencia de las consultas para los conjuntos de datos grandes, ya que se preprocesan las consultas, y puede reducir los costos de procesamiento para las consultas que se usan con frecuencia.
Las vistas materializadas de BigQuery combinan la velocidad de los datos precalculados con la precisión de una vista en vivo. Para lograrlo, hacen lo siguiente:
- Actualización automática: Un proceso en segundo plano actualiza las vistas materializadas cuando cambian las tablas base.
- Actualidad de los datos: Si se realiza una consulta mientras hay una actualización en segundo plano pendiente, BigQuery compensa automáticamente los cambios no procesados de la tabla base para proporcionar resultados actualizados.
- Ajuste inteligente. El optimizador de consultas puede redirigir automáticamente las consultas de las tablas base a la vista materializada si determina que esta puede proporcionar la respuesta de manera más eficiente.
Comparación
En la siguiente tabla, se resumen las similitudes y diferencias entre las vistas lógicas y las vistas materializadas de BigQuery:
| Dimensión | Vista lógica | Vista materializada |
|---|---|---|
| Persistencia de datos | Ninguna (virtual) | Físico (almacenado en el disco) |
| Ejecución | Cada vez que se llama a la vista | Precalculado; actualización en segundo plano |
| Antigüedad de los datos | Nunca | Opcional 1 (a través de la actualización) |
| Rendimiento | Variable (dependiente de la tabla base) | Coherente y rápida |
| Complejidad del SQL | Ilimitado | Limitado |
| Optimizado para | Seguridad y abstracción | Reducción de costos y tiempos |
| Costos de mantenimiento y almacenamiento | No | Sí |
1 La opción --max_staleness mejora el rendimiento de las consultas con costos controlados cuando se procesan conjuntos de datos grandes que cambian con frecuencia.
Cuándo usar vistas lógicas
- Estructura semántica. Cambia el nombre de las columnas complejas por términos comerciales para los usuarios sin conocimientos técnicos.
- Desarrollo rápido. Úsalo cuando la lógica esté en constante cambio y no quieras administrar la sobrecarga del almacenamiento físico.
- Fuentes de datos consolidadas Proporcionar una fuente de datos para herramientas de visualización, como Looker Studio o BigQuery sharing (anteriormente Analytics Hub)
Cuándo usar vistas materializadas
- Preprocesar datos. Mejora el rendimiento de las consultas preparando agregaciones, filtros, uniones y clústeres.
- Aceleración del panel Potenciar las herramientas de IE, como Looker, que consultan con frecuencia las mismas métricas agregadas (por ejemplo, los usuarios activos por día)
- Análisis en tiempo real de transmisiones grandes. Puede proporcionar respuestas más rápidas en tablas que reciben datos de transmisión de alta velocidad.
- Administración de costos Reducir el costo de las consultas repetitivas y costosas en grandes conjuntos de datos
Prácticas recomendadas
Para un entorno de BigQuery bien diseñado, las vistas lógicas son una herramienta útil para consolidar los datos que necesitas. Reserva las vistas materializadas para usarlas como herramienta de optimización del rendimiento en patrones de consultas específicos y de alto tráfico que impliquen una agregación pesada.
Para obtener información sobre cómo supervisar el uso y el rendimiento de las vistas materializadas, consulta la vista MATERIALIZED_VIEWS.
¿Qué sigue?
- Introducción a las vistas lógicas
- Crea vistas lógicas
- Introducción a las vistas materializadas
- Crea vistas materializadas