On IBM and native XML

Abusing the natives

homeless man with sign

Comment Back in colonial days, natives were generally considered second rate. That has all changed, at least in the IT world, where all things native are generally considered to be a "good thing". However, any term that might be used to describe something worthwhile is open to abuse by marketing.

In the IT industry we use the term "native" in various ways. For example, we refer to connectivity as native if it connects to the relevant source at a low level, understanding the underlying details of the source to be accessed. As a result, it is typically the case that native connectivity to, say, the Oracle database, will perform better than using higher level standards like ODBC and JDBC.

Similarly, native connectors tend to have greater functionality. For example, the Neon DB2 connectivity products can distinguish between dynamic SQL and static SQL in DB2. While this isn't as important as was previously the case, this used to be particularly significant.

Another example of native capability, in an associated field, is connectors into ERP and similar applications. ETL (extract, transform and load) vendors that have native connectivity to SAP applications, understand the metadata used by SAP and can therefore extract meaningful segments of data in an automated (or, at least, semi-automated) fashion. However, this task is very much more difficult if you are attempting to read SAP data based on no understanding of it.

So, all this is great and I am not aware of "native" capabilities being abused in this area. However, it is being abused in the database space. Microsoft, in its presentations about SQL Server 2005, claims that the database will have a "native XML store". It justifies this by stating that it will have a "native XML datatype" and support for XML schemas, XML indexes, XQuery, SQLXML and so on – all very well and good except: what is a "native datatype" and what does the company mean by a "native XML store"? Actually, what it means by the latter is that the database has an XML datatype. Now Microsoft is by no means alone in this; there are a number of other vendors that claim to have a native XML store because they have an XML datatype, but this is a (deliberate?) misunderstanding of the terminology.

to understand this you need to appreciate that the way that a database physically stores data on disk is different from the way in which the data is logically presented. A datatype definition is, in essence, the definition of a mapping from the physical storage mechanisms used by the database to the logical representation of that data, so that it can be recognised and used automatically by standard database facilities such as the optimiser. When you define a new datatype you only create a new mapping, you do not impact the underlying storage mechanisms used by the database. Thus the fact that you have an XML datatype does not mean that the data is stored in XML format – it is still stored using whatever physical mechanisms are employed by that database.

So, let's be clear about this: IBM has announced that the next version of DB2 will have native XML storage capabilities. IBM means what it says – it really is changing the way that it physically stores data on disk. Microsoft and others that are claiming "native" XML capabilities, based on support for XML datatypes, are abusing the language. ®

© IT-Analysis.com

Related stories

IBM moves the database goalposts
Sybase invokes licence gag in flaw disclosure row
Fujitsu expected to deliver Itanium giant
Another approach to federated query
A case for software benchmarking

Sponsored: Today’s most dangerous security threats