XML Index Path Subsetting with Finite State Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvequery coverageVSAvoidquery execution speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

2Productivity

If path subsetting is used to reduce index size, then query execution speed improves, but the ability to handle diverse XPath queries decreases

Engineering Contradiction:
Improvequery execution speedVSAvoidXPath query handling capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If full scan is used to satisfy XPath queries, then all queries can be answered, but query performance becomes very slow

Engineering Contradiction:
Improvequery satisfaction capabilityVSAvoidquery performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7493305B2Efficient queribility and manageability of an XML index with path subsetting
Publication Date: 2009.02.17 ORACLE INT CORP
  • US7493305B2 patent drawing
  • US7493305B2 patent drawing
  • US7493305B2 patent drawing

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.