XML Index Path Subsetting with Finite State Machine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database systems are not optimized for handling path-based queries on XML data, leading to slow query performance, especially when an XML schema definition is not available, and existing mechanisms like full scans or text indexes are inefficient for evaluating path-based queries.
Innovation Solution
The development of an XML index that uses a path index, value index, and order index, along with a PATH table and secondary indexes, allows for selective indexing of paths using path subsetting rules, enabling faster query execution by only indexing relevant paths and utilizing a finite state machine to determine path satisfiability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all paths in XML documents are indexed, then query coverage is improved, but index size and query execution time increase
Solution Approach 1:
The patent segments the XML document paths into two categories: frequently queried paths that are indexed, and infrequently queried paths that are not indexed. This segmentation allows the system to maintain a compact index for common queries while avoiding the performance penalty of indexing all paths, thus resolving the contradiction between query coverage and execution speed.
Solution Approach 2:
The patent applies local quality by creating different index structures for different parts of the XML document. Specifically, it indexes only certain paths (those matching the path subsetting rule) while leaving other paths unindexed. This localized indexing approach optimizes query performance for the indexed paths without incurring the overhead of indexing the entire document.
2Productivity
If path subsetting is used to reduce index size, then query execution speed improves, but the ability to handle diverse XPath queries decreases
Solution Approach 1:
The patent uses preliminary action by pre-defining path subsetting rules that identify which paths are likely to be queried. These rules are established before queries are executed, allowing the system to pre-compute and index only the relevant paths. This preliminary selection of paths to index maintains fast query execution while preserving the ability to handle diverse XPath queries that match the predefined patterns.
3Adaptability or versatility
If full scan is used to satisfy XPath queries, then all queries can be answered, but query performance becomes very slow
Solution Approach 1:
The patent applies partial action by indexing only a subset of paths (those that match the path subsetting rule) rather than all paths. This partial indexing provides sufficient coverage for most queries, eliminating the need for full scans in many cases. The system achieves a balance where indexed paths are answered quickly through the index, while non-indexed paths can still be accessed through alternative means without requiring complete full-scans of all documents.
Data Source
AI summary
A method and system are provided for determining whether a given path is an indexed path of XML documents stored in a database management system. A finite state machine is built using the path subsetting rules specified by a user. The finite state machine is traversed using the given path. If any accepting states are reached during the traversal of the finite state machine, the given path is determined to matching the path subsetting rules.


