Path Signatures for Efficient XML Storage in RDBMS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database systems are inefficient in retrieving data identified by its location within an information hierarchy, particularly for large XML documents, due to high memory requirements and limitations in handling multiple object classes or join operations for hierarchical queries.
Innovation Solution
Storing path signatures in a database system and using pattern matching to select rows for XPATH queries, with the generation of hash path signatures to reduce storage space and enable quick access through indexing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If XML documents are stored as text files in a file system, then storage simplicity is maintained, but retrieval efficiency for hierarchical queries deteriorates
Solution Approach 1:
The patent segments the XML document into individual elements, each stored as a separate row in a relational table. Each row contains the element's path signature, element name, and value, allowing the hierarchical structure to be preserved through relational joins while enabling efficient database querying capabilities
Solution Approach 2:
The patent introduces path signatures as an intermediary mechanism that bridges the file system storage model and hierarchical query requirements. By storing path signatures in the database rows, the system enables efficient location and retrieval of specific XML elements without requiring the entire document to be loaded or processed
2Ease of operation
If path signatures are stored for all XML elements, then hierarchical query capability is improved, but storage space consumption increases
Solution Approach 1:
The patent creates a simplified copy of the hierarchical path information in the form of path signatures stored in database rows. Rather than storing complete path strings for every element, the path signature serves as a compact representation that enables hierarchical queries while consuming minimal storage space
Solution Approach 2:
The patent transforms the path information into a different parameter format (path signature) that is more space-efficient while retaining the essential hierarchical identification capability. The path signature encodes the hierarchical position in a condensed form that can be efficiently stored and queried
3Adaptability or versatility
If object-relational database with multiple object classes is used, then XML structure representation is improved, but system complexity and performance deterioration
Solution Approach 1:
The patent uses a single universal table structure to represent all XML elements regardless of their type or position in the hierarchy. The path signature and element name fields provide universal identification mechanisms that work for any XML element, eliminating the need for multiple specialized object classes while maintaining full XML structure representation capability
Solution Approach 2:
Instead of creating complex object classes to represent XML structure, the patent inverts the approach by using simple relational rows with path signatures to represent the hierarchy. The hierarchical structure is derived through the relational data model rather than through complex object definitions, simplifying the system while maintaining adaptability
Data Source
AI summary
Information hierarchies are efficiently stored and accessed in a relational or object-relational database system. A path signature, similar to a pathname, is stored in a database system in association with data for the node identified by the pathname. For example, a path signature identifying an element is stored in a row that holds data for the element. To retrieve data for a hierarchical query that identifies the data requested using, for example, an XPATH string, a string pattern is generated that is matched by path signatures identified by the XPATH string. Pattern matching is then used to select rows associated with matching path signatures, and data from the selected rows is used to compute the XPATH query. Furthermore, hash values representing path signatures are generated in a way that preserves the ordering of data in an information hierarchy. The hash values can be indexed to provide quick access.


