[xquery-talk] XQuery and Web 2.0

John Snelson john.snelson at oracle.com
Fri Apr 25 12:45:24 PDT 2008

John D. Mitchell wrote:
> On Thu, Apr 24, 2008 at 3:58 AM, John Snelson <john.snelson at oracle.com> wrote:
> [...]
>>  Simple and complete REST support is important, I agree.
> Are you saying that should be in the XQuery language itself or in the
> standard libraries?  Seems overkill for the former but I'd love to see
> it in the latter.

I don't mind either way, as long as it's a standard portable method.

>> It seems to me that since XQuery is declarative the compiler ought to be
>> able to work out how and where to parallelize your program, rendering
>> explicit parallel algorithms obsolete.
> In terms of the general sentiment that functional languages obviate
> the need for explicit parallelism... Well that's akin to the beliefs
> that non-trivial distributed systems can be created that completely
> hide their distributed nature (e.g., the realities of the underlying
> network).  In general, automatic parallelism seem to be able to get up
> into the 4-8 way parallel range and that's it for all but the
> embarasingly parallel (that also fit the particular parallelizer's
> model).

The map/reduce model is based on the idea of massively distributed data 
and shipping the query to the data. The "map" part is the part of the 
query that is shipped to the data and executed there, the "reduce" part 
can then be run to combine the result of "map" part in interesting ways, 
and happens at a layer above the individual machines that hold the data.

It seems to me that for the vast majority of XQuery programs I see, it 
should be fairly easy for the compiler to identify and extract the "map" 
and "reduce" parts of the program automatically. I think this is highly 
desirable - map/reduce has given us the primitives, but there is 
definitely room to add higher level abstractions on top of that. I think 
XQuery is very well suited for that.


John Snelson, Oracle Corporation            http://snelson.org.uk/john
Berkeley DB XML:            http://oracle.com/database/berkeley-db/xml
XQilla:                                  http://xqilla.sourceforge.net

More information about the talk mailing list