XML Tree Index Navigation in Relational Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for storing and querying XML data in relational databases are inefficient for hierarchical navigation, particularly when traversing ancestor links or siblings, due to the lack of support for random access and the need to construct large in-memory DOM trees, which consume significant memory and time.

Innovation Solution

The implementation of an XML tree index that stores persistent reference addresses for navigation links, allowing direct access to ancestor, sibling, and child nodes, and the use of an xmltable index with secondary indexes and function indexes to support efficient path-based queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If XML data is stored in relational databases using object relational storage or binary XML BLOB storage, then data manipulation efficiency is improved, but hierarchical navigation capability deteriorates

Engineering Contradiction:
Improvedata manipulation efficiencyVSAvoidhierarchical navigation capability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments XML data storage into two parts: (1) structured data elements stored in relational database tables with efficient manipulation capabilities, and (2) navigation links stored separately to enable hierarchical traversal. This segmentation allows both efficient data manipulation and hierarchical navigation without compromise.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces navigation links as an intermediary structure that connects XML elements stored in relational tables. These links serve as mediators between the relational storage structure and the hierarchical XML structure, enabling efficient navigation without requiring in-memory DOM construction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If in-memory DOM trees are constructed for XML navigation, then random access capability is improved, but memory consumption deteriorates

Engineering Contradiction:
Improverandom access capabilityVSAvoidmemory consumption
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts the navigation functionality from the traditional in-memory DOM approach by storing navigation links directly in the relational database. This extraction eliminates the need to load entire XML documents into memory, allowing random access to XML elements without constructing large in-memory tree structures.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The navigation links stored in the relational database serve themselves by providing direct access paths between XML elements. Instead of requiring external DOM construction for navigation, the stored links enable self-contained navigation within the database structure, reducing memory requirements while maintaining random access capability.

Inventive Principle:
Principle #25Self-service

3Device complexity

If XML documents are stored as large objects in database tables, then storage simplicity is improved, but query efficiency deteriorates

Engineering Contradiction:
Improvestorage simplicityVSAvoidquery efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments XML document storage by separating structured data elements (stored in relational table columns) from the document structure (maintained via navigation links). This segmentation enables efficient querying of specific elements without retrieving entire large objects, while maintaining simplified storage through relational table integration.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8346813B2Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments
Publication Date: 2013.01.01 ORACLE INT CORP
  • US8346813B2 patent drawing
  • US8346813B2 patent drawing
  • US8346813B2 patent drawing

AI summary

A method and apparatus is provided for efficiently searching and navigating XML data stored in a relational database. When storing a collection of XML documents, certain scalar elements may be shredded and stored in a relational table, whereas unstructured data may be stored as a CLOB or BLOB column. The approach includes identifying a reference address to within an XML tree index entry and storing the address in an xmltable index. The tree index entry allows for navigation in all axes. A path-based expression may be evaluated in the context of the reference address of the LOB. The result of the evaluation identifies another XML tree index entry containing a LOB locator used to retrieve the content from the document. The tree index, node index, and secondary function indexes are used together to enhance the performance of querying the XML data.