Streaming XPath Engine - PowerPoint PPT Presentation

About This Presentation
Title:

Streaming XPath Engine

Description:

Streaming XPath Engine Oleg Slezberg Amruta Joshi Overview Motivation Querying Streaming XML XPath Challenges (predicates, //, nesting ) Basic Objective Comparative ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 10
Provided by: Amr92
Learn more at: http://web.stanford.edu
Category:

less

Transcript and Presenter's Notes

Title: Streaming XPath Engine


1
Streaming XPath Engine
  • Oleg Slezberg
  • Amruta Joshi

2
Overview
  • Motivation
  • Querying Streaming XML
  • XPath Challenges (predicates, //, nesting)
  • Basic Objective
  • Comparative Analysis of Algorithms
  • Implementation
  • Implemented engine in Java using JDK 1.4.2
  • Apache Xerces 2.6.2 for parsing (both XML and
    XPath)
  • Used existing XSQ Java implementation
  • Benchmark for evaluation - XPathMark

3
XStream
  • Builds parse tree for input query
  • Maintains an event stack
  • Keeps matching input streaming document for each
    node

4
Our Contributions
  • Correction
  • Verification
  • Performance Figures
  • Recursive Query Handling
  • Query Evaluation Support

5
Performance
  • Benchmark XPathMark, set of 23 queries (mostly
    predicate queries)
  • Criteria Queries Per Second Rate
  • Test Setup Run on elaine2, 900 MHz 2-CPU
    processor
  • Results
  • XSQ QPS 4.39 Coverage 17
  • TurboXPath QPS 5.75 Coverage 21
  • Time XML Parsing Processing
  • QPS XStream 30 faster better coverage on
    given benchmark

6
Recursive Query Handling
  • For query node n and elements e1, e2 in d
  • Both e1 and e2 match n
  • e1 contains e2
  • Example
  • Document ltagtltagtltb/gtlt/agtltbgtlt/bgtlt/agt
  • Query //a/b
  • FA-based algorithms
  • Exponential number of states

7
Query Evaluation Support
  • 2 Questions
  • Filtering
  • Does this document match the query?
  • F1 XML gt boolean
  • Evaluation
  • What parts of the document match the query?
  • F2 XML gt XML
  • Modifications
  • Output buffers for predicate owner
  • Predicate node buffers
  • Predicate evaluation

8
Multiple Simultaneous Queries
  • combine the queries OR-ing them together
  • q (q1) (q2) (qn)
  • Resulting query has multiple output nodes
  • Associate a query-id with output node

9
Conclusion
  • Streaming XPath Engine
  • All Objectives met! (XPath Stream Evaluator
    implemented, Performance Analysis)
  • Algorithm correction and enhancements
  • Future Directions
  • Backward Axis Support
  • Function Support reuse predicate evaluation
    model
  • Extended expression type support
  • Predicate Pipelining
Write a Comment
User Comments (0)
About PowerShow.com