¿Qué es BI Engine?
BigQuery BI Engine es un servicio de análisis rápido en la memoria que acelera muchas consultas de SQL en BigQuery mediante el almacenamiento en caché inteligente de los datos que usas con más frecuencia. BI Engine puede acelerar las consultas de SQL desde cualquier fuente, incluidas las que están escritas por herramientas de visualización de datos, y puede administrar tablas en caché para una optimización continua. Esto te permite mejorar el rendimiento de las consultas sin ajustes manuales ni niveles de datos. Puedes usar el agrupamiento en clústeres y la partición para optimizar aún más el rendimiento de tablas grandes con BI Engine.
Por ejemplo, si en tu panel solo se muestran los datos del último trimestre, considera particionar tus tablas por tiempo para que solo las particiones más recientes se carguen en la memoria. También puedes combinar los beneficios de las vistas materializadas y BI Engine. Esto funciona muy bien cuando las vistas materializadas se usan a fin de unir y compactar datos a fin de optimizar su estructura para BI Engine.
BI Engine ofrece las siguientes ventajas:
- API de BigQuery: BI Engine se integra directamente a la API de BigQuery. Cualquier solución BI o aplicación personalizada que funcione con la API de BigQuery a través de mecanismos estándar como los controladores REST o JDBC y ODBC puede usar BI Engine sin cambios.
- Entorno de ejecución vectorizado: con la interfaz de SQL de BI Engine, BI Engine presenta una técnica más moderna llamada procesamiento vectorizado. Usar del procesamiento vectorizado en un motor de ejecución hace un uso más eficiente de la arquitectura de CPU moderna mediante la operación en lotes de datos a la vez. BI Engine también usa codificaciones de datos avanzadas, en especial, el diccionario y la codificación de longitud de ejecución, para comprimir aún más los datos que se almacenan en la capa en la memoria.
- Integración continua: BI Engine funciona con las características y los metadatos de BigQuery, incluidas las vistas autorizadas, la seguridad a nivel de fila y de columna, y el enmascaramiento de datos.
- Reservas: Las reservas de BI Engine administran la asignación de memoria a nivel de ubicación del proyecto. BI Engine almacena en caché columnas específicas o particiones que se consultan y prioriza las que están marcadas en las tablas como preferidas.
Acerca de la interfaz de SQL de BI Engine
La interfaz de SQL de BI Engine expande BI Engine para integrarse en otras herramientas de inteligencia empresarial (IE), como Looker, Tableau, Power BI y aplicaciones personalizadas para acelerar la exploración y el análisis de datos. En esta página, se proporciona una descripción general de la interfaz de SQL BI Engine y de las capacidades expandidas que ofrece.
Casos de uso de BI Engine
BI Engine puede acelerar de manera significativa muchas consultas de SQL, incluidas las que se usan para los paneles de IE. La aceleración es más efectiva si identificas las tablas que son esenciales para tus consultas y, luego, las marcas como tablas preferidas. Para usar BI Engine, crea una reserva que defina la capacidad de almacenamiento dedicada a BI Engine. Puedes permitir que BigQuery determine qué tablas almacenar en caché según los patrones de uso del proyecto o puedes marcar tablas específicas para evitar que otro tráfico interfiera con la aceleración.
BI Engine es útil en los siguientes casos prácticos:
- Usas herramientas de IE para analizar tus datos: La interfaz de SQL de BI Engine puede acelerar las consultas de BigQuery sin importar si se ejecutan en la consola de BigQuery, la biblioteca cliente o a través de una API, o un conector ODBC o JDBC. Esto puede mejorar de forma significativa el rendimiento de los paneles conectados a BigQuery a través de una conexión integrada (API) o conectores.
- Tienes ciertas tablas que se consultan con más frecuencia: BI Engine te permite designar tablas preferidas específicas que acelerar. Esto es útil si tienes un subconjunto de tablas que se consultan con más frecuencia o que se usan para paneles de alta visibilidad.
Es posible que BI Engine no se adapte a tus necesidades en los siguientes casos:
Usas comodines en tus consultas: BI Engine no admite las consultas que hacen referencia a tablas comodín y no se benefician de la aceleración.
Dependes en gran medida de las funciones de BigQuery no admitidas: Si bien BI Engine es compatible con la mayoría de los operadores y funciones de SQL cuando se conectan herramientas de inteligencia empresarial (IE) a BigQuery, existen características no compatibles, incluidas las tablas externas y las funciones que no son de SQL definidas por el usuario.
Consideraciones para BI Engine
Ten en cuenta lo siguiente cuando decidas cómo configurar BI Engine:
Garantiza la aceleración para consultas específicas
Puedes garantizar que un conjunto particular de consultas siempre se acelere si creas un proyecto separado con una reserva de BI Engine. Para ello, debes asegurarte de que la reserva de BI Engine en ese proyecto sea lo suficientemente grande como para coincidir con el tamaño de todas las tablas usadas en esas consultas y designar esas tablas como tablas preferidas para BI Engine. En ese proyecto, solo deben ejecutarse las consultas que deben acelerarse.
Minimiza tus uniones
BI Engine funciona mejor con uniones previas o agregadas, y con datos en una pequeña cantidad de uniones. Esto sucede en particular cuando un lado de la unión es grande y los otros son mucho más pequeños, como cuando consultas una tabla de hechos grande unida a una tabla de dimensiones pequeña. Puedes combinar BI Engine con vistas materializadas que realizan uniones para producir una sola tabla grande y compacta. De esta manera, no es necesario realizar las mismas uniones en cada consulta.
Comprende el impacto de BI Engine
Para comprender mejor cómo se benefician tus cargas de trabajo de BI Engine, revisa las estadísticas de uso en Cloud Monitoring o consulta INFORMATION_SCHEMA en BigQuery Asegúrate de inhabilitar la opción Usar resultados almacenados en caché en BigQuery para obtener la comparación más precisa. Para obtener más información, consulta Usa los resultados de consultas almacenados en caché.
Cuotas y limitaciones
Consulta Cuotas y límites de BigQuery para obtener información sobre las cuotas y los límites que se aplican a BI Engine.
Precios
Para obtener información sobre los precios de BI Engine, consulta la página Precios.
Optimización y aceleración de consultas
BigQuery y, por extensión BI Engine, divide el plan de consulta que se produce para una consulta de SQL en subconsultas. Una subconsulta contiene una serie de operaciones, como el análisis, el filtrado o la agregación de datos y suele ser la unidad de ejecución de un fragmento.
Si bien la interfaz de SQL de BI Engine ejecuta correctamente todas las consultas en SQL compatibles con BigQuery, solo se optimizan ciertas subconsultas. En particular, la interfaz de SQL de BI Engine está más optimizada para subconsultas a nivel de hoja que analizan los datos desde el almacenamiento y realizan operaciones como filtros, procesamiento, agregación, orden y ciertos tipos de uniones. Otras subconsultas que aún no se aceleraron por completo de BI Engine vuelven a BigQuery para su ejecución.
Debido a esta optimización selectiva, la inteligencia empresarial más sencilla o las consultas de tipo de panel se benefician más de BI Engine (lo que da como resultado menos subconsultas) porque la mayor parte del tiempo de ejecución se dedica a las subconsultas a nivel de la hoja que procesa datos sin procesar.
¿Qué sigue?
- Obtén información sobre las funciones optimizadas de BI Engine.
- Para aprender cómo crear tu reserva de BI Engine, consulta Reserva la capacidad de BI Engine.
- Para obtener información sobre las tablas preferidas, consulta Tablas preferidas de BI Engine.
- Para comprender tu uso de BI Engine, consulta Supervisa BI Engine con Cloud Monitoring.