Polynomial-Time Index Selection via Bi-Partite Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The index selection problem in databases is challenging due to its NP-hard nature, requiring expensive computation and maintenance, and existing solutions often rely on heuristic methods or manual index selection, which are inefficient for large-scale relational data analysis.

Innovation Solution

A polynomial-time algorithm is developed to compute a minimal set of indices using a bi-partite graph and Dilworth's Theorem, allowing for the automatic selection of indices that cover all searches, thereby reducing memory consumption and runtime by transforming queries into lexicographical orders and range queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If indices are used to accelerate primitive searches in relational algebra queries, then query execution speed is improved, but the cost of computing and maintaining indices increases

Engineering Contradiction:
Improvequery execution speedVSAvoidcost of computing and maintaining indices
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The patent transforms the index selection problem by changing the parameter representation from arbitrary index sets to lexicographical orderings of attributes. This parameter transformation enables the use of polynomial-time algorithms (based on Dilworth's Theorem and longest path computations in DAGs) to find optimal indices, rather than relying on expensive NP-hard optimization or heuristics. The lexicographical ordering parameter provides a structured search space that balances query acceleration with computational efficiency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies local quality by selecting indices specifically tailored to the requirements of each query rather than maintaining a comprehensive set of indices for all possible queries. The system analyzes the specific search patterns in the input query and computes a minimal set of lexicographical indices that are locally optimized for those particular search operations, thereby reducing the overall maintenance cost while maintaining query speed for the given workload.

Inventive Principle:
Principle #3Local quality

2Speed

If a comprehensive set of indices is maintained to cover all searches, then query performance is improved, but memory consumption increases

Engineering Contradiction:
Improvequery performanceVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential indices needed for the specific query at hand, rather than maintaining a comprehensive index set. By analyzing the query structure and applying the polynomial-time algorithm to identify the minimal sufficient subset of lexicographical indices, the system extracts precisely those indices that cover the searches in the current query, discarding unnecessary indices and thereby reducing memory consumption while maintaining query performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by computing and maintaining only the partial set of indices that is sufficient for the given query rather than a complete set for all possible queries. The system determines the minimal adequate index coverage needed for the specific search operations in the input query, performing just enough indexing to achieve query acceleration without the excessive memory overhead of a comprehensive index set.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If manual index selection is performed by the user, then index selection can be optimized for specific needs, but the complexity and time required for index management increases

Engineering Contradiction:
Improveindex selection optimizationVSAvoidtime required for index management
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements self-service by enabling the database system to automatically select optimal indices for queries without requiring manual user intervention. The polynomial-time algorithm based on lexicographical orderings and Dilworth's Theorem allows the system to autonomously analyze query patterns and compute the minimal sufficient index set, thereby maintaining reliable index selection optimization while eliminating the time cost of manual index management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies preliminary action by pre-computing the optimal index set based on the query structure before actual query execution. The system performs the polynomial-time optimization calculation in advance to determine which lexicographical indices are needed, allowing for efficient index creation and maintenance before the query runs, rather than requiring ad-hoc manual selection during query processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11734270B2Optimal index selection in polynomial time
Publication Date: 2023.08.22 ORACLE INT CORP
  • US11734270B2 patent drawing
  • US11734270B2 patent drawing
  • US11734270B2 patent drawing

AI summary

A method may use a minimal set of indices for an input query including identifying the input query including primitive searches that are accelerated using indices, and computing a minimal set of indices for the input query using a polynomial-time algorithm by constructing a bi-partite graph comprising a first and a second vertex set. The first and the second vertex set may be a set of searches in both partitions of the bi-partite graph. Each edge of the edge set may connect a vertex in the first vertex set and a vertex in the second vertex set. The method may further include identifying an edge set as a strict subset relation between at least two searches of the set of searches showing up in the first and second vertex set of the bi-partite graph, and performing relational data analysis using the minimal set of indices for input queries.