networks provides declarative access to data from multiple sensor nodes. In distributed query processing, a run time database is maintained about a specific type of query, i.e. how the nodes in a WSN will respond to a particular query. There are two types of approach generally taken to respond a query: 1. Centralized Database 2. Distributed Database Centralized database approach for WSN
The Centralized approach deals with the static data
set. The data are stored in a persistent repository which can be accessed at anytime. Distributed database approach for WSN
The distributed approach deals with continuous
and infinite streams of data, and the data repositories are not likely to be persistent due to the mobility features of WSN. Transmission of query The most energy consuming operation a node can perform is the transmission of data. WSNs are designed to process data within the network and subsequently forward the result to the requesting node. Referred as in-network data aggregation results in reduction of amount of data need to be transmitted which in turn translates energy saving. Architecture of current query processing systems There may be many ways to evaluate any particular query out of all possibilities, only a handful actually lead to energy savings. In existing query processing systems such as COUGAR and TinyDB network statistics (or network metadata) such as patterns of data produced by individual nodes, location information and energy reserves of nodes, etc. are sent back periodically to the central node. Using the centrally collected data, the server, which now has a detailed overview of the status of the entire network of nodes, calculates the optimal method in which the query may be evaluated. Query Decomposition An incoming query is broken down and analysed semantically to ensure that an incorrect query is detected and rejected. Redundancies in queries are also eliminated Data localisation Examines the incoming query from the query decomposition block and determines which fragments of data are involved in the query and also retransforms incoming queries into simpler and more optimised forms by using different reduction techniques which depends how the data has been fragmented. Fragmentation schema Fragmentation Schema is to describe how the various fragments may be related to one another to form a complete relation. Fragment allocation The task of the Fragment Allocation block is to decide at which node a certain fragment of a relation should be stored.There are numerous parameters that need to be considered during the optimisation process, e.g. cost of communication between any two pairs of sites, varying access patterns of various nodes, mobility patterns, cost of storing each at a site , cost of querying Cost function The Cost Function block can be viewed as a database that stores the cost of some of the parameters considered by the Fragment Allocator such as inter-node communication cost, cost of storing at and querying a particular node. Network metadata The network metadata block plays a crucial role in the overall performance of the DQP as it provides the input to the Query Optimisation, Fragment Allocation and Cost Function blocks which together hold the key to how well a particular node responds to the dynamics of the network. Query optimisation The Query Optimisation block receives several execution strategies (or operator trees) for a single query from the Data Localisation Block.