Google Cloud объявил о доступности оптимизаций BigQuery на основе истории, которые могут ускорить выполнение запросов до 100 раз. Эта новая функция предназначена для обучения на основе прошлых выполнений запросов и выявления дополнительных улучшений, которые можно применить к будущим выполнениям.

Одним из интересных аспектов оптимизаций BigQuery на основе истории является их способность улучшать различные типы запросов, включая те, которые связаны с высокоселективными соединениями. Например, если BigQuery идентифицирует соединение, которое приводит к гораздо меньшему количеству строк, чем его вход, он может выбрать выполнение этого соединения на более раннем этапе плана выполнения. Это может значительно сократить объем данных, которые необходимо обработать, что приведет к общему повышению производительности.

Кроме того, оптимизации BigQuery на основе истории могут помочь сократить объем данных, сканируемых BigQuery, путем вставки выборочных операций полусоединения в запрос. В некоторых случаях BigQuery может идентифицировать высокоселективное соединение (аналогично проталкиванию соединения) в запросе с несколькими параллельными путями выполнения, которые в конечном итоге объединяются. Затем BigQuery может вставить новые операции «полусоединения» на основе выборочного соединения, которые «сокращают» объем данных, сканируемых и обрабатываемых этими параллельными путями выполнения.

В целом, оптимизации BigQuery на основе истории являются ценным дополнением к BigQuery. Используя исторические данные из прошлых выполнений запросов, эта новая функция может значительно повысить производительность запросов и снизить затраты. Более того, поскольку она работает автоматически, пользователи могут воспользоваться этими улучшениями, не внося никаких изменений в свои запросы.