Asynchronous XML Index Maintenance via Pending Table
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The overhead associated with maintaining XML indexes during insert and update operations in database systems is significant, leading to performance degradation, especially in high-throughput and low-latency applications like OLTP, while eliminating the index would severely degrade query performance.
Innovation Solution
Implementing an asynchronous index maintenance mechanism that stores updates in a PENDING table and synchronizes the index based on specified criteria, such as time, document size, or number of affected documents, allowing for query performance benefits without incurring the full overhead of immediate index updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous index maintenance is performed during DML operations, then query performance is improved through accurate index structures, but insert/update performance deteriorates due to significant overhead
Solution Approach 1:
The patent segments index maintenance into two independent phases: (1) DML operations that modify documents without immediately updating indexes, and (2) separate index synchronization operations that rebuild indexes from the modified documents. This segmentation eliminates the overhead of synchronous index updates during DML operations while ensuring eventual index accuracy through periodic synchronization.
Solution Approach 2:
The patent performs preliminary document modifications in the DML phase without immediately performing index updates. The index synchronization is then performed as a preliminary action that rebuilds indexes from the already-modified documents, ensuring index accuracy without impacting DML performance.
2Reliability
If index maintenance is performed immediately after every DML operation, then data consistency is maintained, but system latency increases
Solution Approach 1:
The patent implements periodic index synchronization instead of immediate index maintenance after every DML operation. The index is rebuilt at scheduled intervals or when specific thresholds are met, reducing operation latency while maintaining data consistency through periodic updates.
Solution Approach 2:
The patent creates a copy of the modified documents and uses this copy to rebuild the index during synchronization operations. This copying approach allows index maintenance to proceed without blocking DML operations, reducing latency while ensuring consistency between the original documents and their index representations.
3Measurement precision
If comprehensive index updates are performed for all affected nodes, then query accuracy is improved, but processing overhead increases significantly
Solution Approach 1:
The patent performs partial index maintenance by rebuilding only the necessary portions of the index structure during synchronization operations, rather than maintaining indexes for every individual node change. This partial action approach reduces processing overhead while maintaining sufficient query accuracy through periodic complete rebuilds.
Solution Approach 2:
The patent discards outdated index entries and recovers fresh index information by rebuilding indexes from the current state of modified documents during synchronization. This discarding and recovering process eliminates the need to maintain indexes for every intermediate change, reducing processing overhead while ensuring query accuracy from the latest document state.
Data Source
AI summary
A method and apparatus for efficiently maintaining XML index structures in a database system is provided. Instead of immediately synchronizing the XML index structures for every change submitted to the database, the changes are stored in a PENDING table. The XML index structures are periodically synchronized, based on certain criteria or at a user's discretion. Between synchronizations, the XML index structures may be in stale mode or current mode. If in stale mode, a request to access indexed information will use the XML index structures to find the desired indexed information without checking the PENDING table. If in current mode, a request to access indexed information will search the XML index structures and also check the PENDING table to determine 1) whether the indexed information has been updated or deleted, and 2) whether information relevant to the request has been inserted or updated.


