Prospective vs Retrospective Search (was: RE: Jim Gray article
Another interesting bit in Gray's article was: "Publish/subscribe systems contribute further to the challenge by inverting the traditional data/query ratios, requiring that incoming data be compared against millions of queries instead of queries being used to search through millions of records." What we're seeing here is completion of the "database" problem to include prospective search in addition to the traditional retrospective search implemented by today's relational database systems. A retrospective system such as a traditional database is focused on evaluating queries against historical collections of data. A retrospective system answers the question: "What is known?" It is focused on the past. On the other hand, a prospective system stores queries instead of data and it evaluates each newly discovered data object against stored queries. A prospective engine typically answers questions of the form "Tell me whenever x happens!" and is focused on searching the future -- not the past. Traditionally, database engines have had prospective search grafted onto them via mechanisms like triggers. With the exception of financial market applications which deal with tremendous volumes of data and have very strict timeliness requirements, there hasn't been much pressure to improve on prospective matching capabilities until recently. But today, we're seeing high transaction volumes and increasing timeliness requirements across all application areas. The old, tacked-on trigger mechanisms are no longer good enough. This has resulted in a great deal of "stream processing" research at places like Stanford, Brown, MIT, Berkeley, U Wisconsin, etc. as well as the implementation of Internet services like that of PubSub ( http://pubsub.com ) or companies like Stonebraker's new StreamBase.com Just as SQL wasn't able to handle the challenges of "object" data without extensions, I think we'll have to recognize that SQL -- a language designed for retrospective search -- is simply not an adequate query language for prospective search. More extensions will be needed. The same is, of course, true of XQuery since that language was also designed for use in retrospective systems and didn't take prospective system requirements into consideration in its design. Gray's paper opens the discussion on a good number of issues -- not the least of which are the issues related to the prospective search or matching which is typical of Publish/Subscribe systems. Let's hope it's a fun and useful discussion. bob wyman
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format