www.xmldb.nl Posts

September 24

A lot is happening here at Oracle Open World, more than my brain can master right now. Exalogic, ZFS storage, Unbreakable Enterprise Linux, Fusion Apps (finally), Oracle VM for Solaris, etc… Some of those topics aren’t that important for me and/or my customers right now, because they are just out of reach like, for example Exalogic. I read that a full box setup will go for just over 1.000.000 US$ so that is a setup I won’t be managing for a while. On the other hand from an Oracle perspective this is the logic next step to make to provide a solid complete solution from apps layer down to the hardware layer providing a boxed solution for Oracle’s most demanding customers regarding performance, best of breed and availability.

Oracle Open World 2010

It has very good technology features in there of which I hope it will be open for us “general” database consumers in the near future. One of those Exadata features I would really like to get my hands on would be the in memory index functionality, if not only that it fits perfect with the way I handle XML data, that is “content” based. An other feature would be, for instance, those storage cell optimizations. Anyway, until now, when trying to enable them, it only comes back with a “Exadata Only” warning, so I will have to wait a little (I hope).

So now, I am currently following Wim Coekaert‘s OEL / Unbreakable Enterprise Linux kernel session called “Oracle’s Linux Roadmap”, if not only being interested in the statement of direction about ZFS, OEL and/or Oracle Linux. Oracle Linux will be a fork as far as I have read and/or will it be an option to chose while installing Oracle Linux. From now (Oracle 5.5 and onwards) you can chose installation for a Red Hat Linux kernel strict install or a for Oracle optimized Unbreakable Linux kernel install. You can, although I haven’t tried it yet, also update the kernel afterwards with the Oracle optimized kernel.

September 24

Currently sitting in at the Oracle Open World 2010 presentation of Sam Iducula, Consulting member of the tech. staff and Mark Drake, Sr. Product Manager for Oracle XML DB. Before getting into the more in-depth topics Sam explained XML schema usage, for validation via XML schema validators like for example XML Spy or JDeveloper. This is currently really needed because those more used XML Schema like the really big ones out there like H7, etc, are nowadays so very very big that a good XML Schema validator is really needed. XML Schema in binary XML format is stored in a post parsed binary format. This has the advantage that Oracle knows about the format when storing the XML document. Extra information can be shared by the database by registering the XML Schema in the database that validates the Binary XML content.

There can be a lot of recursive dependencies, via the import or include references in a XML Schema, which make it even more difficult to make optimal use of this information. For example in the HL7 (Health Level 7 schemas) setup this includes over 100 included XML Schemas. Oracle 11gR2 has been greatly improved performance and handling of those very huge meta data information as stored in such XML Schemas. Via streaming schema validation and adding hints via xdb:annotations, this provides the database with even more information on how to optimal handle these structures and as such performance can be improved even more. Some of those hints could be used to avoid the creation of objects, in this case while using XMLType Object Relational storage via, for instance, xdb:defaultTable=”” (providing an empty string) or store parts of the XML document information out of line. By the way for this last example you should use JDeveloper because it will annotate the XML Schema incorrectly (the bug has been reported by me). One of the improvements in 11.2.0.2.0 is huge improvements were made in cycle detection recognition, so they are handled even better in the mentioned version.

On the XMLDB home page on the Oracle OTN website a package of tools provided (“Oracle XML DB Ease of Use Tools for Structured Storage“) which can make your life easier regarding those xdb:annotation’s especially for those enormous big XML Schemas. This tool set which enables you to automate a lot of hints in XML Schema optimization you would like to make. Via XQuery or other XML DB update statements you are also able to override the by the database generated naming or storage options. Via some simple anonymous PL/SQL blocks this can be very easily done via for example, DBMS_ANNOTATE-x packages contained in this XML tool set, as said which is freely available on the XML DB OTN Oracle website.

Automation of xdb:annotations
Click the picture to enlarge

This tool set also comes with a white paper that shows and demonstrates some of the best XML handling ideas and experience gathered trough a lot of years handling customer use cases the Oracle XML DB Development team had. For example if you know it’s not applicable to your XML document you are able to switch off or alter DOM validation handling while storing or handling your XML document in the database. You can override ordering for example if it is applicable for your XML Schema, this avoids oracle checking it, which improves handling, but, be very aware, it can also be dangerous doing this if it was implemented by the person who created the XML Schema, but just didn’t care about the real life implement and/or it’s importance regarding being a actual mandatory requirement in practice.