Overview

Components
     Client API
     QPC
     DAP
     Data Server

Plug-And-Play

Catalog

Benefits

Home

Data Access Provider (DAP)

The role of the Data Access Provider (DAP), shown in Figure 4,  is to provide the QPC with an uniform access mechanism to a remote data source. In this sense, the DAP might seem very similar to a wrapper or a gateway. However, the DAP has an extensible query execution engine capable of loading and using application-specific Java classes that are obtained from the network with the help of the QPC. The  DAP is implemented as a multi-threaded Java server, and can be reached through a well-known URL. Since a DAP is run at the data source site or in close proximity to it, MOCHA exploits this capability to push down to the DAP the code and computation of those operators that "filter" the data being queried. This novel approach serves to minimize the amount of data send back to the QPC, and therefore speed up query processing. Moreover, since many sites use very powerful machines to run their data servers, this approach can provide better utilization of such  hardware infrastructure.

Figure 4: Data Access Provider

When a DAP receives a request for data from the QPC, it performs the following tasks:

  1. Data Access - The DAP queries the data source to extract the raw data items that are relevant to the query at hand.

  2. Data Translation - As the data is read from the underlying data source, the DAP maps the types and schema used in the local data source  into the types and global schema that must be used at the middleware level. This is accomplished through a series of mapping rules that the QPC ships to the DAP as part of the query plan. These schema mapping rules are encoded using XML.

  3. Query Execution - After the data items have been translated, the DAP applies all the operators that are contained in the query plan issued by the QPC. In most instances, these operators will filter the data and produce much smaller "distilled" values, which are then send to QPC for further processing (if necessary) until the final answer to the query is produced.

 

PREVIOUS          NEXT

 

© 2000 University of Maryland. All rights reserved.


Last update was on June 14, 2000
manuel@cs.umd.edu

Web Accessibility