XML Database and Oracle Solution for XML

Introduction

Since XML emerged as the future substitution of HTML on the Internet document, database companies have also tried to support XML document on their DBMS. Many traditional relational database based companies have been developing the interface between relational tables and some companies have been focused on the native XML database system instead of table-based storages.

This survey started to find out promising native XML database systems that are relatively cheap and reliable with useful interface with World Wide Web. However, it is not easy to find the database that comes to our requirements though there are many XML databases available through the Internet. Some of them seem rather a file system than a database.

Current database dominating Oracle Company suggest its solution for XML document.

XML database

XML database is a database that can manipulate an XML document within database and provide DBMS functions. However, the data format for the XML could be saved any form. XML document can be saved as an entire text form – BLOB in RDB or a file, modified form like a parsed binary form, and mapping XML document structure to the database. Some traditional relational database companies provide utilities that enable XML converting to/from relational tables. In the viewpoint of the users, the structure of the internal database is not important. They only want the fast and convenient processes of XML and actual HTML pages.

The table below shows list of some XML databases/repositories that process XML documents directly.

Name / O/S / Description
XDBM / Linux
Win32(DLL) / XDBM seems like a C library which supports database functions. It saves each XML files to an XDBM file and manages only one XML at a time. That means it cannot do any combined access on multiple XML documents at any time. It would be only useful on a single long XML document which has many elements.
TEXTML / WinNT / This Server is a back-end XML document server whose purpose is to store index and retrieve XML content. The TEXTML Server is a powerful document centric alternative to relational and object oriented databases, with unmatched performances on large volumes of XML content. TEXTML Server parses XML documents to build indices of values according to the index rules defined by the database administrator, thus eliminating the overhead associated with indexing XML content. It seems powerful XML server, but depends on Microsoft architecture. It produces through ASP.
Lore / Solaris
Linux / Lore is a declarative query language for XML, developing new technology for interactive searches over XML data, and building an efficient XML query processor.
Ozone / (Java base) / Ozone is based on open source, Java based, object-oriented database. Ozone's implementation through DOM implementation. Apache is also supported by classes, Xerces-J and Xalan-J. Ozone does not depend on any back-end database or mapping technology to actually save objects. It contains its own clustered storage and cache system to handle persistent Java objects. It’s a kind of Java tool to process XML document. It does not seem reliable.
RDFDB / Linux
(C source, Perl) / RDFDB is intended to be a simple, scalable, open-source database for RDF. (RDF: The Resource Description Framework integrates a variety of web-based metadata activities using XML as an interchange syntax.)
XML-DBMS / (Java and Perl) / XML-DBMS is middleware for transferring data between XML documents and relational databases.
Birdstep / Win32
WinCE
Epoc
Palm/OS
VxWorks
Linux / This seems promising as it supports all possible machines' operating system. Only kernels for Win32, WinCE, and Linux are available now. Birdstep will cooperate with Tamino for hand-held platform.
However, it only provides primitive user interface and basic functions currently.
Please see Kanseok’s page and presentation on detail.
dbXML / Linux
Unix
Win32 / “dbXML” core version is GNU.

Tamino

Tamino is the promising native XML Information Server. It supports not only pure XML documents but also any type of application document and traditional relational information.

Tamino provides an engine (X-Machine), Internet interface (X-Port), SQL engine, a data map, a module (X-Node) for interfacing to external data access, and a development kit.

The structure of the engine can be described as below figure.

As Tamino includes Web server, the objects of Tamino can be accessed directly through URL.

The native XML database makes itself more convenient to updating XML structure and locking the unit of XML than multiple tables in relational database.

However, Tamino is relatively expensive ($25,000) and its usage is not as frequently as other relational databases like DB2 and Oracle.

Oracle

Oracle is a typical traditional relational database company. As XML is emerging as a next generation document format, Oracle also provides several kinds of XML supports. One effort for the XML is the mapping to the XML elements to the relational tables. As the elements of XML could be thought as attributes of the table, converting XML to database tables or extracting XML elements from tables are possible through PL/SQL procedure or any other utilities. Oracle produce Jdeveloper as an integrated interface to Java with CORBA, EJB, and Java Stored Procedures leveraging Oracle's XML/XSLT components to build powerful multi-tier applications. XSU (XML-SQL Utility) is a server side Java embedded tool to transform XML document and database attributes. Though it has some bugs, it works fine for the simple XML document converting. However, those transformations are not good to the complicated XML documents that include several attributes (not columns in tables) and need to be divided into several tables. Updating XML structure may cause large amount coding in such procedures.

LOB (Large OBjects) with Oracle intermedia XML search is another solution for XML document and it is a native XML database form. The size of document is allowed up to 4 gigabytes and searching with indexing is powerful. This model would be fit to large single complicated XML document files.

New Oracle 9i includes native XML Support (XDB), which introduces new SQL type, XML Type, and it is even accessible through HTTP and JMS (Java Messaging Service).