Re: Parallel execution: functions, XPath, XQuery,

Ken,

XPath and XQuery are functional languages like OQL.
Back during the time when I was still young and enthusiast
(i.e. 10 years ago) a lot of research was done
in the area of parallel object oriented databases
and how to execute OQL in a parallel fashion
in order to achieve performance.

This research didn't go very far (no products or anything
of industrial maturity) but there where a couple of
interesting ideas that could be un-dusted and
adapted to the reality of XML.

If you are interested, you can find a couple of
 pointers inside
www.citeseer.com
(best bibliographical database in CS ever!)

http://citeseer.nj.nec.com/cs?qb=dbnum%3D1%2Cqtype%3Dcitation:&q=parallel%20
and%20object%20and%20database


http://citeseer.nj.nec.com/cs?cs=1&q=parallel+and+object+&submit=Citations&c
o=Expected+Citations&cm=&cf=Any&ao=Expected+Citations&am=&af=Any


The people who worked on this field (and whom I remember) were Dave DeWitt
(prof. Univ. Wisconsin),
M. Stonebreaker (now at MIT), my ex-PhD advisor Patrick Valduriez (now at
Univ. Paris VI). This was long time ago and they may not even remember it,
but 
it is worth asking.

As for me, I think that this is one among the hardest and most important
things to do in
database management systems in the future years. Unfortunately, to my
knowledge
nobody is looking at this problem now.

Concerning the UDFs and parallelism, there are two distinct issues,
(not to be mixed):

- semantics of invoking a UDF from a functional language
(e.g. what is the semantics if your function has side effects ?
does it mean that any optimization/rewriting is impossible ?
tough problem and I hope we will discuss it sometime inside the WGs
when we will talk about extensibility mechanisms).

- performance of invoking a UDF from a functional language
and here is where the parallel execution comes into the picture.
But before we talk about how to execute something efficiently we
have to talk about what is the semantics of the queries.

In addition to the two issues above there are others 
(e.g. what is the exception mechanism handling between the
core 	query and the UDF, etc)

But we are not so advanced in our work to answer those (important)
questions now.

Hope that helps,
Dana

Received on Thursday, 24 May 2001 17:48:32 UTC