Protocol/query interaction - computational cost of a query

One of the things the comparison of query languages talks about is "safety".
There is an interaction with remote access here - does the query language
allow or encourage queries which do not terminate or incur excessive
computation?

In sending a query to a remote server, we should be aware we are sending
around a computation.  A query language that can cause infinite, or
excessive, computation at the server is not a good idea.  A query could be
analysable as to be being safe or the language could be designed so that it
is not possible, or probably not natural, to express unsafe constructs.

I don't like the idea that "DAWG-QL" needs to be analysable; I would prefer
that the language does not have features that allow excessive or infinite
computation unless that feature is really important.

This isn't a clear cut matter - if you ask a query that is not very
selective of a large dataset, you will get back a lot of results and it may
consume a lot of system resources.  But we can design things to avoid traps
for the application writer.

	Andy

PS I like the phrase "RDQL is safe" which reminds me of the Hitch-Hikers
Guide to the Galaxy: "mostly harmless".  Not sure that translates to other
parts of the globe.

Received on Thursday, 29 April 2004 08:16:26 UTC