This is great news for MarkLogic because it formalizes the language around which our server is built. Roughly speaking, I feel like Oracle in 1982 when IBM had de facto standardized SQL (over Quel and other rivals) as the standard relational query language, yet no major vendor had a commercial implementation. The SQL standard de-risked purchasing Oracle and gave them about a 5-year headstart over the big guys. All they had to do was wipe out Ingres, Informix, and a few others to (in American Idol parlance) "go through" to the next round, in which they compete today, fighting against IBM and Microsoft.
But, you might wonder, don't major vendors (e.g., IBM) have various degrees of XQuery support in their products today? How does this provide Mark Logic with the same time-to-market advantage that Oracle had in 1982?
The answer lies in the focus of the XQuery implementation. Unsurprisingly, RDBMS vendors are focusing their XQuery implementations on XML data. As I often say, when you have a multi-billion dollar database business and you look at XML, you see data -- not content. One need only look in a few places for verification. Consider their:
- Poor or non-existing support for XQuery with full-text search
- Indexing strategies, such as xmlpattern indices, which create b-trees on paths within XML documents
- Benchmark focus, such as the IBM-backed transaction processing over XML (TPoX) project which is clearly data- and not content-focused
Here are vendor testamonials and quotes, including one from me, about the news, and here is a link to the official XQuery 1.0 standard.

1 comments:
You guys should be participating in JSR-283. We have been having a discussion on whether to include XQuery or not as a standard query language interface. Currently, only XPath is required.
Originally, I proposed extending a proposal to use XQuery, since XQuery facilitates publishing (your strength) and generating XML streams for REST-based access to content repositories.
Unfortunately, the JSR-283 API is hung up on using its original query API which is more SQL-like in nature. In order to really take advantage of the power of XQuery, applications should be able take an XML stream and/or use the XQJ bindings. As it is, if you are only using XQuery as an SQL replacement, why bother?
Get in there (and all XQuery fans) and make your opinion known. The draft is coming out soon.
Post a Comment