XML Indexing & Storage System
HOME PEOPLE PAPERS XISS XISS/R DOWNLOAD LINKS
 
Introduction
Numbering
Algorithms
Data Set
Experiments
Introduction
Schemas
Architecture
Query
Data Set

This research is being sponsored by National Science Foundation CAREER Award IIS-9876037 and Research Infrastructure program EIA-0080123


XISS/R ― Relational Schemas

We investigated several key issues that can affect the storage and query performance:

bullet

How to store element and attribute nodes.

bullet

How to store tag name values.

bullet

How to store value string information for text and attribute nodes.

bullet

For different schema, what kind of index is needed.

Before answering those questions, let us first have a look at the information we need to store in the relational database and the two schemas we have chosen for demonstration. XISS requires storing up to five pieces of information for each node (i.e. element, attribute, or text) in the system:

bullet

The document to which a node belongs.

bullet

The XISS Order value which uniquely identifies a node in an XML document.

bullet

The XISS Size value, when used with Order, can quickly determine ancestor-descendant relationships.

bullet

Tag-Name of a node if it is an attribute or element.

bullet

The text value of a node if it is an attribute or text node.

In addition to this required information, we store the following information for each node to assist in loading and unloading xml documents, and in processing queries.

bullet

Depth: The depth of a node in a document tree.

bullet

Parent_ID: The Order of a node's parent if this node is not the root.

bullet

Next_ID: The Order of a node's first sibling node (closest to this node in pre-order traversal) if it exists.

bullet

Child_ID: The Order of a node's first child node (closest to this node in pre-order traversal) if any.

bullet

Attribute_ID: The Order of a node's first attribute (closest to this node in pre-order traversal) corresponding to this element node if any.

Using these 10 values we have created two relational schemas that are best suited to storing and querying XISS data and indexes. Those two schemas are named Schema A and Schema B respectively.

Schema A:

Schema B: