Using a relational processor and an XPath processor to evaluate joint queries

  • Authors:
  • Royi Ronen;Oded Shmueli

  • Affiliations:
  • Technion - Israel Institute of Technology;Technion - Israel Institute of Technology

  • Venue:
  • DataX '08 Proceedings of the 2008 EDBT workshop on Database technologies for handling XML information on the web
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Conjunctive queries (CQs) are a common abstraction for many query languages (or significant parts thereof) for relational data, XML data or both, such as SQL, XPath, XQuery, XSLT and SQL4X. This work considers the joint querying of relational and XML data by adding an XPath predicate to the CQ formalism. CQs are a basic building block of query processing understanding, and in that respect, adding an XPath predicate is a natural extension. Relational and XML data are "connected" either via references to XML nodes that are stored in relations (essentially oids, usually the result of previous queries) or via atomic text values. Then, relational and XML data are jointly referenced by allowing variables to be shared by relational and XPath predicates. Our approach is that of co-processing of the query using an XPath processor and a relational data processor which operate separately, each on its type of data. The algorithms use known bindings to variables in the query in order to efficiently use the separate processors. We design and compare two such algorithms for evaluating CQs with XPath predicates. Column-Based On-Demand reduces the query evaluation problem to performing a join over ordinary relations. Quick On-Demand offers a controlled way to explore the evaluation space, using a heuristic procedure in the course of a step-wise evaluation of the query. Both algorithms avoid the need to use a sophisticated cost model as required by a standard evaluation procedure. We experimented with both algorithms on various size databases and query types. Each of the new algorithms performs best for different query types and both appear very promising. To calibrate, we transformed the queries to XQuery. Interestingly, the execution times are often favorable for our (not highly optimized) system.