Adaptive query processing

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Adaptive Query Processing

Within the past few years' one of the major growing aspects in database research has been adaptivity. Since there has been a development of systems that can adapt quickly and tastefully to the changing data and environment lately in the recent years' adaptive query processing is a must need. Computer systems today are able to scale up and come together, traditional techniques for system management should become more adaptive. Query optimization, which is when you are improving the system so that it will reduce the run-time, the bandwidth, or the memory requirements, with its assistive technologies for cost estimation is one of the most occurring fields in many different areas of computer systems. Researchers have been exploring the design of systems that are adaptive to operate in unpredictable and changeable environments for the past few years. This has led to an overabundance of new techniques, generally placed under the common banner of adaptive query processing, that focus on using run-time feedback to modify query processing in a way that provides better response time or more efficient CPU utilization.

A wireless sensor is a device that is used to collect data from a related environment. This could be related to the detection or measurement of any physical occurrence happening in the system. These sensors can be limited in power, capacity, and memory. When you think of a wireless sensor network or WSN what do you think of? When I think of a WSN I think of a group of spatially scattered networked sensors used to helpfully monitor physical environmental conditions. These sensors are usually resource constrained. With this a network can then use the four main parts of the system. It can use the base stations, the energy, capacity, nodes with quick disk storage capability, and a good capacity of processing. The collected data is then passed from sensor to sensor until it has reached the base station. If you are creating a query processing machine for WSNs you need to make sure that it can handle the common resource limitations conditions that can come up like energy or memory, any type of failures, making sure that the mobility of the sensors is accurate, and the control of large amounts of data streams. A good line of attack for dealing with these conditions would be to use adaptability when processing the queries. Adaptive query engines and query operators or algorithms can adjust their behavior in response to conditions like having less energy or more energy and the accurate availability of memory, which possibly could occur when processing queries. To achieve the goal of using adaptive query processing with WSNs a person must put forward a basic data model to allow logical views over data streams so that the proposed query engine can see tuples of virtual relations rather than seeing the raw data streams that are flowing through the sensor. Next they must introduce a query language that will allow all users to express declarative queries and energetically change parameters in the query clauses. The last thing you must do is create at least two adaptive query operators called ADAGA, short for Adaptive Aggregation Algorithm and AJO, short for Adaptive Join Operator. The ADAGA will be responsible for all of the processing that goes on for the in-network aggregation that is in the sensor nodes. AJO on the other hand will take care of the process join operations that are going on in the base station of the WSN. Both of these operators are able to strongly adjust their behavior according to the memory and energy usage that goes on in the sensor nodes and in the base station. Mostly the sensor nodes will be monitored by the ADAGA and the base station will be monitored by the AJO.

What exactly is query monitoring? Query monitoring is when you observe and predict various parameters that are related to the execution of queries in a database system. This is a useful tool for users and administrators because it serves as an information collection service for resource distribution and adaptive query processing techniques. Just recently there has been an improved interest in the progress of these techniques, which are used to monitor and predict the progress of a query in a database system. Since queries are so complex in the decision applications, it is often common for those queries to take hours or even days to come to an end. It is also possible for there to be very similar queries that have greatly different execution times due to the data distribution and the choice of plans selected by the optimizer. With all of these different factors it makes it difficult for even an experienced user to predict what the execution time of random queries will be. With the recent work on adaptive query processing people have found a way to make use of statistic collections in a query plan. If a company is using the internet to communicate with customers then one of their primary goals for a query monitoring system will be to provide online feedback about the status of the queries that are submitted by the system to their customers. The online aggregation takes the problem of sampling-based cardinality estimation from an online setting but it is restrictive in choosing which of the query evaluation plans to use. These techniques are also designed for addressing the problem of having a lack of feedback during the execution of a query. This is done by using a direct approach and not just letting things take their own time. The combined values are gradually estimated in an online method while the query executes and has a constantly refining answer to the query will be presented.

Adaptive query processing is for the most part relevant in the settings in which query development must take place in the occurrence of inadequate or potentially inaccurate statistics for the use of the query optimizer and where the queries are evaluated in environments with swiftly changing properties. This can include such things as loads or the availability of memory. The importance of adaptive query processing has been growing more and more with the occurrence of computing environments that are characterized by the lack of centralized control which includes the web. These environments are not only fundamentally more complex to model but are also often have run-time conditions that are satisfactorily impulsive to give and take the weight of predictions. Adaptivity is to be expected to prove essential and for that clear-cut and up-to-date, creatively accessible data about the run-time behavior which is necessary to know. For adaptive query processing it will commonly bring about a feedback loop that comprises monitoring, assessment, and response. Some proposals have grouped together an approach to monitoring, a way of assessment, and an outward appearance of response. There are many reasons why in decoupling these three phases and in constructing basic frameworks for each of them. For monitoring of query plan execution the approach suggested is based on self-monitoring algebraic operators. This approach has been shown to be generic and independent of any specific adaptation mechanism, easily implementable and portable, sufficiently comprehensive, appropriate for heterogeneous distributed environments, and more importantly, capable of driving on-the-fly adaptations of query plan execution. The implementation of a plan and the completing environment itself are monitored, estimation is made connecting the progress of the execution, and a reaction may be taken that affects the long-lasting assessment of the query. The reaction may be fine-grained or coarse grained. The fine-grained could possibly be something like directing the next tuple to a particular node. The coarse-grained could possibly be something like rerunning the optimizer over some or the entire query. Monitoring the implementation of a query can make available the growing estimates for properties of the query such as its completion time and the number of values in its results. This information can often be helpful in providing feedback to the users. Also this information is helpful in refining cost models and in suggesting circumstances in run-time adaptation of a query. There are three different approaches to monitoring that can be considered. One is the use of a self-sufficient and centralized module within the query processor that can be used in monitoring. The second is the production of new substantial query operators that are dedicated to the statistics collection. The last is the alteration of conventional operators to self-monitoring ones. A centralized component apart from requiring significant changes in the planning of query engines does not scale well in parallel or distributed settings due to the communication overhead incurred. Dedicated operators require modifications in the query optimizers, which are responsible for deciding which monitoring operators are employed for each query and where. Both centralized components and dedicated operators suffer from limitation in the scope of the monitoring information that can be gathered.

As mentioned earlier within the past few years' one of the major growing aspects in database research has been adaptivity. Since there has been a development of systems that can adapt quickly and tastefully to the changing data and environment lately in the recent years' adaptive query processing is a must need. Computer systems today are able to scale up and come together, traditional techniques for system management should become more adaptive. Adaptive query processing is particularly relevant to settings in which query planning must take place in the presence of limited or potentially inaccurate statistics for use by the query optimizer and where queries are evaluated in environments with rapidly changing computational properties, such as loads or available memory. The relevance of adaptive query processing is growing with the prevalence of computing environments that are characterized by the lack of centralized control, such as the web. What I have learned about adaptive query processing is that in almost every system that is used today we need adaptive query processing so that there is feedback to the consumers and the users.


C.L. Hsu, "Constructing Transmitting Interface of Running Parameters of Small-scaled Wind-power Electricity Generator with WSN Modules," EBSCOhost (Academic Search Premier)., vol. 37, 3893-3909, May 2010.

G. Cormode & M. Garofalakis, "Approximate Continuous Querying over Distributed Streams," EBSCOhost (Academic Search Premier)., vol. 33, 1-39, Jun. 2008.

G.M. Lohman & V. Markl & V. Raman, "LEO: An Autonomic Query Optimizer for DB2," Wilson OmniFile., vol. 42, 98-106, Nov. 2003.