Transaction Isolation in XML Database Management Systems

System Architecture and XML Data Processing (XDP) Interfaces

XML Transaction Coordinator (XTC) database engine (XTCserver) adheres to the widely used five-layer DBMS architecture.

The file-services layer operates on the bit pattern stored on external, non-volatile storagedevices. In collaboration with the OS file system, the i/o managers store the physicaldata into extensible container files; their uniform block length is configurable to thecharacteristics of the XML documents to be stored.A buffer manager per container filehandles fixing and unfixing of pages in main memory and provides a replacement algorithmfor them which can be optimized to the anticipated reference locality inherent inthe respective XDP applications. Using pages as basic storage units, the record, index,and catalog managers form the access services. The record manager maintains in a setof pages the tree-connected nodes of XML documents as physically adjacent records.Each record is addressed by a unique life-time ID managed within a B-tree by the index manager.This is essential to allow for fine-grained concurrency control which requireslock acquisition on unique identifiable nodes.The catalog managerprovides for the database metadata. The node manager implementing the navigationalaccess layer transforms the records from their internal physical into an externalrepresentation, thereby managing the lock acquisition to isolate the concurrent transactions.The XML-services layer contains the XML manager responsible for declarativedocument access, e. g., evaluation of XPath queries or Extensible Stylesheet Language transformations (XSLT).

The agents of the interface layer make the functionalityof the XML and node services available to common internet browsers, ftp clients, andthe XTCdriver thereby achieving declarative / set-oriented as well as navigational /node-oriented interfaces. The XTCdriver linked to client-side applications provides formethods to execute XPath-like queries and to manipulate documents via the SAX (Simple API for XML) orDOM API. Each API accesses the stored documents within a transaction to be startedby the XTCdriver. Transactions can be processed in the well-known isolation levels uncommitted,committed, repeatable, and serializable.

Tags : , , ,

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.


Leave Comment