Re: [xml-dev] RE: Incremental transformations with Xalan and performance
Lists Home |
Date Index |
• Daniela Florescu, Chris Hillery, Donald Kossmann, Paul Lucas, Fabio Riccardi, Till Westmann, Michael J. Carey, Arvind Sundararajan:
The BEA streaming XQuery processor.
VLDB Journal Volume 13, Number 3, September 2004
An interesting paper.
In the context of streaming, most of the techniques described are not very different from those used in the better XSLT processors. One big difference is that XSLT 1.0 is typically implemented using a dual push/pull model:
Michael, you read a two years old version of the paper, the one I was pointing to is the journal
(i.e. longer) and newer version of it. The architectural main idea didn't change, but the numbers
are better (like any other new processor, the performance improves with 10% per day, so it depends
what day of the week do you measure ...:-)
Our major goals while designing this were:
- build a full implementation for XQuery (I really mean 100%), not only a "convenient" subset
- use streaming
- use lazy evaluation
As you point out the interesting discussion is between pull and push streaming. There are multiple
reasons we used pull, the main important ones being:
- we are database people, so we grew up with the pull, iterator based evaluation of the relational
database engines and
- it was harder to make push and lazy evaluation work together
There is a piece of good work that compares push and pull XML processing, I am sure you'll enjoy it.
"The Joy of SAX" Leonidas Fegaras (University of Texas at Arlington, USA)
P.S. It looks like I am doing more publicity now to BEA, when I'm not there anymore:-)