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 XDBM seems like a C library which supports database Win32(DLL) 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, objectoriented 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).