2006-11-01
Loop-lifted XQuery RPC with deterministic updates
Publication
Publication
XRPC is a minimal XQuery extension that enables distributed query execution, combining the
Remote Procedure Call (RPC) paradigm with the existing concept of XQuery functions. By
calling out of a for-loop to multiple destinations, and by calling functions that themselves
perform XRPC calls, complex P2P communication patterns can be achieved. We further
propose the use of SOAP as the protocol for XRPC, which allows seamless integration with web
services and Service Oriented Architectures (SOA). XRPC is implemented in the open source
MonetDB/XQuery system. We show that the technique of loop-lifting, that executes all
expressions inside a for-loop in a single bulk operator -- pervasively applied in
MonetDB/XQuery to obtain efficient relational query plans -- also benefits XRPC. Loop-lifting
enables us to send bulk RPC requests, dramatically reducing the number of SOAP messages,
and thus the performance impact of network latency. The XRPC extension is orthogonal to all
XQuery language features, including the XQuery Update Facility (XUF). The XUF W3C Draft
proposal does not define the order in which multiple update actions to the same node must be
applied. We instead choose to make this order deterministic, and show how distributed updates
can be made deterministic using a small protocol extension.
Additional Metadata | |
---|---|
, , , | |
CWI | |
Information Systems [INS] | |
Ambient Multimedia Databases , VIA M | |
Organisation | Database Architectures |
Zhang, Y., & Boncz, P. (2006). Loop-lifted XQuery RPC with deterministic updates. Information Systems [INS]. CWI. |