BigQuery BI Engine — это интегрированный в облачную аналитическую платформу компонент для ускорения интерактивного анализа данных и визуализации. Он представляет собой распределённый in-memory ускоритель запросов, который кэширует часто используемые наборы данных и выполняет агрегирования и фильтрацию в оперативной памяти, уменьшая задержки при выполнении SQL-запросов и обновлении панелей визуализации. BI Engine предназначен для работы вместе с хранилищем данных и инструментами бизнес-аналитики, обеспечивая более быстрый отклик при интерактивной работе с большими объёмами данных.
Архитектурно BI Engine реализует хранение выбранных фрагментов таблиц в сжатом колоночном формате в оперативной памяти и использует механизмы параллельной обработки для выполнения запросов над закэшированными данными. В случае отсутствия нужных данных в кэше обработка запроса делегируется стандартному движку BigQuery; при этом BI Engine может постепенно расширять кэш в соответствии с рабочими нагрузками. Компонент ориентирован на сценарии коротких, повторяющихся запросов и интерактивных дашбордов, где критична низкая латентность ответов.
- Кэширование в памяти: хранение часто используемых данных в оперативной памяти в оптимизированном формате для быстрого чтения и агрегации.
- Ускорение интерактивных запросов: уменьшение времени отклика для коротких аналитических запросов и обновления визуализаций.
- Интеграция с BI-инструментами: поддержка прямого подключения популярных средств визуализации и рабочих панелей для прозрачного использования ускорителя.
- Прозрачность для SQL: пользователи продолжают писать стандартные SQL-запросы, при этом BI Engine обрабатывает подходящие операции автоматически.
- Гибридная обработка: комбинирование выполнения в памяти и обращений к основному хранилищу при необходимости полного доступа к данным.
- Сжатие и колоночный формат: использование сжатых колоночных представлений для уменьшения объёма памяти и ускорения операций агрегации и сканирования.
- Автоматическое расширение кэша: адаптивное наполнение и обновление кэшируемых фрагментов на основе шаблонов запросов и рабочих нагрузок.
- Контроль доступности и изоляция: механизмы управления квотами и изоляции ресурсов для обеспечения предсказуемой производительности в многопользовательской среде.
- Поддержка типичных аналитических функций: эффективная обработка агрегаций, группировок, фильтров и оконных функций, характерных для BI-запросов.
- Мониторинг и метрики производительности: инструменты для наблюдения за эффективностью кэширования и влиянием BI Engine на время отклика запросов.