What is the Query management process?

It is the process that manages the queries and speeds them up by directing queries to the most effective data source. This process also ensures that all the system resources are used most effectively, usually by scheduling the execution of queries. The query management process monitors the actual query profiles that are used to determine which aggregations to generate.

This process operates at all times that the data warehouse is made available to endusers. There are no major consecutive steps within this process, rather there are a set of facilities that are constantly in operations.

Directing queries − Data warehouses that contain summarised data can provide several distinct data sources to respond to a specific query. These are the detailed information itself, and any number of aggregations that satisfy the query's information need.

For example, in the analysis of sales data warehouse, if a user asks the system to "Report on sales of computer, Ghaziabad, UP over the past 2 weeks", this query would be satisfied by scanning any of the following tables −

  • All the detailed information over the past 2 weeks, filtering in all computer sales for Ghaziabad.

  • 2week's worth of weekly summary table of the product by store across the week.

  • A bi-weekly summary table of the product by region Ghaziabad is an example of a region.

  • A bi-weekly summary table of product group by store (a computer is a product group).

Any of these tables can be used to get the result. However, the execution performance will vary between each table because the volumes that have to be read differ substantially. The query management process determines which table delivers the answer most effectively, by calculating which table would satisfy the query in the shortest period.

Management system resources − A single large query can use all system resources to execute, affecting the performance of the entire system. These queries tend to be the ones that either execute the entire detailed information or are constructed inappropriately and perform repetitive execution of a large table.

The query management process ensures that no single query can affect the overall system performance.

Query capture − The query profiles are changed regularly over the life of a data warehouse and the original user query requirements may be nothing more than a starting point. The summary tables are structured around a defined query profile and if the profile changes, the summary table is also changed.

It can accurately monitor and understand what the new query profile is, it can be very effective to capture the physical queries that are being executed. At various points in time, these queries can be analyzed to determine the new query profiles and the resulting impact on summary tables.