Data models and network effects

Dare Obasanjo asks an important question:

For example, should one use SQL to query relational databases and XPath/XQuery for XML or should SQL be the universal query language used by all with any additions needed for XML querying being grafted on to it in most likely a proprietary manner? [Dare Obasanjo]
For a long time, I thought that object, relational, and XML databases were different tools for different jobs, and that we'd use different query languages to work with them. Recently, I've been impressed by how the major RDBMS systems, most notably Oracle, are weaving these disciplines together under the rubric of SQL:200n. Admittedly, that standard is proceeding as slowly as all SQL standards have. But Oracle's latest stuff does demonstrate a unified and standards-based approach. I was particularly struck by this comment from Oracle's Sandeepan Banerjee, which I've mentioned before:

It's possible that developers will want to stay within an XML abstraction for all their data sources.
I don't know that will happen, or that it's the right thing. But I don't know that it won't happen, or that it's wrong, either.

I've always argued against the notion that there is one true programming language, and I respect -- more than many do -- developers' willingness and ability to master a variety of special-purpose languages. Of course, in a hybrid SQL/XML environment it's not like there's one query language. You write XPath expressions in SQL or XQuery contexts, just as you write regular expressions in Python or JavaScript contexts.

We've established XSD for SOAP payloads on the one hand, and for interactive documents on the other. That's a powerful convergence. Evolving it in a standards-based way isn't, for me, about protecting developers from culture shock. It's about smooth interop between the next-gen Windows filesystem and the larger ecosystem it will play in.


Former URL: http://weblog.infoworld.com/udell/2003/11/25.html#a854