Vector Index Covering Columns for Predicate-Filtered Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing vector processing workloads face challenges in providing fast response times and efficient resource utilization for vector similarity searches, particularly in large databases with billions of vectors, due to the need for CPU-intensive indexing and searching operations, and the inefficiency of current vector indexes in handling predicates and non-vector data.

Innovation Solution

A vector database management system (VDBMS) that utilizes vector indexes with covering columns to accelerate operations by avoiding base table joins and reducing unnecessary vector distance calculations, employing techniques like Hierarchical Navigable Small Worlds Index (HNSW) and Inverted File Index (IVF) combined with predicate filtering to optimize speed and accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional vector indexes are used for similarity search, then search speed is improved, but the ability to handle predicates and non-vector data is worsened

Engineering Contradiction:
Improvesearch speedVSAvoidability to handle predicates
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent merges vector index structures with traditional relational database index structures to create a unified index system that can handle both vector similarity search and predicate filtering. This combination allows the system to maintain fast search performance while gaining the ability to efficiently process predicates and non-vector data without requiring separate indexing mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal index structure that serves multiple functions: it performs vector similarity search, filters by predicates, and queries non-vector data all through a single index mechanism. This multi-functional approach eliminates the need for separate indexing systems and enables the index to adapt to various query types while maintaining performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If base table joins are performed during vector search, then data completeness is improved, but computing resources and response time are worsened

Engineering Contradiction:
Improvedata completenessVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the base table data with the vector index by storing covering columns (non-vector data) directly within the vector index structure. This integration allows the index to contain both vector data and associated non-vector data, eliminating the need for separate base table joins while maintaining data completeness.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent extracts necessary non-vector data (covering columns) from the base table and incorporates them into the vector index structure. By taking out only the required data and storing it within the index, the system reduces the amount of data that needs to be joined during queries, thereby reducing computing resources and response time.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If vector distance calculations are performed for all vectors, then search accuracy is improved, but CPU usage and processing time are worsened

Engineering Contradiction:
Improvesearch accuracyVSAvoidCPU usage
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary filtering by evaluating predicates and checking covering column values before computing vector distances. This preliminary action filters out vectors that cannot possibly satisfy the query conditions, reducing the number of expensive vector distance calculations that need to be performed while maintaining search accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different quality levels of filtering at different stages of the search process. By using covering columns for quick filtering and only performing full vector distance calculations for vectors that pass the preliminary filter, the system optimizes the balance between search accuracy and CPU usage by applying appropriate quality of verification locally where needed.

Inventive Principle:
Principle #3Local quality

4Reliability

If multiple joins between vector index and base table are performed, then query result completeness is improved, but device complexity and processing steps are worsened

Engineering Contradiction:
Improvequery result completenessVSAvoidprocessing steps
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple processing steps into a single unified operation by integrating covering columns within the vector index structure. This allows the system to perform filtering, grouping, and data retrieval in one operation rather than requiring multiple separate joins between the vector index and base table, thereby reducing device complexity while maintaining result completeness.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal index structure that can handle multiple query operations (similarity search, filtering, grouping) through a single processing path. This multi-functional approach eliminates the need for multiple specialized joins and processing steps, simplifying the overall device complexity while ensuring complete and accurate query results.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250284681A1Efficiently processing vector queries, with query vectors and filters, against vector indexes
Publication Date: 2025.09.11 ORACLE INT CORP
  • US20250284681A1 patent drawing
  • US20250284681A1 patent drawing
  • US20250284681A1 patent drawing

AI summary

Techniques for efficiently processing vector queries against vector indexes are provided. In one technique, a vector query that includes a query vector and a predicate on a non-vector column of a base table that stores a plurality of vectors is received. In response and while traversing a vector index that is based on the plurality of vectors, a set of candidate vectors is identified based on the query vector. For each candidate vector in the set of candidate vectors, a value associated with that candidate vector and the non-vector column is identified in the vector index, and it is determined whether the value satisfies the predicate. A strict subset, of the set of candidate vectors, is selected whose values for the non-vector column satisfy the predicate. For each candidate vector in the strict subset, a vector distance between the query vector and the candidate vector is computed.