Just finished my Birds of a Feather XMLDB panel session in the Marriott Hotel and now looking back on an event full day. It all started of with a Keynote session with among others Mark Hurd. the most interesting bit, in my honest opinion, was the announcement of more details in Oracle 12c. I will come back later on this, as far as I am allowed being a beta participant, but hereby some shots from the Keynote session that will give you a pretty good idea on usefulness of pluggable databases in Oracle 12c.
So with all this excitement going on about 12c, are there already some small details about new XMLDB functionality. Via a Tom Kyte presentation, Hands-on Labs and some other sessions, the following details were made available to the public. Keen on XMLDB stuff, this is what I picked up.
- XMLDB is now an integrate, mandatory part of the database
- XQuery Update facility, already available in 126.96.36.199, is now a fully supported standards in 12c and onwards
- XQuery Full Text search, is now available, in Oracle 12c
- XMLType CLOB based storage will be deprecated in Oracle 12c
As with all Oracle 12c related things at this time, Oracle will have the last word if it also actually will be so. I don’t know the current Oracle Legal slide by hart, as seen multiple times today at the beginning of a lot of presentations today, but keep this in mind.
Some pointers on the info above. Although, and this mistake I have seen often been made in the context of “deprecated” statements, the general direction regarding XMLType storage is that the default will be Securefile. This default behavior was already introduced in 188.8.131.52 and has its foundation in the fact that XQuery support is much more efficient on Securefile based XMLType Binary XML than the old 9.2 introduced XMLType CLOB (Basicfile) storage. Deprecated does also not mean, desupported. XMLType CLOB storage will probably be supported a long time in the future, that is Oracle 13 or whatever it is called at that time.
Just like the discussion on and offline I had today about the new 32K support in varchar2 columns announced by Tom Kyte in 12c, what you don’t want is to create more unstructured big data. The 32K size fits now perfectly with the 32K PL/SQL equivalent but also has the potential to become a performance nightmare in regular database systems. Misuse to store strings in those columns can turnout to be a horrible job to actually try to get useful information out of it afterwards again. Have a read here at one of those brilliant posts on JoelOnSoftware describing string manipulation and the compute CPU power involved. The same goes for XMType CLOB storage and why it will be, probably, deprecated. Securefile Binary XML is way more efficient, not only to store XML type data, but also to retrieve it. Not an inessential part of a store method like a database…
To give you some small insight into those two new W3C XQuery recommendation extensions:
The XQuery Update Facility XQuery-Update is an extension standard that makes it possible to update the content of XML documents. XQuery update operations can modify the values of existing nodes, replace a fragment of XML with another fragment of XML and insert and remove nodes from the document. In short besides generating XML, query XML, you can no also update selective parts of the XML.
The XQuery Full-Text extension on XQuery, delivers complex full-text style search operations on the content of XML documents. The XQuery Full-Text specification adds the ability to perform word based searches of XML content, with all of the common features of a text retrieval system. XQuery Full-Text includes support for word match, windowing (word must appear within n words of word) and stemming (automatically recognize related words).