avatarChristianlauer

Summary

Google has introduced Query Queues for BigQuery to enhance concurrency and performance in data warehousing.

Abstract

Google's BigQuery service has now made Query Queues generally available, a feature that was previously in preview. This addition is designed to improve the concurrency of BigQuery by automatically managing query concurrency based on available slots instead of a fixed limit. Once the maximum concurrency is reached, queries are queued until resources become available. This feature has been enabled by default for users over the last several weeks, ensuring that multiple users can work with real-time data without performance degradation or quota errors. Users also have the option to set a maximum concurrency target for their reservations and adjust the timeout settings for interactive and batch query queues.

Opinions

  • The introduction of Query Queues is seen as a significant enhancement for BigQuery, addressing the challenge of managing high levels of concurrency in a data warehouse environment.
  • The feature is considered beneficial for a productive environment now that it is generally available, as it removes the uncertainty of using a preview feature that could be retracted.
  • Google's promise of no degradation in query performance with the default enablement of query queues suggests confidence in the feature's effectiveness.
  • The ability to customize the maximum concurrency target and queue timeout settings is viewed as a positive for users who need to tailor performance to their specific needs.

Google launches Query Queues for BigQuery

How Google wants to improve Concurrency of their Data Warehouse

Photo by Dennis Mita on Unsplash

Already last year, Google has announced Query Queues for its SaaS Data Warehouse service BigQuery. Now, this feature is finally generally available.

Although it is not entirely new because, as mentioned, it is already available in preview, it has to be said that it is a hindrance for a productive environment, since you do not want to use and implement anything that might be retracted.

With query queues, BigQuery automatically determines your query concurrency based on available slots rather than a fixed limit. Once the maximum concurrency is reached, additional queries are queued until processing resources are available[1].

Query Queues in BigQuery — Image Source: Google[2]

Concurrency is an important criteria for a Data Warehouse, since many users are able to work simultaneously. While managing a few users is easy to manage, scaling to thousands is very hard to manage. Everyone must be able to work with the same real-time data without negatively impacting other users and without receiving any quota error.

Therefore, Google has rolled out query queues and enabled them by default over the last several weeks. Also, no user action is required and Google has promised no degradation in your query performance. Optionally, you have the possibility to set the maximum concurrency target for a reservation. Furthermore, you can also control the interactive and batch query queue timeout by using default configurations[1].

Sources and Further Readings

[1] Google, BigQuery release notes (2023)

[2] Google, Use query queues (2022)

Data Science
Google
Bigquery
Programming
Technology
Recommended from ReadMedium